@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');
@import url("default.css");

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#222222;}
a:visited{text-decoration:none; color:#222222;}
a:hover{text-decoration:none; color:#222222;}
a:active{text-decoration:none; color:#222222;}

.grecaptcha-badge { opacity: 0; pointer-events: none; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1170px; padding-left: 30px; padding-right: 30px; }
.container-fluid .container-fluid { padding-left: 0; padding-right: 0; }

body { min-width: 1200px; font-size: 14px; line-height: 1.75; color: #222222; background-color: #cfc1b6; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 500; }
header { position: absolute; left: 0; top: 30px; width: 100%; min-width: 1200px; z-index: 100; padding: 0 30px; transition: .3s; text-align: center; }
header .logo img { height: 80px; }
header .wrap { display: flex; align-items: center; justify-content: center; }
header .gnav ul { display: flex; align-items: center; }
header .gnav ul li { padding: 0 20px; position: relative; }
header .gnav ul li:before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; margin: auto 0; width: 1px; height: 15px; background: #383838; }
header .gnav ul li:last-child:before { display: none; }
header .gnav ul a { padding: 30px 0; display: block; position: relative; transition: .3s; }
header .gnav ul a:before { content: ""; transition: .3s; height: 5px; background: #0079CE; position: absolute; bottom: 0; left: 0; width: 0; }
header .gnav ul a:hover:before { width: 100%; }
header .menu-trg-area { position: fixed; top: 10px; right: 15px; margin: auto; display: none; width: 40px; height: 40px; background: #007acf; border-radius: 3px; cursor: pointer;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 13px; width: 17px; height: 13px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #fff;}
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 6px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -14px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -14px;}
footer { padding: 170px 0 100px; background: #1f2221; }
footer .wrapper { display: flex; justify-content: space-between; }
footer .logo { font-size: 12px; letter-spacing: .03em; font-weight: 300; }
footer .logo a { color: #fff; }
footer .sns { display: flex; }
footer .sns li { margin-left: 20px; }
hr { border-top: 1px solid #ae9d8f; margin-top: 30px; margin-bottom: 30px; margin-top: 150px; }
.en { font-family: "Poppins", sans-serif; font-weight: 600; font-style: normal;}
.underline { text-decoration: underline!important; text-underline-offset: 5px; }
.fv { position: relative; }
.fv-slider .bg { height: 100vh; min-height: 600px; }
.fv .scroll { position: absolute; right: 5%; bottom: 5%; font-size: 13px; letter-spacing: .02em; font-weight: 400; color: #fff; }
.about .contents { padding: 200px 0; }
.about .title { font-size: 30px; font-weight: 600; line-height: 1.7; }
.about .detail { color: #222222; line-height: 2.125; }
.about-slider { overflow: visible; }
.about-slider * { overflow: visible; }
.about-slider .slick-track { display: flex; }
.about-slider .slick-slide { height: auto; display: flex; align-items: flex-end; padding: 0 30px; }
.about-slider .bg { padding-top: 100%; }
.about-slider .num3 > div { }
.sec-title { font-size: 24px; letter-spacing: 0; margin-bottom: 75px; }
.dark-card { background: #c3b1a4; height: 100%; text-align: center; padding: 50px 30px; }
.dark-card .title { letter-spacing: 0; margin-bottom: 50px; color: #6a533f; }
.dark-card .subtitle { font-size: 20px; margin-bottom: 20px; font-weight: 600; }
.dark-card .subtitle span { font-size: 15px; font-weight: 600; }
.dark-card .subtitle small { font-size: 11px; font-weight: 600; }
.dark-card p { color: #222222; }
.dark-card .group { text-align: left; }
.service-list { display: flex; flex-wrap: wrap; }
.service-list li { width: calc(50% - 80px); }
.service-list li:nth-child(even) { border-left: 1px dotted #ae9d8f; margin-left: 80px; padding-left: 80px; width: calc(50%); position: relative; }
.service-block .title { margin-bottom: 30px; text-align: center; }
.service-block .detail { color: #222222; margin-bottom: 30px; letter-spacing: .03em; }
.cmn-title { font-size: 18px; }
.address-block { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.address-block .title { margin-bottom: 45px; }
.address-block .contents p { color: #222222; margin-bottom: 5px; }
.address-block .contents .en { font-weight: 400; }
.address-block .contents .link { margin-top: 15px; }
.address-block .contents .link a { color: #222222; }
.address-block .photo { width: 270px; }
.app { margin-top: 150px; padding-top: 150px; background: #1f2221; padding-bottom: 10px; margin-bottom: -1px; }
.app-block { display: flex; justify-content: space-between; align-items: center; }
.app-block .photo { width: 200px; }
.app-block .title { margin-bottom: 30px; color: #fff; }
.app-block .subtitle { font-size: 15px; margin-bottom: 30px; color: #fff; }
.app-block .detail { color: #b2b2b2; margin-bottom: 60px; line-height: 2.125; }
.app-block .links { display: flex; }
.app-block .links li { margin-right: 20px; }
.app-block .links img { height: 50px; }
.app-block .link2 { text-align: left; margin-top: 40px; }
.app-block .link2 a { color: #fff; font-size: 15px; display: flex; height: 40px; border: 1px solid #fff; align-items: center; justify-content: center; border-radius: .2em; transition: .3s; position: relative; }
.app-block .link2 a:after { content: ""; position: absolute; right: 20px; top: 0; bottom: 0; margin: auto 0; width: 8px; height: 8px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); }
.app-block .link2 a:hover { color: #1f2221; background: #fff; }
@media (max-width: 767px) {
	body { min-width: 375px; font-size: 13px; }
	header { padding: 0 15px; min-width: 375px; }
	header .wrap { height: 60px; }
	header .logo img { width: 200px; }
	header .gnav { position: fixed; left: 0; top: 0; width: 100%; top: 60px; background: rgba(255,255,255,.9); height: 100%; opacity: 0; visibility: hidden; transition: .3s; }
	header .gnav.active { opacity: 1; visibility: visible; }
	header .gnav ul { display: block; padding: 50px 30px; }
	header .gnav ul li { padding-left: 0; padding-right: 0; }
	header .gnav ul li:before { display: none; }
	header .gnav ul li a { padding: 15px 0; border-bottom: 1px solid #E0E2E3; font-weight: bold; position: relative; }
	header .gnav ul li a:after { content: "→"; position: absolute; right: 0; top: 0; bottom: 0; margin: auto 0; display: flex; align-items: center; }
	header .gnav ul li:last-child a { border-bottom: 0; }
	header .menu-trg-area { display: block; }
	footer { padding: 100px 0 50px; }
	hr { margin-top: 70px; }
	.sec-title { margin-bottom: 50px; font-size: 20px; }
	.cmn-title { font-size: 16px; }
	.fv .bg { height: auto; min-height: 0; padding-top: 75%; }
	.about .contents { padding: 70px 0; }
	.about .title { font-size: 20px; margin-bottom: 20px; }
	.about-slider .slick-slide { padding: 0 8px; }
	.service-list li { width: 100%; margin-bottom: 60px; }
	.service-list li:last-child { margin-bottom: 0; }
	.service-list li:nth-child(even) { padding-left: 0; margin-left: 0; width: 100%; border: none; }
	.dark-card { padding: 30px 20px; margin-bottom: 20px; height: auto; }
	.dark-card .title { margin-bottom: 30px; }
	.dark-card .subtitle { font-size: 18px; }
	.address-block .contents { margin-bottom: 40px; }
	.address-block .title { margin-bottom: 20px; }
	.address-block .photo { width: 100%; margin-left: auto; margin-right: auto; max-width: 270px; padding: 0 30px; }
	.app { margin-top: 70px; padding-top: 70px; padding-bottom: 15px; }
	.app-block .sp-wrap { display: flex; align-items: center; margin-bottom: 40px; }
	.app-block .photo { width: 35%; }
	.app-block .detail { width: 65%; padding-left: 20px; margin-bottom: 0; }
	.app-block .subtitle { line-height: 1.6; margin-bottom: 25px; }
}
