@charset 'utf-8';

/* reset
------------------------------------------------ */
body,div,pre,p,a,img,form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,table,th,td,embed,object,
figure,figcaption {
	margin: 0;
	padding: 0;
}
html { height: 100%; font-size: 62.5%; }
body {
	width: 100%;
	height: 100%;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Serif JP', serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #59574E;
}

ul,ol { list-style: none; }
img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top; }
a:link { text-decoration: none; color: #59574E; }
a:visited { text-decoration: none; color: #59574E; }
a:hover { text-decoration: none; }

/* clearfix
------------------------------------------------ */
.clearfix {
	clear: both;
	*zoom: 1;
}
.clearfix:before,.clearfix:after {
	content: ' ';
	display: table;
}
.clearfix:after { clear: both; }

.pc { display: block !important; }
.sp { display: none !important; }

@media screen and (max-width: 768px) {

	.pc { display: none !important; }
	.sp { display: block !important; }

}

/* container
------------------------------------------------ */
#container {
	position: relative;
	padding-top: 210px;
}
	
	@media screen and (max-width: 768px) {
		#container { padding-top: 130px; }
	}


	.l-hover:after { content: ''; display: block; width: 100%; height: 1px; transition: 0.4s all ease; background: #59574E; -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-transition-duration: .8s; transition-duration: .8s; -webkit-transition-delay: 0; transition-delay: 0; -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -webkit-transform: translate3d(0, 0, 0) scale(0, 1); transform: translate3d(0, 0, 0) scale(0, 1); -webkit-transform-origin: right center; transform-origin: right center; will-change: transform; }
	.l-hover:hover:after { -webkit-transform-origin: left center; transform-origin: left center; -webkit-transform: translate3d(0, 0, 0) scale(1, 1); transform: translate3d(0, 0, 0) scale(1, 1); }
	
  	/* arrow */
	.icr { display: block; position: relative; }
	.icr-r { display: block; position: relative; width: 17px; height: 6px; }
	.icr-r:before { content: ''; display: block; position: absolute; background: #59574E; }
	.icr-r:after { content: ''; display: block; position: absolute; -webkit-box-sizing: border-box; box-sizing: border-box; }
	.icr-r:after { top: .3px; right: 0; border-top: transparent solid 4px; border-bottom: transparent solid 4px; border-left: #59574E solid 4px; height: 6px; border-top-width: 3px; border-bottom-width: 3px; border-left-width: 4px; }
	.icr-r:before { top: 2.5px; left: -1px; width: 16px; height: 1.2px; }

	.icl { display: block; position: relative; }
	.icl-l { display: block; position: relative; width: 14px; height: 14px; }
	.icl-l:before { content: ''; display: block; position: absolute; width: 100%; height: 100%; background: url(../img/share/icon-links.png) no-repeat; background-size: 100%; }

	.btn-maps { font-size: 16px; font-size: 1.6rem; line-height: 1.6; font-weight: bold; max-width: 153px; text-align: center; }
	.btn-maps a { position: relative; display: block; padding: 10px 0 11px; border: 1px solid #ccc; transition: linear .4s; -webkit-border-radius: 50px; border-radius: 50px; }
	.btn-maps a:before { content: ''; width: 11.56px; height: 17.02px; display: inline-block; vertical-align: -3px; margin-right: 6px; background: url(../img/share/marker-b.png) no-repeat; background-size: 100%; transition: linear .4s; }
	.btn-maps a:hover { color: #fff; background: #59574E; }
	.btn-maps a:hover:before { background: url(../img/share/marker-w.png) no-repeat; background-size: 100%; }

	/* btn more */
	.btn-more { max-width: 300px; width: 100%; }
	.btn-more li { font-size: 15px; font-size: 1.5rem; line-height: 1.6; font-weight: bold; display: block; }
	.btn-more li:not(:last-child) { margin-bottom: 20px; }
	.btn-more li a { position: relative; display: block; padding: .8em 20px; border: 1px solid #ccc; transition: linear .4s; -webkit-border-radius: 50px; border-radius: 50px; }
	.btn-more li a .icr { position: absolute; right: 20px; top: calc( 50% - 3px ); }
	.btn-more li a .icr-r:before,
	.btn-more li a .icr-r:after,
	.btn-more li a .icl-l:before { transition: linear .4s; }
	.btn-more li a .icl { position: absolute; right: 20px; top: calc( 50% - 7px ); }
	.btn-more li a:hover { color: #fff; background: #59574E; }
	.btn-more li a:hover .icr-r:before { background: #fff; }
	.btn-more li a:hover .icr-r:after { border-left-color: #fff; }
	.btn-more li a:hover .icl-l:before { background: url(../img/share/icon-links-w.png) no-repeat; background-size: 100%; }

		@media screen and (max-width: 1024px) {
			.btn-more li { font-size: 1.36vw; }
		}
		@media screen and (max-width: 768px) {
			.btn-more li { font-size: 15px; font-size: 1.5rem; }
		}

	/* btn circle arrow */
	.icon-arw { display: inline-block; position: relative; margin-left: 0.5rem; font-size: 0; line-height: 0; vertical-align: middle; }
	.icon-arw .arw { display: block; position: relative; -webkit-transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; }
	.icon-arw .arw:before { content: ''; display: block; position: absolute; background: #fff; }
	.icon-arw .arw:after { -webkit-box-sizing: border-box; box-sizing: border-box; content: ''; display: block; position: absolute; }
	.icon-arw .arw--r { width: 15px; height: 11px; }
	.icon-arw .arw--r:after { top: 3px; right: 0; height: 7px; border-top: transparent solid 4px; border-bottom: transparent solid 4px; border-left: #fff solid 4px; height: 5px; border-top-width: 3px; border-bottom-width: 3px; border-left-width: 4px; }
	.icon-arw .arw--r:before { top: 5.5px; left: -3px; width: 15px; height: 1.2px; }

	.c-arw-btn { display: block; width: 8rem; height: 8rem; margin: 0; padding: 0; border: none; border-radius: 50%; background: none; }
	.c-arw-btn .icon-arw { display: block; position: absolute; top: calc(50% - 0.5rem); left: calc(50% - 0.8rem); margin-left: 0; text-indent: 0; }
	.c-arw-btn .icon-arw .arw { -webkit-transition: none; transition: none; }
	.c-arw-btn__inner { -webkit-transition: -webkit-transform .5s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; transition: -webkit-transform .5s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; transition: transform .5s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; transition: transform .5s cubic-bezier(0.075, 0.82, 0.165, 1) 0s, -webkit-transform .5s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; display: block; display: block; overflow: hidden; text-indent: -5260px; position: relative; width: 100%; height: 100%; border-radius: 50%; }
	.c-arw-btn__inner:before { content: ''; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; position: absolute; top: 1.5px; right: 1.5px; bottom: 1.5px; left: 1.5px; border-radius: 50%; border: #ededed solid 1px; }

	.c-arw-btn .circle { -webkit-animation: c-arw-btn-circle 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; animation: c-arw-btn-circle 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); position: absolute; top: 0; right: 0; bottom: 0; left: 0; stroke: #fff; stroke-width: 1px; stroke-dasharray: 200px 200px; stroke-dashoffset: 200px; fill: none; }
	.c-arw-btn:hover .circle { -webkit-animation: c-arw-btn-circle-ov 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0s forwards; animation: c-arw-btn-circle-ov 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0s forwards; }
	.c-arw-btn:hover .icon-arw .arw { -webkit-transform: scale(1); transform: scale(1); -webkit-animation: c-arw-btn-arw 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; animation: c-arw-btn-arw 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; }

		@media screen and (max-width: 768px) {
			.c-arw-btn { width: 5rem; height: 5rem; }
			.c-arw-btn .icon-arw { -webkit-transform: scale(.7); transform: scale(.7); }
		}

	/* === general action fade === */
	.lazy--fadeIn { -webkit-transition-property: opacity; transition-property: opacity; -webkit-transition-duration: 1s; transition-duration: 1s; -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1); transition-timing-function: cubic-bezier(.215, .61, .355, 1); -webkit-transition-delay: 0s; transition-delay: 0s; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); opacity: 0;  }
	.lazy--fadeUp { -webkit-transition-property: all; transition-property: all; -webkit-transition-duration: 1s; transition-duration: 1s; -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1); transition-timing-function: cubic-bezier(.215, .61, .355, 1); -webkit-transition-delay: 0s; transition-delay: 0s; -webkit-transform: translate3d(0,50px,0) scale(1.0); transform: translate3d(0,50px,0) scale(1.0); opacity: 0; }
	.lazy--fadeLeft { -webkit-transition-property: all; transition-property: all; -webkit-transition-duration: 1s; transition-duration: 1s; -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1); transition-timing-function: cubic-bezier(.215, .61, .355, 1); -webkit-transition-delay: 0s; transition-delay: 0s; -webkit-transform: translate3d(-40px,0,0) scale(1.0); transform: translate3d(-40px,0,0) scale(1.0); opacity: 0; }

    /* === general action fade lazy-load === */
    .lazy--item--end.lazy--fadeIn { -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); opacity: 1; }
    .lazy--item--end.lazy--fadeUp { -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); opacity: 1; }
    .lazy--item--end.lazy--fadeLeft { -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); opacity: 1; }

    .wrap { position: relative; max-width: 1200px; padding: 0 25px; margin: 0 auto; }
    .title-01 { font-size: 30px; font-size: 3rem; line-height: 1.3; font-weight: bold; margin-bottom: 60px; text-align: center; }

		@media screen and (max-width: 768px) {
			.title-01 { font-size: 19px; font-size: 1.9rem; margin-bottom: 35px; }
		}

	.linksTo { padding: 50px 0; margin-bottom: 100px; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
	.linksTo__block { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; margin-top: -20px; }
	.linksTo__block__lists { font-size: 16px; font-size: 1.6rem; line-height: 2; font-weight: bold; display: inline-block; margin: 0 45px; margin-top: 20px; }
	.linksTo__block__lists a { display: inline-block; }
	.linksTo__block__lists .icr { display: block; margin: 0 auto; width: 17px; height: 6px; transform: rotate(90deg); }
	.linksTo__block__lists .icr-r { -webkit-transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; }
	.linksTo__block__lists .icr:before { -webkit-transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; -webkit-transform: scale(0); transform: scale(0); content: ''; display: block; position: absolute; top: calc(50% - 3.75px); left: calc(50% - 5.5px); width: 7.5px; height: 7.5px; border-radius: 50%; background: #59574E; }
	.linksTo__block__lists .icr-r:after { top: 0; }
	.linksTo__block__lists .ol-txt { position: relative; display: block; overflow: hidden; height: 2em; margin-bottom: .75em; }
	.linksTo__block__lists .ol-txt span { display: block; transition: linear .15s; }

	.linksTo__block__lists a:hover .icr-r { -webkit-transform: scale(0); transform: scale(0); }
	.linksTo__block__lists a:hover .icr:before { -webkit-transform: scale(1); transform: scale(1); }
	.linksTo__block__lists a:hover .ol-txt span:first-child { margin-top: -2em; }

		@media screen and (max-width: 768px) {

			.linksTo { padding: 23px 25px 25px; margin: 0 -25px; margin-bottom: 56px; }
			.linksTo__block { margin-top: -17px; }
			.linksTo__block__lists { font-size: 14px; font-size: 1.4rem; margin: 0 25px; margin-top: 17px; }
			.linksTo__block__lists .icr { display: block; margin: 12px auto 0; width: 15px; height: 11px; transform: rotate(90deg); }
			.linksTo__block__lists .icr-r { -webkit-transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; }
			.linksTo__block__lists .icr:before { -webkit-transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; -webkit-transform: scale(0); transform: scale(0); content: ''; display: block; position: absolute; top: calc(50% - 3.75px); left: calc(50% - 5.5px); width: 7.5px; height: 7.5px; border-radius: 50%; background: #59574E; }

		}

	/* link line hover */
	.c-linelink { display: inline-block; color: #2b2e38; line-height: 1.5; text-decoration: none }
	.c-linelink__txt { will-change: background-size; background: url(../img/share/line.png) no-repeat left bottom; background-size: 100% 1px }
	.c-linelink__txt.white { background-image: url(../img/share/line-white.png) }

	body.ie11 .c-linelink__txt { background: none !important; text-decoration: underline }
	body.device_pc .c-linelink:hover .c-linelink__txt,
	body.device_pc a:hover .c-linelink .c-linelink__txt { -webkit-animation: linelink 1s cubic-bezier(0.43, 0.05, 0.17, 1) 0s; animation: linelink 1s cubic-bezier(0.43, 0.05, 0.17, 1) 0s }
	body.ie11.device_pc .c-linelink:hover .c-linelink__txt,
	body.ie11.device_pc a:hover .c-linelink .c-linelink__txt { -webkit-animation: none; animation: none; text-decoration: none }

	.c-linelink--hidden .c-linelink__txt { -webkit-transition: background-size .5s cubic-bezier(0.43, 0.05, 0.17, 1) 0s; transition: background-size .5s cubic-bezier(0.43, 0.05, 0.17, 1) 0s; background-position: right bottom; background-size: 0 1px }

	body.ie11 .c-linelink--hidden .c-linelink__txt { text-decoration: none }
	body.device_pc .c-linelink--hidden:hover .c-linelink__txt,
	body.device_pc a:hover .c-linelink--hidden .c-linelink__txt { -webkit-animation: none; animation: none; background-position: left bottom; background-size: 100% 1px }
	body.ie11.device_pc .c-linelink--hidden:hover .c-linelink__txt,
	body.ie11.device_pc a:hover .c-linelink--hidden .c-linelink__txt { -webkit-transition: none; transition: none; text-decoration: underline }

	/*hover line under the text*/
	@-webkit-keyframes linelink { 0% { background-position: right bottom; background-size: 100% 1px } 50% { background-position: right bottom; background-size: 0 1px } 51% { background-position: left bottom; background-size: 0 1px } 100% { background-position: left bottom; background-size: 100% 1px } }
	@keyframes linelink { 0% { background-position: right bottom; background-size: 100% 1px } 50% { background-position: right bottom; background-size: 0 1px } 51% { background-position: left bottom; background-size: 0 1px } 100% { background-position: left bottom; background-size: 100% 1px } }

	@-webkit-keyframes c-arw-btn-circle{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg);stroke-dashoffset:0}100%{-webkit-transform:rotate(270deg);transform:rotate(270deg);stroke-dashoffset:-200px}}
	@keyframes c-arw-btn-circle{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg);stroke-dashoffset:0}100%{-webkit-transform:rotate(270deg);transform:rotate(270deg);stroke-dashoffset:-200px}}
	@-webkit-keyframes c-arw-btn-circle-ov{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);stroke-dashoffset:200px}100%{-webkit-transform:rotate(90deg);transform:rotate(90deg);stroke-dashoffset:0}}
	@keyframes c-arw-btn-circle-ov{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);stroke-dashoffset:200px}100%{-webkit-transform:rotate(90deg);transform:rotate(90deg);stroke-dashoffset:0}}
	@-webkit-keyframes c-arw-btn-arw{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}50%{-webkit-transform:translateX(50%);transform:translateX(50%);opacity:0}50.1%{-webkit-transform:translateX(-50%);transform:translateX(-50%);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}
	@keyframes c-arw-btn-arw{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}50%{-webkit-transform:translateX(50%);transform:translateX(50%);opacity:0}50.1%{-webkit-transform:translateX(-50%);transform:translateX(-50%);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}
	@-webkit-keyframes c-arw-btn-arw-back{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}50%{-webkit-transform:translateX(-50%);transform:translateX(-50%);opacity:0}50.1%{-webkit-transform:translateX(50%);transform:translateX(50%);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}
	@keyframes c-arw-btn-arw-back{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}50%{-webkit-transform:translateX(-50%);transform:translateX(-50%);opacity:0}50.1%{-webkit-transform:translateX(50%);transform:translateX(50%);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}

	@-ms-keyframes c-arw-btn-circle{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg);stroke-dashoffset:0}100%{-webkit-transform:rotate(270deg);transform:rotate(270deg);stroke-dashoffset:-200px}}
	@keyframes c-arw-btn-circle{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg);stroke-dashoffset:0}100%{-webkit-transform:rotate(270deg);transform:rotate(270deg);stroke-dashoffset:-200px}}
	@-ms-keyframes c-arw-btn-circle-ov{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);stroke-dashoffset:200px}100%{-webkit-transform:rotate(90deg);transform:rotate(90deg);stroke-dashoffset:0}}
	@keyframes c-arw-btn-circle-ov{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);stroke-dashoffset:200px}100%{-webkit-transform:rotate(90deg);transform:rotate(90deg);stroke-dashoffset:0}}
	@-ms-keyframes c-arw-btn-arw{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}50%{-webkit-transform:translateX(50%);transform:translateX(50%);opacity:0}50.1%{-webkit-transform:translateX(-50%);transform:translateX(-50%);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}
	@keyframes c-arw-btn-arw{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}50%{-webkit-transform:translateX(50%);transform:translateX(50%);opacity:0}50.1%{-webkit-transform:translateX(-50%);transform:translateX(-50%);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}
	@-ms-keyframes c-arw-btn-arw-back{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}50%{-webkit-transform:translateX(-50%);transform:translateX(-50%);opacity:0}50.1%{-webkit-transform:translateX(50%);transform:translateX(50%);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}
	@keyframes c-arw-btn-arw-back{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}50%{-webkit-transform:translateX(-50%);transform:translateX(-50%);opacity:0}50.1%{-webkit-transform:translateX(50%);transform:translateX(50%);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}


