@charset "utf-8";
/*
 * smp.css 
 */

/*** sp ***/
@media only screen and (max-width : 767px){
	body {
		font-size: 1.4rem;
	}
	
    #wrapper {
    	position: relative;
    	padding-top: 7.5rem;
    }
	
	#header {
		align-items: center;
		padding: 0 2rem;
	}
	.header-logo {
		display: flex;
		align-items: center;
		height: 6rem;
	}
	.header-logo a {
		display: block;
		position: static;
		width: 4.8rem;
	}
	
	.btn-menu {
		display: block;
		width: 4rem;
	}
	.btn-menu span {
		display: block;
		transition: all 0.4s;
		-webkit-transition: all 0.4s;
		-moz-transition: all 0.4s;
		margin: 0.6rem 0;
		height: 3px;
		width: 100%;
		background: #fff;
	}
	.btn-menu.active span:first-child {
	    -webkit-transform: translateY(0.9rem) rotate(45deg);
	    -moz-transform: translateY(0.9rem) rotate(45deg);
	    -ms-transform: translateY(0.9rem) rotate(45deg);
	    transform: translateY(0.9rem) rotate(45deg);
	}
	.btn-menu.active span:nth-child(2) {
	    opacity: 0;
	}
	.btn-menu.active span:last-child {
	    -webkit-transform: translateY(-0.9rem) rotate(-45deg);
	    -moz-transform: translateY(-0.9rem) rotate(-45deg);
	    -ms-transform: translateY(-0.9rem) rotate(-45deg);
	    transform: translateY(-0.9rem) rotate(-45deg); 
	}
	
	#g-navi {
		display: block;
		visibility: hidden;
		opacity: 0;
		position: absolute;
		left: 0;
		top: 100%;
		transition: all 0.5s;
		padding: 6rem 2rem;
		width: 100%;
		max-height: calc(100vh - 6rem);
		background: #111;
	}
	#g-navi.open {
		visibility: visible;
		opacity: 1;
	}
	#g-navi ul {
		display: block;
	}
	#g-navi li {
		border-bottom: 1px solid #999;
	}
	#g-navi li a {
		display: flex;
		padding: 1.6rem 0;
	}
	.header-links {
		margin-top: 3rem;
	}
	.header-links a {
		justify-content: center;
	}
	
	#footer {
		padding: 5.6rem 2rem 6.8rem;
	}
	.foot-links {
		gap: 1rem 2.4rem;
	}
	.footer-logo {
	    margin-top: 3.6rem;
	}
	#copyright {
		font-size: 1.2rem;
	}
	
	
	/* !common
	---------------------------------------------------------- */
	.inner,
	.inner-small {
		padding: 0 2rem;
	}
	
	.head-large {
		margin-bottom: 4.8rem;
	}
	.head-large p + p {
		margin-top: 0.8rem;
	}
	.head-large .eng {
		font-size: 4rem;
	}
	#main-visual .head .jap {
		font-size: 1.5rem;
	}
	
	.head-middle {
		margin-bottom: 2.6rem;
		padding-bottom: 1.6rem;
		background-size: auto 1rem;
		font-size: 1.6rem;
	}
	.head-middle .icon {
		margin-right: 0.8rem;
	}
	
	.anchor-area .anchor {
		top: -6rem;
	}
	
	
	/* !page
	---------------------------------------------------------- */
	#main-visual {
	    padding: 0 2rem;
	}
	#main-visual .display {
	    display: block;
	}
	#main-visual .display .img {
		width: auto;
	}
	#main-visual .display .info {
		display: flex;
		flex-direction: column-reverse;
		width: auto;
	}
	#main-visual .head {
	    margin: -3.6rem 0 0;
	}
	#main-visual .head p + p {
	    margin-top: 1rem;
	}
	#main-visual .head .eng {
	    font-size: 4.2rem;
	}
	#main-visual .display .img2 {
		margin-top: 2.5rem;
	}
	
	.top-about {
	    padding: 6rem 0;
	}
	.top-about .display {
	    padding-left: 0;
	}
	.top-about .display .img {
	    position: static;
		margin-bottom: 2.5rem;
	    width: auto;
	}
	.top-about .head {
	    margin-bottom: 1.6rem;
	    font-size: 2.4rem;
	}
	.top-about .head2 {
	    margin: 0 -1rem;
	    font-size: 4.5rem;
	}
	.top-about .display .info p {
	    margin-bottom: 2rem;
	}
	
	.top-concept {
	    padding: 6rem 0;
	}
	.top-concept .display {
		display: block;
	}
	.top-concept .display .logo {
		margin-bottom: 2.5rem;
	    width: auto;
	}
	.top-concept .display .logo img {
	    max-width: 18rem;
	}
	.top-concept .display .info {
	    width: auto;
	}
	.top-concept .concept-info {
	    padding: 3.2rem 1.6rem;
	}
	.concept-info li {
	    padding-left: 2rem;
	    background-size: 1.3rem;
	    font-size: 1.6rem;
	}
	
	.top-promise {
	    padding: 6rem 0;
	}
	.top-promise .sub {
	    margin-bottom: 4rem;
	    font-size: 1.5rem;
	}
	.top-promise .display-list {
	    padding-top: 0;
	}
	.top-promise .display-list li {
	    display: block;
	}
	.top-promise .display-list li + li {
	    margin-top: 5rem;
	}
	.top-promise .display-list .info {
	    position: relative;
	    padding: 1rem 0 0 4rem;
	    width: auto;
	}
	.top-promise .display-list .img {
		margin-top: 6rem;
	    width: auto;
	}
	.top-promise .display-list .img .pic:before {
	    left: 2.4rem;
	    top: -1.6rem;
	}
	.top-promise .display-list .img .mask {
	    left: 6.8rem;
	    top: -3.4rem;
	}
	.top-promise .display-list .step {
	    padding-top: 1.6rem;
	    width: 3rem;
	    background-size: 2.5rem;
	    font-size: 2.5rem;
	}
	.top-promise .display-list .head {
	    margin-bottom: 1rem;
	    font-size: 2rem;
	}
	
	.top-promise .display-list li:nth-of-type(even) .info {
		width: auto;
	}
	.top-promise .display-list li:nth-of-type(even) .img .pic:before {
	    right: 2.4rem;
	}
	.top-promise .display-list li:nth-of-type(even) .img .mask {
	    right: 6.8rem;
	}
	
	.top-menu {
	    padding: 6rem 0;
	}
	.top-menu .head {
	    font-size: 2rem;
	}
	.top-menu .head .small {
	    font-size: 1.5rem;
	}
	.top-menu .display {
	    display: block;
	}
	.top-menu .display .img {
		margin-bottom: 2.5rem;
		width: auto;
	}
	.top-menu .display .info {
		width: auto;
	}
	.top-menu .display .head {
	    margin-bottom: 1.6rem;
	}
	.top-menu .display .txt {
	    margin-top: 2.4rem;
	    font-size: 1.2rem;
	}
	.top-menu .menu-col {
	    gap: 1rem;
	}
	.top-menu .menu-col li {
	    width: calc(50% - 0.5rem);
	}
	.menu-fee .td {
	    padding: 1.4rem 1rem;
	    font-size: 1.2rem;
	}
	.menu-fee .num {
	    font-size: 1.5rem;
	}
	
	.menu-options {
	    margin-top: 4.8rem;
	}
	.menu-options ul {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 3rem 0;
	}
	.menu-options .head {
	    margin-bottom: 2rem;
	}
	.menu-options .txt {
	    margin-top: 2rem;
	}
	
	.top-reservation {
	    padding: 6rem 0;
	}
	.reservation-ctrl {
		flex-wrap: wrap;
		margin-bottom: 2rem;
	}
	.reservation-ctrl a {
		padding: 1rem;
		max-width: 12rem;
		font-size: 1.2rem;
	}
	.reservation-box {
	    position: relative;
	    padding: 3.6rem 2rem;
	    font-size: 1.5rem;
	}
	.reservation-box .iframe {
	    width: 3.6rem;
	    height: 3.6rem;
	}
	.reservation-box:before {
	    clip-path: polygon(
			0 4rem, 4rem 4rem, 4rem 0%, 
			calc(100% - 4rem) 0%, calc(100% - 4rem) 4rem, 100% 4rem, 
			100% calc(100% - 4rem), calc(100% - 4rem) calc(100% - 4rem), calc(100% - 4rem) 100%, 
			4rem 100%, 4rem calc(100% - 4rem), 0 calc(100% - 4rem));
	}
	.top-reservation .head {
	    margin-bottom: 2rem;
	    font-size: 1.8rem;
	}
	
	.top-beforeafter {
		padding: 6rem 0;
	}
	.beforeafter-swiper .swiper-slide {
	    padding: 2rem 1.6rem;
	    width: 100%;
		max-width: 31.1rem;
	}
	.beforeafter-swiper .swiper-pagination {
		margin-top: 2.5rem;
	}
	.beforeafter-swiper .head {
		gap: 0 0.6rem;
	    margin-bottom: 2rem;
		line-height: 1.3;
	    font-size: 2rem;
	}
	.beforeafter-swiper .display {
		display: block;
	}
	.beforeafter-swiper .display .img {
		width: auto;
	}
	.beforeafter-swiper .display .info {
		padding-top: 2rem;
		width: auto;
	}
	.beforeafter-flow .th {
	    padding: 0.5rem;
	    font-size: 2rem;
	}
	.beforeafter-flow .td {
	    padding: 0.8rem 1.6rem;
	}
	.beforeafter-swiper .display .beforeafter-change {
	    margin-top: 2rem;
	}
	.beforeafter-change .tit {
	    margin-bottom: 0.8rem;
	    font-size: 1.5rem;
	}
	.beforeafter-change .tit .cate {
	    padding: 0.5rem 1.6rem;
	}
	.beforeafter-change li {
	    padding-left: 0.5em;
	    text-indent: -0.5em;
	}
	.top-beforeafter .analysis-point {
	    display: block;
	    padding: 0;
	    margin: 2.5rem auto 0;
	}
	.top-beforeafter .analysis-point .thead {
	    position: static;
		margin-bottom: 1rem;
		width: 100%;
	    line-height: 4rem;
	    letter-spacing: 0.01em;
	    writing-mode: horizontal-tb; 
	}
	.top-beforeafter .analysis-point .item {
	    padding: 1.6rem;
	    width: auto;
	    font-size: 1.5rem;
	}
	.top-beforeafter .analysis-point .item + .item {
		margin-top: 4rem;
	}
	.top-beforeafter .analysis-point .item + .item:before {
	    left: 50%;
	    top: -2.5rem;
	    transform: translateX(-50%);
	    border-top: 1.6rem solid #111111;
	    border-left: 2rem solid transparent;
	    border-right: 2rem solid transparent;
		border-bottom: 0;
	}	
		
	.top-reasons {
	    padding: 6rem 0;
	}
	.top-reasons .reason-display {
	    display: block;
	}
	.reason-display .info {
		width: auto;
	}
	.reason-display .img {
		margin-top: 2.5rem;
		width: auto;
	}
	.reason-display .head {
	    padding: 0 0 1.6rem;
		line-height: 1.5;
	    font-size: 1.8rem;
	}
	.reason-display .head2 {
	    font-size: 4em;
	}
	.reason-display .tit {
	    margin-bottom: 1.2rem;
	    padding-left: 2rem;
	    background-size: 1.6rem;
	    font-size: 1.6rem;
	}	
	.reason-display li {
	    padding-left: 0.5em;
	    text-indent: -0.5em;
	    font-size: 1.3rem;
	}
	
	.reason-display01 .head2 {
	    left: -1rem;
	    bottom: -2.5rem;
	}
	.reason-display01 .img .mask {
	    left: 4.2rem;
	    bottom: 2rem;
	}
	
	.reason-display02 {
	    margin-top: 8rem;
	}
	.reason-display02 .img .mask {
	    right: 6rem;
	}
	.reason-display02 .head2 {
	    left: -1rem;
	    bottom: -2rem;
	}
	
	.top-faq {
	    padding: 6rem 0;
	}
	.faq-list li {
	    font-size: 1.5rem;
	}
	.faq-list li .quest {
	    padding: 2rem 4rem;
	    background-position: right center;
	}
	.faq-list li .answer {
	    padding: 0 2rem 2rem 4rem;
	}
	.faq-list li p:before {
	    left: 0;
	    font-size: 2.4rem;
	}
	.faq-list li .quest:before {
	    top: 2rem;
	}
	
	.top-contact {
	    padding: 6rem 0;
	}
	.top-contact .sub {
	    margin-bottom: 2rem;
		line-height: 1.5;
	    font-size: 2rem;
	}
	.contact-sns {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2rem;
	}
	.contact-sns .item {
	    padding: 4.8rem 2rem;
	}
	.contact-sns .head-middle {
	    font-size: 2rem;
	}
	.contact-sns .email {
	    margin-bottom: 2.5rem;
	    font-size: 2rem;
	}
	
	.top-access {
	    padding: 6rem 0;
	}
	.top-access .display {
	    display: block;
	}
	.top-access .display .info {
		width: auto;
	}
	.top-access .display .img {
		margin-top: 2.5rem;
		width: auto;
	}
	.top-access .head {
	    margin-bottom: 1.6rem;
	    font-size: 2.4rem;
	}
	
	.access-map iframe {
	    height: 24rem;
	}
	
}
	
	
	
	
	
	
	
	
	
	
	
	
	
}