@charset "UTF-8";

/*reset*/
/*-------------------------------------------------------*/
article,aside,figure,figcaption,footer,header,nav,section,main{ display: block; }
small{ font-size: inherit; line-height: inherit; }
body,p,h1,h2,h3,h4,h5,h6,dl,dt,dd,div,figure,figcaption{ margin: 0; padding: 0; font-size: 100%; line-height: 1.5; }
ul,li,ol{ list-style: none; margin: 0; padding: 0; }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
a img{ border: none; }
a{ transition: all 0.25s linear; color: #3388cb; }
a:hover{ opacity: 0.7; text-decoration: none; }
img{ vertical-align: top; max-width: 100%; height: auto; -webkit-touch-callout: none; -webkit-user-select: none; -moz-touch-callout: none; -moz-user-select: none; user-select: none; }
html,body,p,div{
	color: #383838;
	font-family: 'YakuHanMP', 'Lora', 'Noto Serif JP', serif;
	font-size: 16px; line-height: 1.7; font-weight: 500;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
.pc{ display: block; }
.sp{ display: none; }
.key-action{ display: none!important; }
@media screen and (max-width: 767.5px) {
	html,body,p,div{ font-size: 3.5vw; }
	img{ width: 100%; height: auto; }
	.pc{ display: none; }
	.sp{ display: block; }
}
html, body { height: auto; }
.iziModal-content *{ -webkit-font-smoothing: subpixel-antialiased; }
.modal-view{ width: 90%!important; max-width: 1000px!important; border-radius: 0!important; z-index: 6000!important; }
.iziModal-navigate{ z-index: 6001!important; }
.iziModal-overlay{ z-index: 5998!important; }



/*style*/
/*-------------------------------------------------------*/
.defs{ position: absolute; z-index: -9999; width: 0; height: 0; overflow: hidden; }
#wrapper{ position: relative; overflow: hidden; }
#base-bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url(../image/bg01.jpg) center 0 repeat-y; background-size: 100% auto; transition: transform 0.1s; margin-top: -20%; padding-top: 20%; }
#header{ position: absolute; left: 0; top: 0; width: 100%; z-index: 100; }
#header .logo{ position: absolute; left: 0; top: 0; margin: 40px 0 0 3.2143%; }


#main-content .main-visual{ display: flex; display: -ms-flex; flex-direction: row-reverse; position: relative; z-index: 10; }
#main-content .main-visual .photo-body{ width: 50%; height: 100vh; height: calc(var(--vh, 1vh) * 100); min-height: 758px; margin-left: auto; position: relative; }
#main-content .main-visual .photo-body .photo{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#main-content .main-visual .photo-body .photo img{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
#main-content .main-visual .txt-body{ width: 50%; display: flex; display: -ms-flex; align-items: center; justify-content: center; }
#main-content .main-visual .txt-body .inner-body{ color: #7d6633; display: inline-block; width: 90%; max-width: 494px; }
#main-content .main-visual .txt-body .head{ color: inherit; }
#main-content .main-visual .txt-body .ttl-body{ position: relative; width: 100%; padding-top: 44.9868%; margin-top: 20px; }
#main-content .main-visual .txt-body .ttl{ width: 100%; height: 100%; position: absolute; left: 0; clip-path: url(#main-ttl-path01); background-color: #ae9a67; top: 0; color: transparent; }
#main-content .main-visual .txt-body .ttl::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 200%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 10%, rgba(255,255,255,0) 20%); }
#main-content .main-visual .txt-body .ja{ font-size: 22px; color: inherit; margin-top: 20px; }
#main-content .main-intro{ position: relative; z-index: 10; margin-top: 150px; padding-bottom: 250px; }
#main-content .main-intro .photo01{ width: 287px; margin-left: 42.8571%; box-shadow: 7px 7px 7px rgba(0,0,0,0.06); }
#main-content .main-intro .split-view{ /*margin: 100px auto 0;*/ margin: 0 auto; width: 90%; max-width: 1060px; display: flex; display: -ms-flex; justify-content: space-between; align-items: flex-start; }
#main-content .main-intro .split-view .photo-body{ width: 49.0566%; box-shadow: 7px 7px 7px rgba(0,0,0,0.06); }
#main-content .main-intro .split-view .txt-body{ margin-top: 40px; }
#main-content .main-intro .split-view .txt-body .ttl{ font-size: 34px; line-height: 1.7; letter-spacing: 0.3em; font-weight: normal; }
#main-content .main-intro .split-view .txt-body .txt{ font-size: 20px; margin-top: 20px; line-height: 2; }
#main-content .main-intro .split-view .txt-body .navi{ width: 407px; margin-top: 30px; }
#main-content .main-intro .split-view .txt-body .navi+.navi{ margin-top: 0; }
#main-content .main-intro .marquee{ position: absolute; left: 0; bottom: 0; width: 100%; background: url(../image/t02.png) 0 0 repeat-x; height: 155px; background-size: auto 100%; color: transparent; margin-bottom: -20px; }
#main-content .section-type01{ position: relative; z-index: 10; }
#main-content .section-type01 .section-ttl{ font-size: 42px; line-height: 1; font-weight: normal; width: 90%; max-width: 1060px; margin: 0 auto; position: relative; color: #ae9a67; z-index: 100; }
#main-content .section-type01 .section-ttl::before{ content: ""; position: absolute; left: 0; top: -50%; width: 1px; height: 100%; transform-origin: center center; transform: translate(-0.2em,-0.2em) rotate(45deg); background-color: #ae9a67; }
#main-content .section-type01 .section-ttl .en{ font-family: 'YakuHanMP', 'Frank Ruhl Libre', 'Bentham', serif; font-size: inherit; line-height: inherit; color: inherit; }
#main-content .section-type01 .section-ttl .ja{ font-size: 35%; line-height: inherit; color: inherit; margin-left: 2em; }
#main-content .news-section{ padding: 90px 0 110px; }
#main-content .news-section .list-item{ max-width: 1060px; width: 90%; margin: 50px auto 0; position: relative; z-index: 100; }
#main-content .news-section .list-item .item{ border: solid #e1e1e1; border-width: 1px 0; padding: 25px 0; font-size: 18px; line-height: 1.7; display: flex; display: -ms-flex; }
#main-content .news-section .list-item .item:nth-child(n+2){ margin-top: -1px; }
#main-content .news-section .list-item .item .date{ width: 18.8679%; font-size: inherit; line-height: inherit; color: #ae9a67; text-align: center; }
#main-content .news-section .list-item .item .txt{ flex: 1; font-size: inherit; line-height: inherit; color: #424242; }
#main-content .news-section .wave-bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #ffffff; opacity: 0.7; }
#main-content .news-section .wave-bg::before{ content: ""; width: 100%; height: 70px; position: absolute; left: 0; clip-path: url(#news-bg-path01); background-color: #ffffff; bottom: 100%; margin-bottom: -1px; }
#main-content .news-section .wave-bg::after{ content: ""; width: 100%; height: 70px; position: absolute; left: 0; clip-path: url(#news-bg-path01); background-color: #ffffff; top: 100%; margin-top: -1px; transform: rotate(180deg); }
#main-content .service-section{ margin-top: 100px; z-index: 5; }
#main-content .service-section .intro{ padding: 110px 0 180px; position: relative; }
#main-content .service-section .intro .section-ttl{ color: #ffffff; }
#main-content .service-section .intro .section-ttl::before{ background-color: #ffffff; }
#main-content .service-section .intro .navi-list{ max-width: 1060px; width: 90%; margin: 30px auto 0; position: relative; z-index: 100; display: flex; display: -ms-flex; justify-content: space-between; }
#main-content .service-section .intro .navi-list .navi{ width: 24.717%; position: relative; }
#main-content .service-section .intro .navi-list .navi .overlay{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 20; background-color: rgba(0,0,0,0); }
#main-content .service-section .intro .navi-list .navi .photo{ position: relative; overflow: hidden; border-radius: 20px; }
#main-content .service-section .intro .navi-list .navi .photo::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #544532; opacity: 0.85; }
#main-content .service-section .intro .navi-list .navi .txt-body{ position: absolute; left: 0; top: 50%; width: 100%; text-align: center; transform: translateY(-60%); }
#main-content .service-section .intro .navi-list .navi .txt-body .num{ font-size: 14px; line-height: 1.5; color: #c0b082; font-family: 'YakuHanMP', 'Frank Ruhl Libre', 'Bentham', serif; }
#main-content .service-section .intro .navi-list .navi .txt-body .num .marker{ font-size: 207.14%; }
#main-content .service-section .intro .navi-list .navi .txt-body .txt{ font-size: 18px; line-height: 1.25; color: #ffffff; margin-top: 10px; }
#main-content .service-section .intro .navi-list .navi .txt-body .txt .s-size{ font-size: 80%; }
#main-content .service-section .intro .navi-list .navi .txt-body .arrow{ width: 23px; height: 23px; margin: 20px auto 0; background-color: #ae9a67; border-radius: 50%; position: relative; }
#main-content .service-section .intro .navi-list .navi .txt-body .arrow::before{ content: ""; position: absolute; left: 50%; top: 50%; border: solid #ffffff; border-width: 0 1px 1px 0; width: 30%; padding-top: 30%; transform: translateY(-25%) translate(-50%,-50%) rotate(45deg); }
#main-content .service-section .intro .wave-bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #ae9a67; opacity: 0.7; }
#main-content .service-section .intro .wave-bg::before{ content: ""; width: 100%; height: 130px; position: absolute; left: 0; clip-path: url(#service-bg-path01); background-color: #ae9a67; bottom: 100%; margin-bottom: -1px; }
#main-content .service-section .inner-section{ position: relative; z-index: 10; margin-top: 150px; }
#main-content .service-section .inner-section::before{ content: ""; width: 100%; /*padding-top: 10.5714%;*/ padding-top: 148px; position: absolute; left: 0; background-color: #ae9a67; top: 0; margin-top: 38.2142%; opacity: 0.7; }
#main-content .service-section .inner-section .hero{ width: 100%; padding-top: 43.1429%; position: relative; overflow: hidden; background-color: #ffffff; }
#main-content .service-section .inner-section .hero .photo{ position: absolute; left: 0; top: 0; width: 100%; }
#main-content .service-section .inner-section .hero .photo img{ width: 100%; height: auto; }
#main-content .service-section .inner-section .section-content{ max-width: 1060px; width: 90%; margin: -170px auto 0; position: relative; z-index: 100; }
#main-content .service-section .inner-section .section-content .num-box{ width: 174px; height: 202px; background-color: rgba(255,255,255,0.85); box-shadow: 7px 7px 7px rgba(0,0,0,0.1); position: relative; }
#main-content .service-section .inner-section .section-content .num-box .num{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); /*display: flex; display: -ms-flex; flex-wrap: wrap; justify-content: center;*/ color: #ae9a67; border-bottom: 1px solid #ae9a67; padding-bottom: 20px; font-family: 'YakuHanMP', 'Frank Ruhl Libre', 'Bentham', serif; }
#main-content .service-section .inner-section .section-content .num-box .num .en{ /*width: 100%;*/ display: flex; display: -ms-flex; justify-content: space-between; font-size: 12px; line-height: 1.5; }
#main-content .service-section .inner-section .section-content .num-box .num .marker{ font-size: 72px; line-height: 1; }
#main-content .service-section .inner-section .section-content .txt-body{ margin-top: 155px; }
#main-content .service-section .inner-section .section-content .txt-body .head{ font-size: 20px; line-height: 1.5; color: #ae9a67; position: relative; display: inline-block; }
#main-content .service-section .inner-section .section-content .txt-body .head::before{ content: ""; position: absolute; left: 100%; top: 50%; width: 100px; height: 1px; background-color: #ae9a67; transform: translateY(-50%); margin-left: 0.2em; }
#main-content .service-section .inner-section .section-content .txt-body .ttl{ font-size: 34px; line-height: 1.7; margin-top: 20px; letter-spacing: 0.3em; font-weight: normal; }
#main-content .service-section .inner-section .section-content .txt-body .ttl .s-size{ font-size: 60%; letter-spacing: 0; display: block; }
#main-content .service-section .inner-section .section-content .txt-body .sub-txt{ margin-top: 20px; line-height: 2; }
#main-content .service-section .inner-section .section-content .txt-body .txt{ font-size: 20px; margin-top: 20px; line-height: 2; }
#main-content .service-section .inner-section01{ margin-top: -4.8571%; }
#main-content .service-section .inner-section01::before{ clip-path: url(#service-bg-path02); }
#main-content .service-section .inner-section01 .hero{ clip-path: url(#service-photo-path01); }
/*#main-content .service-section .inner-section01 .photo01{ width: 45.28%; max-width: 480px; margin: -334px 0 0 auto; }
#main-content .service-section .inner-section01 .photo02{ width: 45.28%; max-width: 480px; margin: 20px 7.5471% 0 auto; }*/
#main-content .service-section .inner-section01 .photo01{ width: 45.28%; max-width: 480px; margin: -314px 0 0 auto; }
#main-content .service-section .inner-section02::before{ clip-path: url(#service-bg-path03); }
#main-content .service-section .inner-section02 .hero{ clip-path: url(#service-photo-path02); }
#main-content .service-section .inner-section02 .section-content .num-box{ margin-left: auto; }
#main-content .service-section .inner-section02 .section-content .txt-body{ margin-top: 115px; }
#main-content .service-section .inner-section02 .photo01{ width: 42.45%; max-width: 450px; margin: 60px 0 0 53.7735%; }
#main-content .service-section .inner-section02 .photo02{ width: 42.45%; max-width: 450px; margin: -210px 0 0 4.3396%; }
#main-content .service-section .inner-section03::before{ clip-path: url(#service-bg-path02); }
#main-content .service-section .inner-section03 .hero{ clip-path: url(#service-photo-path01); }
#main-content .service-section .inner-section03 .photo01{ width: 45.28%; max-width: 480px; margin: -314px 0 0 auto; }
#main-content .service-section .inner-section04{ border-top: 1px solid transparent; }
#main-content .service-section .inner-section04::before{ padding-top: 11.2857%; margin-top: 0; clip-path: url(#service-bg-path04); }
/*#main-content .service-section .inner-section04 .hero{ clip-path: url(#service-photo-path02); }*/
#main-content .service-section .inner-section04 .section-content{ margin-top: -5%; }
#main-content .service-section .inner-section04 .section-content .num-box{ margin-left: auto; }
#main-content .service-section .inner-section04 .section-content .txt-body{ margin-top: 115px; }
#main-content .service-section .inner-section04 .flow-list{ display: flex; display: -ms-flex; justify-content: space-between; margin-top: 55px; }
#main-content .service-section .inner-section04 .flow-list .item{ width: 30.1887%; /*height: 370px;*/ background-color: #ffffff; box-shadow: 11px 11px 11px rgba(0,0,0,0.06); border: solid #ae9a67; border-width: 1px 0; position: relative; padding: 34px 2.83% 50px; box-sizing: border-box; text-align: center; }
#main-content .service-section .inner-section04 .flow-list .item:nth-child(n+2)::before{ content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); border: solid transparent; border-width: 14px 0 14px 16px; border-left-color: #ae9a67; margin-left: -10%; }
#main-content .service-section .inner-section04 .flow-list .item .num{ color: #ae9a67; margin-top: 20px; }
#main-content .service-section .inner-section04 .flow-list .item .copy{ font-size: 20px; line-height: 1.5; margin-top: 5px; }
#main-content .service-section .inner-section04 .flow-list .item .txt{ text-align: left; margin-top: 20px; padding-top: 20px; border-top: 1px solid #ddd4be; }
#main-content .service-section .inner-section04 .flow-list .item .txt .marker{ color: #ae9a67; }
#main-content .faq-section{ margin-top: 170px; }
#main-content .faq-section .list-item{ max-width: 940px; width: 90%; margin: 40px auto 0; }
#main-content .faq-section .list-item .item{ box-shadow: 7px 7px 7px rgba(0,0,0,0.06); font-size: 16px; line-height: 1.9; background-color: #f8f6ee; }
#main-content .faq-section .list-item .item:nth-child(n+2){ margin-top: 10px; }
#main-content .faq-section .list-item .item .head{ font-size: inherit; line-height: inherit; padding: 2.4% 6.3829% 2.4% 7.4468%; background-color: #ffffff; position: relative; cursor: pointer; }
#main-content .faq-section .list-item .item .head::before{ content: "Q"; position: absolute; left: 0; top: 0; font-family: 'YakuHanMP', 'Frank Ruhl Libre', 'Bentham', serif; font-size: 187.5%; line-height: 1; color: #9b5c5c; width: 7.4468%; text-align: center; margin-top: 2.4%; transform: translateY(-5%); }
#main-content .faq-section .list-item .item .head .icon{ position: absolute; right: 0; top: 50%; width: 2.6596%; padding-top: 2.6596%; background-color: #ae9a67; transform: translateY(-50%); border-radius: 50%; margin-right: 2.1277%; }
#main-content .faq-section .list-item .item .head .icon::before,
#main-content .faq-section .list-item .item .head .icon::after{ content: ""; position: absolute; left: 50%; top: 50%; width: 1px; padding-top: 36%; background-color: #ffffff; }
#main-content .faq-section .list-item .item .head .icon::before{ transform: translate(-50%,-50%); }
#main-content .faq-section .list-item .item .head .icon::after{ transform: translate(-50%,-50%) rotate(90deg); }
#main-content .faq-section .list-item .item .txt-body{ height: 0; overflow: hidden; opacity: 0; font-size: inherit; line-height: inherit; }
#main-content .faq-section .list-item .item .txt{ font-size: inherit; line-height: inherit; padding: 2.4% 3.8297% 2.4% 7.4468%; position: relative; }
#main-content .faq-section .list-item .item .txt::before{ content: "A"; position: absolute; left: 0; top: 0; font-family: 'YakuHanMP', 'Frank Ruhl Libre', 'Bentham', serif; font-size: 187.5%; line-height: 1; color: #ae9a67; width: 7.4468%; text-align: center; margin-top: 2.4%; transform: translateY(-5%); }
#main-content .brand-section{ margin-top: 170px; }
#main-content .brand-section .map{ margin: 30px auto 0; width: 90%; max-width: 860px; }
#main-content .indent{padding-left: 1em; text-indent: -1em; font-size: 80%; margin-top: 4px; }

#footer{ margin-top: 0; position: relative; z-index: 10; /*padding-bottom: 182px;*/ }
#footer .copyright{ font-size: 12px; line-height: 1.5; text-align: center; margin-top: 150px; padding-bottom: 50px; }
#footer .bottom-navi{ margin-top: 0; position: relative; /*background-color: #ffffff;*/ width: 100%; z-index: 1000; padding: 20px 0 5px; }
/*#footer .bottom-navi::before{ content: ""; position: absolute; left: 0; bottom: 100%; width: 100%; padding-top: 1.5714%; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.07) 100%); }*/
#footer .bottom-navi .navi-list{ position: relative; display: flex; display: -ms-flex; justify-content: center; max-width: 814px; margin: 0 auto; padding-left: 15px; }
#footer .bottom-navi .navi-list .navi{ width: 407px; margin: 0 auto; }
#footer .bottom-navi .caption{ max-width: 90%; width: 800px; margin: 0 auto; text-align: left; margin-top: 4px; padding-left: 1em; text-indent: -1em; font-size: 80%; }

#terms-modal .inner-body{ padding: 50px; }
#terms-modal .ttl{ font-size: 30px; line-height: 1.7; font-weight: normal; text-align: center; }
#terms-modal .head{ font-size: 24px; line-height: 1.7; font-weight: normal; margin-top: 40px; }
#terms-modal .txt{ margin-top: 10px; }
#terms-modal .list-item{ padding-left: 2em; }
#terms-modal .navi-list{ display: flex; display: -ms-flex; justify-content: center; max-width: 620px; margin: 30px auto 0; }
#terms-modal .navi-list .btn{ width: 48.3870%; }
#terms-modal .navi-list .btn+.btn{ margin-left: 3.226%; }
#terms-modal .navi-list .pdf-btn a{ background-color: #ae9a67; padding: 15px 0; text-align: center; cursor: pointer; display: block; text-decoration: none; color: #ffffff; }
#terms-modal .navi-list .close-btn{ background-color: #dddddd; padding: 15px 0; text-align: center; cursor: pointer; }



@media screen and (max-width: 1060px) {
	#main-content .main-intro .split-view .txt-body{ margin: 0 0 0 40px; }
	#main-content .service-section .inner-section .section-content .txt-body .ttl{ letter-spacing: 0; }
	#main-content .service-section .inner-section .section-content .txt-body .ttl br,
	#main-content .service-section .inner-section .section-content .txt-body .txt br.ext01{ display: none; }
	/*#main-content .service-section .inner-section01 .photo01{ width: 42.45%; max-width: 450px; margin: 60px 0 0 53.7735%; }
	#main-content .service-section .inner-section01 .photo02{ width: 42.45%; max-width: 450px; margin: -210px 0 0 4.3396%; }*/
	#main-content .service-section .inner-section01 .photo01{ width: 42.45%; max-width: 450px; margin: 60px auto 0; }
	#main-content .service-section .inner-section02 .photo01{ width: 42.45%; max-width: 450px; margin: 60px 0 0 53.7735%; }
	#main-content .service-section .inner-section02 .photo02{ width: 42.45%; max-width: 450px; margin: -210px 0 0 4.3396%; }
	#main-content .service-section .inner-section03 .photo01{ width: 42.45%; max-width: 450px; margin: 60px auto 0; }
}
@media screen and (max-width: 767.5px) {
	#header .logo{ margin: 5.5% 0 0 5%; width: 47.125%; }
	#main-content .main-visual{ display: block; }
	#main-content .main-visual .photo-body{ width: 100%; margin-top: 17.5%; height: 0; min-height: 0; padding-top: 108.25%; }
	#main-content .main-visual .txt-body{ width: 100%; display: block; margin-top: 8.75%; }
	#main-content .main-visual .txt-body .inner-body{ width: 87.5%; max-width: none; margin: 0 auto; display: block; }
	#main-content .main-visual .txt-body .ttl-body{ margin-top: 4%; width: 90%; padding-top: 52.6777%; }
	#main-content .main-visual .txt-body .ja{ font-size: 3.5vw; margin-top: 4%; }
	#main-content .main-intro{ margin-top: 15%; padding-bottom: 36.5%; }
	#main-content .main-intro .photo01{ width: 42.8658%; margin-left: 50.5%; box-shadow: 1.75vw 1.75vw 1.75vw rgba(0,0,0,0.06); }
	#main-content .main-intro .split-view{ /*margin: 10% auto 0;*/ display: block; }
	#main-content .main-intro .split-view .photo-body{ margin-left: auto; width: 75.9722%; box-shadow: 1.75vw 1.75vw 1.75vw rgba(0,0,0,0.06); }
	#main-content .main-intro .split-view .txt-body{ margin: 21.3888% 0 0; }
	#main-content .main-intro .split-view .txt-body .ttl{ font-size: 7vw; line-height: 1.9; letter-spacing: 0.3em; font-weight: normal; }
	#main-content .main-intro .split-view .txt-body .txt{ font-size: 4vw; margin-top: 5.55%; }
	#main-content .main-intro .split-view .txt-body .navi{ width: 100%; margin-top: 5.55%; }
	#main-content .main-intro .split-view .txt-body .navi img{ width: 100%; height: auto; }
	#main-content .main-intro .marquee{ height: 24.21875vw; margin-bottom: 0; }
	#main-content .section-type01 .section-ttl{ font-size: 7.5vw; }
	#main-content .section-type01 .section-ttl .ja{ font-size: 46.66%; }
	#main-content .news-section{ padding: 32.5% 0 38.5%; }
	#main-content .news-section .list-item{ margin: 12.5% auto 0; }
	#main-content .news-section .list-item .item{ padding: 6.94% 0; font-size: 4vw; display: block; }
	#main-content .news-section .list-item .item .date{ width: 100%; text-align: left; }
	#main-content .news-section .wave-bg::before{ height: 0; padding-top: 7%; }
	#main-content .news-section .wave-bg::after{ height: 0; padding-top: 7%; }
	#main-content .service-section{ margin-top: 8%; }
	#main-content .service-section .intro{ padding: 35% 0; }
	#main-content .service-section .intro .navi-list{ margin-top: 12.5%; flex-wrap: wrap; }
	#main-content .service-section .intro .navi-list .navi{ width: 49%; position: relative; }
	#main-content .service-section .intro .navi-list .navi:nth-child(n+3){ margin-top: 2%; }
	#main-content .service-section .intro .navi-list .navi .photo{ border-radius: 5vw; }
	#main-content .service-section .intro .navi-list .navi .txt-body{ transform: translateY(-50%); }
	#main-content .service-section .intro .navi-list .navi .txt-body .num{ font-size: 2.5vw; }
	#main-content .service-section .intro .navi-list .navi .txt-body .txt{ font-size: 4vw; margin-top: 2.5%; }
	#main-content .service-section .intro .navi-list .navi .txt-body .arrow{ width: 8.67%; height: 0; padding-top: 8.67%; margin-top: 2.5%; }
	#main-content .service-section .intro .wave-bg::before{ height: 0; padding-top: 10%; }
	#main-content .service-section .inner-section{ margin-top: 50%; }
	#main-content .service-section .inner-section::before{ padding-top: 13.5425%; margin-top: 67.8686%; }
	#main-content .service-section .inner-section .hero{ padding-top: 73.2561%; }
	#main-content .service-section .inner-section .hero .photo{  position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
	#main-content .service-section .inner-section .hero .photo img{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }

	#main-content .service-section .inner-section .section-content{ margin: -12.5% auto 0; }
	#main-content .service-section .inner-section .section-content .num-box{ width: 41.66%; height: 0; padding-top: 49.44%; box-shadow: 1.75vw 1.75vw 1.75vw rgba(0,0,0,0.1); margin: 0 auto; }
	#main-content .service-section .inner-section .section-content .num-box .num{ padding-bottom: 5vw; }
	#main-content .service-section .inner-section .section-content .num-box .num .en{ font-size: 2.5vw; }
	#main-content .service-section .inner-section .section-content .num-box .num .marker{ font-size: 16.5vw; }
	#main-content .service-section .inner-section .section-content .txt-body{ margin-top: 16.66%; }
	#main-content .service-section .inner-section .section-content .txt-body .head{ font-size: 4vw; }
	#main-content .service-section .inner-section .section-content .txt-body .head::before{ display: none; }
	#main-content .service-section .inner-section .section-content .txt-body .ttl{ font-size: 7vw; line-height: 1.63; margin-top: 4.16%; letter-spacing: 0.3em; }
	#main-content .service-section .inner-section .section-content .txt-body .ttl br{ display: block; }
	#main-content .service-section .inner-section .section-content .txt-body .sub-txt{ font-size: 3.50vw; margin-top: 4.16%; }
	#main-content .service-section .inner-section .section-content .txt-body .txt{ font-size: 4vw; margin-top: 4.16%; }
	#main-content .service-section .inner-section01{ margin-top: -6%; }
	#main-content .service-section .inner-section01::before{ clip-path: url(#service-sp-bg-path02); }
	#main-content .service-section .inner-section01 .hero{ clip-path: url(#service-sp-photo-path01); }
	/*#main-content .service-section .inner-section01 .photo01{ width: 83.55%; max-width: none; margin: 13.88% auto 0 16.45%; }
	#main-content .service-section .inner-section01 .photo02{ width: 83.55%; max-width: none; margin: 8.33% 0 0 0; }*/
	#main-content .service-section .inner-section01 .photo01{ width: 83.55%; max-width: none; margin: 13.88% auto 0; }
	#main-content .service-section .inner-section02::before{ clip-path: url(#service-sp-bg-path03); }
	#main-content .service-section .inner-section02 .hero{ clip-path: url(#service-sp-photo-path02); }
	#main-content .service-section .inner-section02 .photo01{ width: 83.55%; max-width: none; margin: 13.88% auto 0 16.45%; }
	#main-content .service-section .inner-section02 .photo02{ width: 83.55%; max-width: none; margin: 8.33% 0 0 0; }
	#main-content .service-section .inner-section03::before{ clip-path: url(#service-sp-bg-path02); }
	#main-content .service-section .inner-section03 .hero{ clip-path: url(#service-sp-photo-path01); }
	#main-content .service-section .inner-section03 .photo01{ width: 83.55%; max-width: none; margin: 13.88% auto 0; }
	#main-content .service-section .inner-section04::before{ padding-top: 13.5425%; margin-top: 0; clip-path: url(#service-sp-bg-path04); }
	#main-content .service-section .inner-section04 .hero{ clip-path: url(#service-sp-photo-path02); }
	#main-content .service-section .inner-section04 .flow-list{ display: block; margin-top: 4.16%; }
	#main-content .service-section .inner-section04 .flow-list .item{ width: 100%; box-shadow: 2.75vw 2.75vw 2.75vw rgba(0,0,0,0.06); padding: 9.4444% 5% 13.8888%; }
	#main-content .service-section .inner-section04 .flow-list .item:nth-child(n+2){ margin-top: 12.5%; }
	#main-content .service-section .inner-section04 .flow-list .item:nth-child(n+2)::before{ left: 50%; top: 0; transform: translateX(-50%); border-width: 4vw 3.5vw 0 3.5vw; border-color: transparent; border-top-color: #ae9a67; margin: -9% 0 0 0; }
	#main-content .service-section .inner-section04 .flow-list .item .icon{ width: 16vw; margin: 0 auto; }
	#main-content .service-section .inner-section04 .flow-list .item .num{ margin-top: 6.17%; }
	#main-content .service-section .inner-section04 .flow-list .item .copy{ font-size: 5vw; margin-top: 1.54320%; }
	#main-content .service-section .inner-section04 .flow-list .item .txt{ margin-top: 6.17283%; padding-top: 6.17283%; }
	#main-content .faq-section{ margin-top: 56.99%; }
	#main-content .faq-section .list-item{ margin-top: 8.75%; }
	#main-content .faq-section .list-item .item{ box-shadow: 1.75vw 1.75vw 1.75vw rgba(0,0,0,0.06); font-size: 4vw; }
	#main-content .faq-section .list-item .item:nth-child(n+2){ margin-top: 2.5%; }
	#main-content .faq-section .list-item .item .head{ padding: 3.599% 9.574% 3.599% 11.170%; background-color: #ffffff; position: relative; cursor: pointer; }
	#main-content .faq-section .list-item .item .head::before{ width: 11.170%; }
	#main-content .faq-section .list-item .item .head .icon{ width: 5%; padding-top: 5%; }
	#main-content .faq-section .list-item .item .txt{ padding: 3.599% 9.574% 3.599% 11.170%; }
	#main-content .faq-section .list-item .item .txt::before{ width: 11.170%; }
	#main-content .brand-section{ margin-top: 56.99%; }
	#main-content .brand-section .map{ margin-top: 8.75%; }
	#main-content .brand-section .map-info{ width: 90%; margin: 5% auto 0; }
	#main-content .brand-section .map-info .head{ font-size: 3.5vw; line-height: 1.7; color: #5e3939; border-bottom: 1px solid #5e3939; }
	#main-content .brand-section .map-info .list-item{ display: flex; display: -ms-flex; justify-content: flex-start; flex-wrap: wrap; margin-top: 2%; }
	#main-content .brand-section .map-info .list-item .item{ width: 60%; display: flex; display: -ms-flex; justify-content: flex-start; align-items: center; }
	#main-content .brand-section .map-info .list-item .item:nth-child(n+3){ margin-top: 2%; }
	#main-content .brand-section .map-info .list-item .item:nth-child(even){ width: 40%; }
	#main-content .brand-section .map-info .list-item .item .num{ font-size: 3.5vw; line-height: 1.7; background-color: #5e3939; width: 5vw; text-align: center; color: #ffffff; margin-right: 0.1em; }
	#main-content .brand-section .map-info .list-item .item .txt{ flex: 1; font-size: 3.5vw; line-height: 1.7; color: #5e3939; }
	#main-content .brand-section .map-info .caption{ margin-top: 7%; font-size: 3vw; line-height: 1.7; color: #5e3939; }
	#footer{ margin-top: 0; /*padding-bottom: 40.5vw;*/ }
	#footer .copyright{ font-size: 2.5vw; margin-top: 15%; padding-bottom: 10%; }
	#footer .bottom-navi{ margin-top: 0; padding-top: 0; }

	#footer .bottom-navi .navi-list{ position: relative; left: 0; top: 0; transform: none; width: auto; padding: 5%; display: block; }
	#footer .bottom-navi .navi-list .navi{ width: 100%; }
	#footer .bottom-navi .navi a{ display: block; transform: translate(2%,5%);}
	#terms-modal .inner-body{ padding: 7% 5%; }
	#terms-modal .ttl{ font-size: 5vw; }
	#terms-modal .head{ font-size: 4vw; margin-top: 7%; }
	#terms-modal .txt{ font-size: 3vw; margin-top: 3%; }
	#terms-modal .list-item{ padding-left: 1em; }
	#terms-modal .list-item .item{ font-size: 3vw; }
	#terms-modal .navi-list{ margin: 5% auto 0; display: block; }
	#terms-modal .navi-list .btn{ width: 100%; }
	#terms-modal .navi-list .btn+.btn{ margin: 10px 0 0; }
}
@media screen and (max-width: 767.5px) {

}



/*animation*/
/*-------------------------------------------------------*/
#main-content .js-inview{ opacity: 0; }
#main-content .js-inview.show{ opacity: 1; transition: opacity 1.5s; }
#main-content .main-visual .photo-body{ width: 1px; opacity: 0; }
#main-content .main-visual .photo-body.show{ width: 50%; opacity: 1; transition: width 0s 3.5s, opacity 1.5s 3.5s; }
#main-content .main-visual .txt-body{ width: 100%; opacity: 0; }
#main-content .main-visual .photo-body.show~.txt-body{ width: 50%; opacity: 1; transition: width 1.5s 2s, opacity 1.5s 0s; }
#main-content .main-visual .txt-body .inner-body{ max-width: 700px; }
#main-content .main-visual .photo-body.show~.txt-body .inner-body{ max-width: 494px; transition: max-width 1.5s 2s; }
@media screen and (max-width: 767.5px) {
	#main-content .main-visual .photo-body.show{ width: 100%; transition-delay: 0s; }
	#main-content .main-visual .txt-body{ width: 100%; }
	#main-content .main-visual .photo-body.show~.txt-body{ width: 100%; transition-delay: 0s; }
	#main-content .main-visual .txt-body .inner-body{ max-width: 494px; transition-delay: 0s; }
}
#main-content .main-visual .txt-body .head,
#main-content .main-visual .txt-body .ttl,
#main-content .main-visual .txt-body .ja{ opacity: 0; }
#main-content .main-visual .txt-body .ttl::before{ animation: ttl_flash 3s infinite; }
#main-content .main-visual .photo-body.show~.txt-body .head{ opacity: 1; transition: opacity 1.5s; transition-delay: 0.5s; }
#main-content .main-visual .photo-body.show~.txt-body .ttl{ opacity: 1; transition: opacity 1.5s; transition-delay: 0.7s; }
#main-content .main-visual .photo-body.show~.txt-body .ja{ opacity: 1; transition: opacity 1.5s; transition-delay: 0.9s; }
#main-content .main-intro .marquee{ background-position: 0 0; animation: marquee_txt 10s linear infinite; }
#main-content .service-section .intro .navi-list .navi .overlay~.photo::before{ transition: opacity 0.5s; opacity: 0.85; }
#main-content .service-section .intro .navi-list .navi .overlay:hover~.photo::before{ opacity: 0; }
#main-content .faq-section .list-item .item .head{ transition: background-color 0.5s; }
#main-content .faq-section .list-item .item.active .head{ background-color: #ae9a67; color: #ffffff; }
#main-content .faq-section .list-item .item.active .head .icon{ background-color: #ffffff; }
#main-content .faq-section .list-item .item.active .head .icon::before{ display: none; }
#main-content .faq-section .list-item .item.active .head .icon::after{ background-color: #ae9a67; }
#main-content .faq-section .list-item .item.active .txt-body{ height: auto; opacity: 1; transition: opacity 0.5s; }
/*#footer .bottom-navi{ pointer-events: none; opacity: 0; transition: opacity 1s; }
#footer .bottom-navi.active{ pointer-events: auto; opacity: 1; }*/



@keyframes ttl_flash{
	0%{ transform: rotate(45deg) translateX(-100%); }
	30%{ transform: rotate(45deg) translateX(100%); }
	100%{ transform: rotate(45deg) translateX(100%); }
}
@keyframes marquee_txt{
	0%{ background-position: 0 0; }
	100%{ background-position: -1300px 0; }
}
@media screen and (max-width: 767.5px) {
	@keyframes marquee_txt{
		0%{ background-position: 0 0; }
		100%{ background-position: -203.125vw 0; }
	}
}