/* header
------------------------------------------------ */
#header {
	position: fixed;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 210px;
	z-index: 999;
	transition: all 0.5s ease-out;
}
	#header .wrap { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; }

	#head_logo { position: relative; width: 100px; margin-top: 45px; transition: all 0.5s ease-out; z-index: 2; }
	#menu { position: relative; display: flex; flex-wrap: wrap; align-items: center; margin-top: 45px; transition: all 0.5s ease-out; z-index: 2; }
	.menu--text { font-family:"minion-pro-caption"; font-size: 15px; font-size: 1.5rem; letter-spacing: .12em; margin-right: 10px; }
	.menu__btn { position: relative; display: block; width: 90px; height: 90px; border: 1px solid #ccc;  -webkit-transition: all .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: all .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; -webkit-border-radius: 50%; border-radius: 50%; box-sizing: -webkit-border-box; box-sizing: border-box;background: #FFF; }
	.menu__btn:before { content: ''; display: block; position: absolute; top: calc(50% - 45px); left: calc(50% - 45px); z-index: 0; width: 90px; height: 90px; border-radius: 50%; background: #59574E; opacity: 0; -webkit-transition: all .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: all .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; -webkit-transition-property: opacity, -webkit-transform; transition-property: opacity, -webkit-transform; transition-property: transform, opacity; transition-property: transform, opacity, -webkit-transform; -webkit-transform: scale(0.75); transform: scale(0.75); }
	.menu__btn__span { display: block; width: 6px; height: 6px; position: absolute; background: #59574E; -webkit-transition: all .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: all .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; -webkit-border-radius: 50%; border-radius: 50%; }
	.menu__btn__span-01 { left: calc( 50% - 11px ); top: calc( 50% - 11px ); }
	.menu__btn__span-02 { right: calc( 50% - 11px ); top: calc( 50% - 11px ); }
	.menu__btn__span-03 { left: calc( 50% - 11px ); bottom: calc( 50% - 11px ); }
	.menu__btn__span-04 { right: calc( 50% - 11px ); bottom: calc( 50% - 11px ); }

		.menu__btn:hover:before { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
		.menu__btn:hover .menu__btn__span { background: #fff; }
		.menu__btn:hover .menu__btn__span-01 { left: calc( 50% - 3px ); top: calc( 50% - 3px ); }
		.menu__btn:hover .menu__btn__span-02 { right: calc( 50% - 3px ); top: calc( 50% - 3px ); }
		.menu__btn:hover .menu__btn__span-03 { left: calc( 50% - 3px ); bottom: calc( 50% - 3px ); }
		.menu__btn:hover .menu__btn__span-04 { right: calc( 50% - 3px ); bottom: calc( 50% - 3px ); }

		@media screen and (max-width: 1024px) {
			/*#header { height: 164px; }*/
			#head_logo { width: 78px; margin-top: 58px; }
			#menu { margin-top: 58px; }
			.menu--text { font-size: 12px; font-size: 1.2rem; margin-right: 8px; }
			.menu__btn { width: 70px; height: 70px; }
			.menu__btn:before { top: calc(50% - 35px); left: calc(50% - 35px); z-index: 0; width: 70px; height: 70px; }
		}

		@media screen and (max-width: 768px) {

			#header { height: 130px; }
			#header .wrap { padding: 0 15px; }
			#head_logo { position: relative; width: 75px; margin-top: 20px; }
			#menu { display: block; margin-top: 20px; z-index: 2; }
			.menu--text { display: none }
			.menu__btn { width: 56px; height: 56px; }
			.menu__btn:before { content: none }
			.menu__btn__span { width: 4px; height: 4px; }
			.menu__btn__span-01 { left: calc( 50% - 7px ); top: calc( 50% - 7px ); }
			.menu__btn__span-02 { right: calc( 50% - 7px ); top: calc( 50% - 7px ); }
			.menu__btn__span-03 { left: calc( 50% - 7px ); bottom: calc( 50% - 7px ); }
			.menu__btn__span-04 { right: calc( 50% - 7px ); bottom: calc( 50% - 7px ); }

				.menu__btn:hover .menu__btn__span { background: #59574E; }
				.menu__btn:hover .menu__btn__span-01 { left: calc( 50% - 7px ); top: calc( 50% - 7px ); }
				.menu__btn:hover .menu__btn__span-02 { right: calc( 50% - 7px ); top: calc( 50% - 7px ); }
				.menu__btn:hover .menu__btn__span-03 { left: calc( 50% - 7px ); bottom: calc( 50% - 7px ); }
				.menu__btn:hover .menu__btn__span-04 { right: calc( 50% - 7px ); bottom: calc( 50% - 7px ); }
		}

	#head_nav { position: fixed; top: 0; left: 0; width: 100%; opacity: 0; padding: 210px 25px 0; min-height: 100vh; visibility: hidden; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; transition: opacity .6s cubic-bezier(.25,.1,.25,1),left 0s cubic-bezier(.25,.1,.25,1) .6s; z-index: 100; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-overflow-scrolling: touch; overflow: auto; margin-top: 0; z-index: 1; }
	.head_nav__frame { display: flex; flex-direction: column; justify-content: space-between; height: -webkit-calc(100vh - 210px); height: calc(100vh - 210px); margin: 0 auto; align-items: center; }
	.head_nav__frame--break { min-height: 300px; height: calc( 100vh - 420px ); display: flex; flex-direction: column; justify-content: center; max-width: 1200px; width: 100%; margin: 0 auto; }
	.head_nav__links { font-size: 30px; font-size: 3rem; font-weight: bold; line-height: 1.2; display: flex; flex-wrap: wrap; margin-right: -4em; margin-top: -3.2666667em; }
	.head_nav__links--items { display: inline-block; margin-right: 3.9em; margin-top: 3.2666667em; }
	.head_nav__links--items a { display: block; position: relative; }
	.head_nav__links--items a:hover .l-hover:after { -webkit-transform-origin: left center; transform-origin: left center; -webkit-transform: translate3d(0, 0, 0) scale(1, 1); transform: translate3d(0, 0, 0) scale(1, 1); }
	.head_nav__links--items .li-En { font-family:"minion-pro-caption"; font-size: 15px; font-size: 1.5rem; font-weight: bold; letter-spacing: .2em; line-height: 1.2; color: #ccc; margin-bottom: 2em; }
	.head_nav__links--items .li-Jp { display: inline-block; }
	.head_nav__links--items .li-Jp span { display: inline-block; opacity: 0; transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0.1, 0, 19.2, 0, 0, 1); transition: linear .2s; }

		@media screen and (max-width: 1250px) {

			.head_nav__links { font-size: 2.2vw; }
			.head_nav__links--items .li-En { font-size: 1.2vw; }
			.head_nav__links--items .li-Jp {  }
		}

		@media screen and (max-width: 768px) {

			#head_nav { padding: 145px 30px 0; }
			.head_nav__frame { justify-content: flex-start; height: -webkit-calc(100vh - 130px); height: calc(100vh - 130px); }
			.head_nav__frame--break { min-height: auto; height: auto; margin-bottom: 25px; }
			.head_nav__links { font-size: 17px; font-size: 1.7rem; display: block; margin-right: 0; margin-top: 0; }
			.head_nav__links--items { display: block; margin-right: 0; margin-top: 30px; }
			.head_nav__links--items:first-child { margin-top: 0; }
			.head_nav__links--items a { display: block; position: relative; padding-top: 0;  }
			.head_nav__links--items a .l-hover:after { content: none; }
			.head_nav__links--items .li-En { font-size: 12px; font-size: 1.2rem; margin-bottom: 0; }

		}

	.head_nav__info { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; max-width: 1200px; width: 100%; min-height: 210px; -webkit-box-sizing: border-box; box-sizing: border-box; }
	.head_nav__info--btn { max-width: 480px; }
	.head_nav__info--btn li { font-size: 22px; font-size: 2.2rem; }
	.head_nav__info--btn li a { padding: 21px 50px; }
	.head_nav__info--btn .icr-r { width: 28px; height: 10px; }
	.head_nav__info--btn .icr-r:after { top: 0; right: 0; border-top: transparent solid 4px; border-bottom: transparent solid 4px; border-left: #59574E solid 4px; height: 10px; border-top-width: 5px; border-bottom-width: 5px; border-left-width: 7px; }
	.head_nav__info--btn .icr-r:before { top: 4px; left: 0; width: 22px; height: 1.2px; }
	.head_nav__info__sns { display: flex; flex-wrap: wrap; align-items: center; }
	.head_nav__info__sns dt { font-family:"minion-pro-caption"; font-size: 19px; font-size: 1.9rem; font-weight: bold; letter-spacing: .14em; }
	.head_nav__info__sns dd { position: relative; margin-left: 24px; padding-left: 15px; }
	.head_nav__info__sns dd:before { content: ''; display:  inline-block; width: 1px; height: 26px; position: absolute; left: 0; top: calc( 50% - 13px ); background: #ccc; }
	.head_nav__info__sns--lists { display: flex; flex-wrap: wrap; align-items: center; }
	.head_nav__info__sns--lists li { max-width: 23px; }
	.head_nav__info__sns--lists li:not(:last-child) { margin-right: 15px; }
	.head_nav__info__sns--lists li a { display: block; transition: linear .4s; }
	.head_nav__info__sns--lists li a:hover { opacity: .4; }

		@media screen and (max-width: 1024px) {

			.head_nav__info--btn { max-width: 375px; }
			.head_nav__info--btn li { font-size: 18px; font-size: 1.8rem; }
			.head_nav__info--btn li a { padding: 17px 50px; }
			.head_nav__info--btn .icr-r { width: 15px; height: 11px; }
			.head_nav__info--btn .icr-r:after { top: 3px; right: 0; height: 7px; border-top: transparent solid 4px; border-bottom: transparent solid 4px; border-left: #59574E solid 4px; height: 5px; border-top-width: 3px; border-bottom-width: 3px; border-left-width: 4px; }
			.head_nav__info--btn .icr-r:before { top: 5.5px; left: -3px; width: 15px; height: 1.2px; }
			.head_nav__info__sns dt { font-size: 15px; font-size: 1.5rem; }
			.head_nav__info__sns dd { margin-left: 18px; padding-left: 12px; }
			.head_nav__info__sns dd:before { height: 22px; top: calc( 50% - 11px ); }
			.head_nav__info__sns--lists li { max-width: 18px; }
			.head_nav__info__sns--lists li:not(:last-child) { margin-right: 12px; }
		}

		@media screen and (max-width: 768px) {

			.head_nav__info { flex-direction: column; justify-content: center; align-items: center; min-height: 180px; }
			.head_nav__info--btn { max-width: 345px; margin-bottom: 25px; }
			.head_nav__info--btn li { font-size: 17px; font-size: 1.7rem; }
			.head_nav__info--btn li a { padding: 10px 30px 11px; }
			.head_nav__info__sns dt { font-size: 17px; font-size: 1.7rem; }
			.head_nav__info__sns dd:before { height: 26px; top: calc( 50% - 13px ); }
			.head_nav__info__sns--lists li { max-width: 23px; }
			.head_nav__info__sns--lists li:not(:last-child) { margin-right: 15px; }

		}

	/* menuon */
	body.menuon { overflow: hidden; }
	.menuon #head_nav { background: #fff; left: 0; top: 0; opacity: 1; visibility: initial; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; transition: opacity .6s cubic-bezier(.25,.1,.25,1); }
	.menuon .head_nav__links--items .li-Jp span { display: inline-block; opacity: 1; transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 1); }
	.menuon .menu__btn__span { display: block; width: 10px; height: 3px; position: absolute; background: #59574E; -webkit-transition: all .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition: all .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; -webkit-border-radius: 8px; border-radius: 8px; }
	.menuon .menu__btn__span-01 { left: calc( 50% - 11px ); top: calc( 50% - 7.5px ); transform: rotate( 45deg); }
	.menuon .menu__btn__span-02 { right: calc( 50% - 11px ); top: calc( 50% - 7.5px ); transform: rotate( 135deg); }
	.menuon .menu__btn__span-03 { left: calc( 50% - 11px ); bottom: calc( 50% - 7.5px ); transform: rotate( 135deg); }
	.menuon .menu__btn__span-04 { right: calc( 50% - 11px ); bottom: calc( 50% - 7.5px ); transform: rotate( 45deg); }
	.menuon .menu__btn:hover .menu__btn__span { width: 6px; height: 6px; -webkit-border-radius: 50%; border-radius: 50%; }

		@media screen and (max-width: 768px) {

			.menuon .menu__btn__span { width: 8px; height: 3px; }
			.menuon .menu__btn:hover .menu__btn__span-01,
			.menuon .menu__btn__span-01 { left: calc( 50% - 9px ); top: calc( 50% - 6.5px ); transform: rotate( 45deg); }
			.menuon .menu__btn:hover .menu__btn__span-02,
			.menuon .menu__btn__span-02 { right: calc( 50% - 9px ); top: calc( 50% - 6.5px ); transform: rotate( 135deg); }
			.menuon .menu__btn:hover .menu__btn__span-03,
			.menuon .menu__btn__span-03 { left: calc( 50% - 9px ); bottom: calc( 50% - 6.5px ); transform: rotate( 135deg); }
			.menuon .menu__btn:hover .menu__btn__span-04,
			.menuon .menu__btn__span-04 { right: calc( 50% - 9px ); bottom: calc( 50% - 6.5px ); transform: rotate( 45deg); }
			.menuon .menu__btn:hover .menu__btn__span { width: 8px; height: 3px; -webkit-border-radius: 8px; border-radius: 8px; }


		}

	/* on scroll */
	#header.on { height: 150px; }
	#header.on #head_logo { margin-top: 15px; }
	#header.on #menu { margin-top: 30px; }

		@media screen and (max-width: 768px) {
			#header.on { height: 130px; }
			#header.on #head_logo { margin-top: 20px; }
			#header.on #menu { margin-top: 20px; }
		}

/* main
------------------------------------------------ */
#main {
	position: relative;
	display: block;
	width: 100%;
}
	
	/* section page head */
	.pageHead { position: relative; padding-top: 70px; padding-bottom: 540px; margin-bottom: 150px; }
	.pageHead:after { content: ''; display: block; width: 100%; height: 540px; position: absolute; bottom: 0; left: 0; background: url(../img/template/banner.jpg) no-repeat center; background-size: cover; z-index: -1; }
	.pageHead__title { position: relative; text-align: right; }
	.pageHead__title--En { display: flex; flex-direction: row-reverse; font-size: 110px; font-size: 11rem; line-height: 1; margin-bottom: -0.05em; background-blend-mode: multiply; mix-blend-mode: multiply; }
	.pageHead__title--En span { display: inline-block; opacity: 0; transition: linear .5s; -webkit-transition-duration: 1s; transition-duration: 1s; }
	.pageHead__title--Jp { font-size: 40px; font-size: 4rem; font-weight: bold; letter-spacing: .35em; line-height: 1.2; margin-right: -.35em; position: absolute; top: 0; right: 0; display: flex; flex-direction: column; justify-content: center; z-index: 1; }
	.pageHead__title--Jp span { display: inline-block; opacity: 0; transition: linear .4s; }

		.pageHead__title.lazy--item--end .pageHead__title--Jp span { animation: headJpmove 1s linear forwards; -moz-animation: headJpmove 1s linear forwards; -webkit-animation: headJpmove 1s linear forwards; -ms-animation: headJpmove 1s linear forwards; -o-animation: headJpmove 1s linear forwards; }
		.pageHead__title.lazy--item--end .pageHead__title--En span {  -webkit-transition-duration: 1s; transition-duration: 1s; transition: linear .75s; animation: headEnmove .75s linear forwards; -moz-animation: headEnmove .75s linear forwards; -webkit-animation: headEnmove .75s linear forwards; -ms-animation: headEnmove .75s linear forwards; -o-animation: headEnmove .75s linear forwards; }

		@media screen and (max-width: 768px) {

			.pageHead { padding-top: 0; padding-bottom: 220px; margin-bottom: 60px; }
			.pageHead:after { height: 220px; background: url(../img/template/banner_sp.jpg) no-repeat center; background-size: cover; }
			.pageHead__title { position: relative; text-align: right; }
			.pageHead__title--En { font-size: 29px; font-size: 2.9rem;  }
			.pageHead__title--Jp { font-size: 24px; font-size: 2.4rem; position: relative; top: auto; right: auto; }

		}

	@keyframes headJpmove { 0% { opacity: 0; -webkit-transform: translate3d(-1em,0,0) scale(1.0); transform: translate3d(-1em,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } }
	@-moz-keyframes headJpmove { 0% { opacity: 0; -webkit-transform: translate3d(-1em,0,0) scale(1.0); transform: translate3d(-1em,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } }
	@-webkit-keyframes headJpmove { 0% { opacity: 0; -webkit-transform: translate3d(-1em,0,0) scale(1.0); transform: translate3d(-1em,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } }
	@-ms-keyframes headJpmove { 0% { opacity: 0; -webkit-transform: translate3d(-1em,0,0) scale(1.0); transform: translate3d(-1em,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } }
	@-o-keyframes headJpmove { 0% { opacity: 0; -webkit-transform: translate3d(-1em,0,0) scale(1.0); transform: translate3d(-1em,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } 100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1.0); transform: translate3d(0,0,0) scale(1.0); } }

	@keyframes headEnmove { 0% { opacity: 0; color: #235C1C; } 100% { opacity: 1; color: #F4F4F4; } }
	@-moz-keyframes headEnmove { 0% { opacity: 0; color: #235C1C; } 100% { opacity: 1; color: #F4F4F4; } }
	@-webkit-keyframes headEnmove { 0% { opacity: 0; color: #235C1C; } 100% { opacity: 1; color: #F4F4F4; } }
	@-ms-keyframes headEnmove { 0% { opacity: 0; color: #235C1C; } 100% { opacity: 1; color: #F4F4F4; } }
	@-o-keyframes headEnmove { 0% { opacity: 0; color: #235C1C; } 100% { opacity: 1; color: #F4F4F4; } }


	/* section links */
	.links { position: relative; width: 100%; height: 540px; color: #fff; }
	.links a { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; color: #fff; }
	.links a:before { content: ''; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: #2B3A3F; opacity: .7;mix-blend-mode: multiply; transition: linear .4s; }
	.links a:hover:before { opacity: .45; }
	.links a:hover .c-arw-btn .circle { -webkit-animation: c-arw-btn-circle-ov 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0s forwards; animation: c-arw-btn-circle-ov 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0s forwards; }
	.links a:hover .c-arw-btn .icon-arw .arw { -webkit-transform: scale(1); transform: scale(1); -webkit-animation: c-arw-btn-arw 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; animation: c-arw-btn-arw 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; }
	.links .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; }
	.links__btn {  }
	.links__desc { width: calc( 100% - 80px ); }
	.links__desc dt { font-size: 15px; font-size: 1.5rem; font-weight: bold; margin-bottom: 1.6em; }
	.links__desc dd { font-size: 30px; font-size: 3rem; font-weight: bold; letter-spacing: .35em; line-height: 1.3; }

		@media screen and (max-width: 768px) {
			.links { height: 220px; }
			.links__desc { width: calc( 100% - 50px ); }
			.links__desc dt { font-size: 13px; font-size: 1.3rem; margin-bottom: .8em; }
			.links__desc dd { font-size: 19px; font-size: 1.9rem; }
		}

	#links-kuwacha { background: url(../img/top/link-kuwacha.jpg) no-repeat center; background-size: cover; }
	#links-yaokai { background: url(../img/top/link-yaokai.jpg) no-repeat center; background-size: cover; }
	#links-yao { background: url(../img/top/link-yao.jpg) no-repeat center; background-size: cover; }
	#links-community { background: url(../img/top/link-community.jpg) no-repeat center; background-size: cover; }
	#links-what { background: url(../img/top/link-what.jpg) no-repeat center; background-size: cover; }
		
		@media screen and (max-width: 768px) {
			#links-kuwacha { background: url(../img/top/link-kuwacha_sp.jpg) no-repeat center; background-size: cover; }
			#links-yaokai { background: url(../img/top/link-yaokai_sp.jpg) no-repeat center; background-size: cover; }
			#links-yao { background: url(../img/top/link-yao_sp.jpg) no-repeat center; background-size: cover; }
			#links-community { background: url(../img/top/link-community_sp.jpg) no-repeat center; background-size: cover; }
			#links-what { background: url(../img/top/link-what_sp.jpg) no-repeat center; background-size: cover; }
		}

	/* === section about === */
	.about { padding: 80px 0 140px; }
	.about__block {  }
	.about__block__lists { display: flex; flex-wrap: wrap; }
	.about__block__lists:not(:last-child) { margin-bottom: 150px; }
	.about__block__lists--pic { width: 57.5%; display: block; overflow: hidden; -webkit-border-radius: 20px; border-radius: 20px; }
	.about__block__lists--pic img { width: 100%; height: 450px; object-position: center; object-fit: cover; display: block; overflow: hidden; }
	.about__block__lists__desc { width: 42.5%; padding-left: 5%; -webkit-box-sizing: border-box; box-sizing: border-box; }
	.about__block__lists__desc--break { display: block; max-width: 420px; }
	.about__block__lists__desc--title { font-size: 24px; font-size: 2.4rem; font-weight: 500; line-height: 1.5; margin-bottom: 1.02em; }
	.about__block__lists__desc--cmn { font-size: 16px; font-size: 1.6rem; line-height: 1.8; }
	.about__block__lists__desc--btn { margin-top: 50px; }

		@media screen and (max-width: 768px) {
			.about { padding: 50px 0 80px; }
			.about__block__lists { flex-direction: column-reverse; }
			.about__block__lists:not(:last-child) { margin-bottom: 80px; }
			.about__block__lists--pic { width: 100%; margin-top: 40px; }
			.about__block__lists--pic img { height: 410px; }
			.about__block__lists__desc { width: 100%; padding-left: 0; }
			.about__block__lists__desc--title { font-size: 19px; font-size: 1.9rem; line-height: 1.3; }
			.about__block__lists__desc--cmn { font-size: 15px; font-size: 1.5rem; }
			.about__block__lists__desc--btn { max-width: 325px; margin-top: 30px; }

		}

		@media screen and (max-width: 414px) {
			.about__block__lists--pic img { height: 205px; }
		}

/* footer
------------------------------------------------ */
#footer {
	position: relative;
	display: block;
	width: 100%;
	background: #fff;
	border-top: 1px solid #ccc;
}

.ft-contact { padding: 90px 0 80px; }
.ft-contact .wrap { display: flex; flex-wrap: wrap; }
.ft-contact--logo { width: 135px; }
.ft-contact__info { display: flex; flex-wrap: wrap; width: calc( 100% - 135px ); padding-left: 5.8%; -webkit-box-sizing: border-box; box-sizing: border-box; }
.ft-contact__info__links { display: flex; flex-wrap: wrap; width: calc( 69.8% - 20px ); margin-right: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; }
.ft-contact__info__links--lists { display: flex; flex-wrap: wrap; margin-top: -18px; }
.ft-contact__info__links--lists li { font-size: 15px; font-size: 1.5rem; font-weight: bold; padding-right: 15px; margin-top: 18px; -webkit-box-sizing: border-box; box-sizing: border-box; }
.ft-contact__info__links--lists li a { display: inline-block; }
.ft-contact__info__links--address { display: flex; flex-wrap: wrap; margin-top: 35px; }
.ft-contact__info__links--address dt  { width: 212px; padding-top: .5em; }
.ft-contact__info__links--address dt img { width: 100%; }
.ft-contact__info__links--address dd { font-size: 13px; font-size: 1.3rem; line-height: 1.8; width: calc( 100% - 227px ); margin-left: 15px; }
.ft-contact__info__links--address dd span,
.ft-contact__info__links--address dd a { display: inline-block; }
.ft-contact__info__links--address dd a.la-maps { margin: 0 10px; }
.ft-contact__info__links--address dd a.la-maps:after { content: ''; width: 11.56px; height: 17.02px; display: inline-block; vertical-align: -5px; margin-left: 6px; background: url(../img/share/marker-b.png) no-repeat; background-size: 100%; }
.ft-contact__info__links--address dd a.la-maps span { display: inline-block; }
.ft-contact__info__links--address dd a.la-maps span:after { -webkit-transform-origin: left center; transform-origin: left center; -webkit-transform: translate3d(0, 0, 0) scale(1, 1); transform: translate3d(0, 0, 0) scale(1, 1); }
.ft-contact__info__links--address dd a.la-maps span:hover:after { -webkit-transform-origin: right center; transform-origin: right center; -webkit-transform: translate3d(0, 0, 0) scale(0, 1); transform: translate3d(0, 0, 0) scale(0, 1); }
.ft-contact__info--btn { width: 30.2%; }

	@media screen and (max-width: 1024px) {
		.ft-contact--logo { width: 105px; }
		.ft-contact__info { width: calc( 100% - 105px ); padding-left: 4.5%; }
		.ft-contact__info__links--lists li { font-size: 1.36vw; }
		.ft-contact__info__links--address dt  { width: 41.2%; }
		.ft-contact__info__links--address dd { font-size: 1.26vw;width: calc( 58.8% - 15px ); }
		.ft-contact__info__links--address dd a.la-maps:after { content: ''; width: 11.56px; height: 17.02px; display: inline-block; vertical-align: -5px; margin-left: 6px; background: url(../img/share/marker-b.png) no-repeat; background-size: 100%; }
		.ft-contact__info__links--address dd a.la-maps span { display: inline-block; }
		.ft-contact__info__links--address dd a.la-maps span:after { -webkit-transform-origin: left center; transform-origin: left center; -webkit-transform: translate3d(0, 0, 0) scale(1, 1); transform: translate3d(0, 0, 0) scale(1, 1); }
		.ft-contact__info__links--address dd a.la-maps span:hover:after { -webkit-transform-origin: right center; transform-origin: right center; -webkit-transform: translate3d(0, 0, 0) scale(0, 1); transform: translate3d(0, 0, 0) scale(0, 1); }
		.ft-contact__info--btn li { font-size: 1.36vw; }
	}

	@media screen and (max-width: 768px) {

		.ft-contact { padding: 50px 0; }
		.ft-contact .wrap { display: block; }
		.ft-contact--logo { width: 100px; margin: 0 auto 30px; }
		.ft-contact__info { display: block; width: 100%; padding-left: 0; }
		.ft-contact__info__links { display: block; width: 100%; margin-right: 0; }
		.ft-contact__info__links--lists { display: block; margin-top: 0; }
		.ft-contact__info__links--lists li { font-size: 15px; font-size: 1.5rem; font-weight: bold; width: 100% !important; padding-right: 0; margin-top: 30px; text-align: center; }
		.ft-contact__info__links--lists li:first-child { margin-top: 0; }
		.ft-contact__info__links--address { display: block; margin-top: 200px; }
		.ft-contact__info__links--address dt  { width: 212px; display: block; padding-top: 0; margin: 0 auto 15px }
		.ft-contact__info__links--address dd { font-size: 13px; font-size: 1.3rem; line-height: 2; width: 100%; margin-left: 0; text-align: center; }
		.ft-contact__info__links--address dd span,
		.ft-contact__info__links--address dd a { display:block; }
		.ft-contact__info__links--address dd span a { display: inline-block; }
		.ft-contact__info--btn { width: 100%; position: absolute; bottom: 150px; left: 50%; transform: translate(-50%, 0); }
		.ft-contact__info--btn li { font-size: 15px; font-size: 1.5rem; }

	}


.ft-bottom { position: relative; padding: 13px 0; border-top: 1px solid #ccc; }
.ft-bottom .wrap { display: flex; justify-content: space-between; align-items: center; }
.ft-bottom--copy { font-family:"minion-pro-caption"; font-size: 15px; font-size: 1.5rem; letter-spacing: .1em; }
.ft-bottom__sns { display: flex; flex-wrap: wrap; align-items: center; }
.ft-bottom__sns dt { font-family:"minion-pro-caption"; font-size: 14px; font-size: 1.4rem; letter-spacing: .14em; }
.ft-bottom__sns dd { position: relative; margin-left: 15px; padding-left: 10px; }
.ft-bottom__sns dd:before { content: ''; display:  inline-block; width: 1px; height: 18px; position: absolute; left: 0; top: calc( 50% - 9px ); background: #ccc; }
.ft-bottom__sns--lists { display: flex; flex-wrap: wrap; align-items: center; }
.ft-bottom__sns--lists li { max-width: 16px; }
.ft-bottom__sns--lists li:not(:last-child) { margin-right: 12px; }
.ft-bottom__sns--lists li a { display: block; transition: linear .4s; }
.ft-bottom__sns--lists li a:hover { opacity: .4; }

	@media screen and (max-width: 1024px) {
		.ft-bottom--copy { font-size: 1.36vw; }
	}

	@media screen and (max-width: 768px) {

		.ft-bottom { padding: 13px 0; border-top: 1px solid #ccc; }
		.ft-bottom .wrap { display: flex; flex-direction: column-reverse; justify-content: center; align-items: center; }
		.ft-bottom--copy { font-size: 10px; font-size: 1rem; margin-top: 12px; }
		.ft-bottom__sns dd { position: relative; margin-left: 15px; padding-left: 18px; }
		.ft-bottom__sns--lists li:not(:last-child) { margin-right: 20px; }

	}

#pagetop { display: none; position: fixed; bottom: 20px; right: 20px; width: 50px; height: 50px; overflow: hidden; z-index: 5; transition: linear .3s; }
#pagetop a { display: block; transition: linear .4s; }
#pagetop a:hover { opacity: .6; }
#pagetop.on { position: absolute; right: 20px; bottom: auto; top: -70px; }

	@media screen and (max-width: 768px) {
		#pagetop { bottom: 10px; right: 10px; }
		#pagetop a { opacity: 1 !important; }
		#pagetop.on { position: absolute; right: 10px; bottom: auto; top: -60px; }
	}


