@charset "utf-8";
/*******************************
/* メイン画像
*******************************/

.wrap {
	position: relative;
}
.main {
	display: block;
	height: auto !important;
}
.animetion {
	stroke-dasharray: 3000;
	stroke-dashoffset: 3000;
	animation: DASH 4s ease-in 1s forwards;
	-webkit-animation: DASH 4s ease-in 1s forwards;
}
.circle span.font {
	font-size: 2.6em;
}
.fitImg {
	position: absolute;
}
.eiji {
	font-size: 2.6em;
	font-family: din-2014, sans-serif;
	font-weight: 700;
	font-style: italic;
}
h2 .eiji {
	font-size: 2.6em;
}
.box {
	overflow: hidden;
	position: relative;
	min-height: 750px;
}
.box::before {
	background-color: rgba( 0, 0, 0, .3 );
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0px;
	width: 100%;
	z-index: 10;
}
.fitMovie {
	position: absolute;
}
.box__centered {
	left: 50%;
	position: absolute;
	top: 50%;
}
.box__contents {
	text-align: center;
	transform: translate(-50%, -50%);
	position: relative;
	z-index: 100;
}
.box__title {
	color: #fff;
	font-size: 4em;
	font-weight: bold;
}
.box__text {
	color: #fff;
	font-size: 20px;
}
.mainInner {
	width: 800px;
	margin: 0 auto;
	padding: 65px 0;
}
.flexBlock {
	display: flex;
}
h2 {
	font-size: 19px;
	font-weight: 100;
	padding: 15px 0;
}
/*----------------------------*
/*sec01*/
/*----------------------------*/

.sec01_box {
	background: url(../img/bg_sec01.png) repeat center;
	padding: 0px 0;
	position: relative;
}
.okomari {
	width: 1000px;
	margin: 0 auto 30px;
}
dl dt, dl dd {
	position: relative;
	padding-left: 45px;
	font-size: 18px;
	padding: 5px 0px 14px 55px;
	margin: 6px 59px 10px;
}
dl dt {
	font-weight: 400;
	color: #333;
}
dl dd {
	color: #666;
	font-size: 14px;
}
dl dt::before {
	content: "Q";
	position: absolute;
	background-color: #e47930;
	color: #fff;
	margin: 0;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
}
dl dd::before {
	content: "A";
	background-color: #a0a0a0;
	color: #fff;
	margin: 0;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
}
dl dd::before, dl dt::before {
	position: absolute;
	top: 0;
	left: 0;
	font-family: Raleway, sans-serif;
	font-weight: 500;
	font-size: 20px;
}
.sec01 h2, .sec02 h2, .sec03 h2, .sec04 h2, .voice h2, .blog h2 {
	font-weight: 100;
	font-size: 27px;
	text-align: center;
	padding: 0;
	margin: 0;
}
.sec01 h2::before {
	content: "";
	background: url(../img/tit_border01.png) no-repeat center;
	height: 50px;
	display: block;
}
.sec01 h2::after {
	content: "";
	background: url(../img/tit_border01.png) no-repeat center;
	height: 50px;
	display: block;
}
.entry h2::before {
	content: "";
	background: url(../img/tit_border01.png) no-repeat center;
	height: 50px;
	display: block;
}
.entry h2::after {
	content: "";
	background: url(../img/tit_border01.png) no-repeat center;
	height: 50px;
	display: block;
}
.sec01 h2 .txt, .sec02 h2 .txt, .sec03 h2 .txt, .sec04 h2 .txt, .voice h2 .txt, .blog h2 .txt, .sec05 h2 .txt, .entry h2 .txt {
	padding-bottom: 15px;
	display: block;
	font-size: 80%;
}
.sec01 .bx-wrapper, .bx-viewport, .slider {
	background: none !important;
	border: none !important;
	box-shadow : none !important;
	position: inherit !important;
}
.sec01 div.slider {
	width: 1000px;
	margin: 0 auto;
}
.sec01_inner {
	width: 700px;
	margin: 0 auto;
	color: #fff;
}
.sec01_inner ul {
	padding: 100px 0;
}
.sec01_inner ul li {
	background: url(../img/check.png) no-repeat center left;
	padding: 12px 0 16px 39px;
	font-size: 18px;
}
.bx-wrapper {
	margin: 0 auto;
}
.bx-wrapper .bx-prev:hover, .bx-wrapper .bx-prev:focus {
	background-position: 0 -32px !important;
}
.bx-wrapper .bx-next:hover, .bx-wrapper .bx-next:focus {
	background-position: -43px -32px !important;
}
.bx-wrapper .bx-prev {
	left: -40px !important;
}
.bx-wrapper .bx-next {
	right: -40px !important;
}
.sec01 .black {
	background: #000;
	color: #fff;
}
/*---------------------------
/*sec01 end
---------------------------*/


/*----------------------------*
/*sec02*/
/*----------------------------*/

.sec02 {
	background: #f8f8f8;
	padding: 0 0 60px;
}
.sec02 h2::before, .sec03 h2::before, .sec04 h2::before, .voice h2::before, .blog h2::before {
	content: "";
	background: url(../img/tit_border02.png) no-repeat center;
	height: 50px;
	display: block;
}
.sec02 h2::after, .sec03 h2::after, .sec04 h2::after, .voice h2::after, .blog h2::after {
	content: "";
	background: url(../img/tit_border02.png) no-repeat center;
	height: 50px;
	display: block;
}
.sec05 h2::before {
	content: "";
	background: url(../img/tit_border03.png) no-repeat center;
	height: 50px;
	display: block;
}
.sec05 h2::after {
	content: "";
	background: url(../img/tit_border03.png) no-repeat center;
	height: 50px;
	display: block;
}
.sec02 .innerBlock {
	width: 1000px;
	margin: 0 auto;
}
.sec02 ul {
	display: flex;
	margin-top: 30px;
}
.sec02 ul li {
	width: 25%;
	background: #fff;
	position: relative;
	padding: 15px;
	border-radius: 5px;
	margin-right: 22px;
}
.sec02 ul li:last-child {
	margin-right: 0;
}
.sec02 .title {
	position: absolute;
	left: -15px;
	top: 0px;
}
.sec02 .oBg {
	padding: 20px 30px;
	text-align: center;
}
.sec02 h3 {
	padding: 10px 0;
	font-size: 17px;
	font-weight: 500;
}
/*---------------------------
/*sec02 end
---------------------------*/



/*******************************
/*コンテンツ
*******************************/
.icon {
	position: relative;
	background: #f9f9f9;
}
.icon h2 {
	position: absolute;
	width: 100%;
	z-index: 2;
}
.icon ul, .work ul {
	margin: 40px auto;
	width: 1000px;
	display: flex;
}
.icon ul li:nth-child(2) {
	background: #fff;
}
.icon ul li {
	text-align: center;
	vertical-align: middle;
	padding: 130px 15px 45px 15px;
	width: 33.3%;
	height: 100%;
	font-size: 90%;
}
.icon ul li strong {
	color: #e66c00;
	font-size: 125%;
	display: block;
	margin-bottom: 7px;
}
.icon ul li span {
	border-radius: 50%;
	display: block;
	text-align: center;
	vertical-align: middle;
}
.icon ul li span img {
	width: 75%;
}
.icon ul li:last-child {
	margin-right: 0;
}
.icon ul li img {
	width: 100%;
}
/*---------------------------
/*プラン
---------------------------*/

.plan {
	background: linear-gradient(135deg, #f8f6f6 25%, transparent 25%) -50px 0, linear-gradient(225deg, #f8f6f6 25%, transparent 25%) -50px 0, linear-gradient(315deg, #f8f6f6 25%, transparent 25%), linear-gradient(45deg, #f8f6f6 25%, transparent 25%);
	background-size: 100px 100px;
	background-color: #fff;
	padding: 0px 0 100px;
}
.plan ul {
	display: flex;
	width: 1000px;
	margin: 40px auto;
}
.plan ul li {
	margin-right: 10px;
	width: 33%;
}
.voice ul {
	width: 900px;
	margin: 60px auto;
}
.voice ul li {
	padding: 10px;
}
.voice ul h3 {
	font-size: 125%;
	font-weight: 400;
	margin-bottom: 10px;
}
.voice a:link, .voice a:visited {
	color: #e47930;
	text-decoration: underline;
}
.voice ul p {
	font-size: 105%;
}
.sec03 ul li {
	background: #fff;
	padding: 45px 20px;
	border-radius: 10px;
	width: 32%;
	margin: 1.5%;
	text-align: center;
}
.sec03 h3 {
	font-size: 113%;
	margin-bottom: 15px;
	font-weight: bold;
}
.sec03 ul li .txt {
	margin: 20px 0 0;
	line-height: 1.7;
}
/*---------------------------
/*実績
---------------------------*/

.work {
	position: relative;
	padding: 0px 0 50px;
	background: #f8f6f6;
}
.blog {
	position: relative;
	padding: 0px 0 80px;
	background: #f8f6f6;
}
.work div {
	text-align: center;
}
.work div span.small {
	display: block;
	line-height: 1.4;
	font-size: 80%;
}
.work div span.orenge {
	border: 1px solid #e47930;
	color: #e47930;
	font-size: 81%;
	padding: 1px 12px;
	border-radius: 50px;
	margin-top: 10px;
	line-height: 3;
}
.bgicon {
	background: url(../img/bg_icon.png) left no-repeat;
}
.sec05 {
	/*background: url(../img/sec05_bg.png) no-repeat right #d7e7e9;*/
	background: #d7e7e9;
	min-height: 300px;
	padding: 0px 20% 90px;
	background-position: 78% 50%;
}
.sec05 h2 {
	color: #355155;
	padding: 10px 0;
	font-size: 27px;
	margin: 20px 0;
	text-align: center;
}
.sec05 .inner {
	line-height: 2;
	font-size: 15px;
	width: 800px;
	margin: 0 auto;
}
/*---------------------------
/*ブログ
---------------------------*/
.blog h2 {
	margin-bottom: 45px;
}
.blog ul {
	display: flex;
	width: 1000px;
	margin: 20px auto;
}
.blog ul li {
	width: 32%;
	margin-right: 2%;
	overflow: hidden;
}
.blog ul li span a {
	display: block;
	padding: 10px 15px;
	background: #efefef;
	font-size: 90%;
	width: 285px;
}
.blog ul li span a:hover {
	background: #333;
	color: #fff !important;
}
.blog ul li:last-child {
	margin-right: 0;
}
.blog ul li img {
	width: 100%;
	width: auto;
	height: auto;
	top: 50%;
	left: 55%;
	min-height: 100%;
	min-width: 100%;
	max-width: 150%;
	display: block;
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.blog ul li img:hover {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity: 0.6;	/* 小さくするほど暗くなります */
}
.blog ul li a.img {
	overflow: hidden;
	width: 100%;
	height: 185px;
	display: block;
	transition-duration: 0.3s;
	background: #000;
}
 @supports ( object-fit: cover ) {
 .blog ul li img {
 position: static;
 height: 100%;
 width: 100%;
 left: 0;
 -o-object-fit: cover;
 object-fit: cover;
 top: 0;
 -ms-transform: none;
 -moz-transform: none;
 -webkit-transform: none;
 transform: none;
}
}
/*---------------------------
/*問い合わせ
---------------------------*/
.contact {
	background: url(../img/bg_contact.png) no-repeat;
	background-size: cover;
	min-height: 350px;
	padding: 40px 20%;
}
.contact .bgwhite {
	background-color: rgba(255,255,255,0.8);
	padding: 40px;
	font-size: 110%;
	width: 650px;
	margin: 0 auto;
	line-height: 1.9;
}
/*ポップアップ表示*/


.popupModal1 > input { /* ラジオボックス非表示 */
	display: none;
}
.popupModal1 > input:nth-child(1) + label {
	cursor: pointer;
}
.modalPopup2 { /* 初期設定 ポップアップ非表示 */
	display: none;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {/* ラジオ１ チェックでポップアップ表示 */
	display: block;
	z-index: 998;
	position: fixed;
	width: 90%;
	height: 80%;
	left: 50%;
	top: 50%;
	margin-top: 30px;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background: #fff;
	padding: 10px 20px;
	overflow: hidden;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div {/* */
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	display: inline-block;
	width: 100%;
	height: 100%;
	padding: 10px;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > iframe {
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > img {/* ポップアップの中の要素 */
	max-width: 100%;
}
.popupModal1 > input:nth-child(1) + label ~ label {
	display: none;/* ラジオ１ 以外のラベルを初期は非表示 */
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.70);
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 997;
	text-indent: -999999px;
	overflow: hidden;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
	background: rgba(255, 255, 255, 0.5);
	display: inline-block;
	position: fixed;
	left: 10px;
	top: 35px;
	z-index: 999;
	width: 25pt;
	height: 25pt;
	font-size: 22px;
	border-radius: 50%;
	line-height: 25pt;
	text-align: center;
	box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2);
}
.popupModal1 > input:nth-child(1) + label + input:nth-child(3):checked + label + input:nth-child(5) + label + .modalPopup2, .popupModal1 > input:nth-child(1) + label + input:nth-child(3) + label + input:nth-child(5):checked + label + .modalPopup2 { /* ラジオ２と３ どっちかチェックでポップアップ非表示 */
	display: none;
}
.modalPopup2 {
	animation: fadeIn 1s ease 0s 1 normal;
	-webkit-animation: fadeIn 1s ease 0s 1 normal;
}
 @keyframes fadeIn {
 0% {
opacity: 0
}
 100% {
opacity: 1
}
}
 @-webkit-keyframes fadeIn {
 0% {
opacity: 0
}
 100% {
opacity: 1
}
}
.popupModal1 .modalTitle {
	padding-bottom: .5em;
	margin: .5em 0;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
	font-size: 120%;
}
.popupModal1 .modalMain {
	color: #222;
	text-align: left;
	font-size: 14px;
	line-height: 1.8em;
}
/*ポップアップ表示 end*/

.ityped-cursor {
	font-size: 2.2rem;
	opacity: 1;
	-webkit-animation: blink 0.3s infinite;
	-moz-animation: blink 0.3s infinite;
	animation: blink 0.3s infinite;
	animation-direction: alternate;
}
 @keyframes blink {
 100% {
 opacity: 0;
}
}
 @-webkit-keyframes blink {
 100% {
 opacity: 0;
}
}
 @-moz-keyframes blink {
 100% {
 opacity: 0;
}
}
.entry {
	background: url(../img/contact_bg.png) no-repeat;
	padding: 0 0 50px;
	background-size: cover;
}
.entry h2 {
	font-weight: 100;
	font-size: 27px;
	color: #fff;
	text-align: center;
	padding: 0px 0 30px;
}
.entry .inner {
	text-align: center;
}
.entry .btn {
	width: 390px;
	margin: 30px auto;
}
 @media all and (min-width: 768px) and (max-width: 1100px) {
.sec02 .innerBlock {
	width: 100% !important;
}
.bx-controls {
	display: none;
}
.main {
	background-position: 25% 50%;
}
.sec01 div div.whiteBlock, .sec02 ul li {
	font-size: 90%;
}
.box--type2 {
	font-size: 75%;
}
.plan h3 {
	font-size: 16px;
}
.plan p {
	margin: 15px 0;
}
.sec02 ul, .plan ul, .work ul, .voice ul, .blog ul, footer .foonterinner {
	width: 90%;
	margin: 0 auto;
}
.work ul.bxslider {
	margin: 35px auto;
}
.sec05 {
	padding: 35px 3%;
}
}
