@charset "UTF-8";

/*=============================================================
import css
=============================================================*/

@import url("reset.css");

/*=============================================================
base_PC
=============================================================*/

*{
	min-height: 0vw;
}

@media screen and (min-width: 769px) {

	html {
		font-size: 62.5%;
	}
	body {
		margin: 0 auto;
		padding: 0;
		line-height: 1.8;
		color: #555;
		text-align: left;
		text-size-adjust: 100%;
		font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",'游ゴシック',YuGothic,Meiryo,sans-serif;
	}

	a:active {
		color: #555;
		text-decoration: none;
	}
	a:visited {
		color: #555;
		text-decoration: none;
	}
	a:link {
		text-decoration: none;
	}
	a:hover {
		color: #555;
		text-decoration: none;
	}
	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
		color: #555;
	}

	p,a,dt,dd,li,oi {
		font-size: 1.6rem;
		color: #555;
	}

	#container {
		margin: 0px;
		width: 100%;
		overflow: hidden;
	}

	img {
	  width: 100%;
	  height: auto;
	}

	.inner {
		width: 100%;
		max-width: calc(1200px + 6%);
		margin: 0 auto;
		padding: 0 3%;
		box-sizing: border-box;
	}

	.sp_only {
		display: none;
	}
	.tb_only {
		display: none;
	}
	.pc_only {
		display: block;
	}
	
	section {
		margin-top: calc(min(11.2vw,160px) - min(5.6vw,80px));
		padding-top: min(5.6vw,80px);
	}

/*=============================================================
#header
=============================================================*/

	header.header_sp {
		display: none;
	}

	header.header_pc {
		display: block;
		position: relative;
		height: 6vw;
		max-height: 80px;
		z-index: 5;
	}
	
	header.header_pc .wrap {
		display: flex;
		justify-content: space-between;
		box-sizing: border-box;
		padding: 0 0 0 6vw;
		height: 100%;
	}
	
	header.header_pc h1 {
		width: 10%;
		margin-top: 1.05vw;
		min-width: 120px;
		align-self: center;
	}

/*=============================================================
#nav
=============================================================*/
	
	header.header_pc nav {
		width: 53vw;
		padding: 0 min(6vw,80px) 0 0;
		background-color:#f08e56;
		border-radius: 0 0 0 min(6vw, 36px);
		box-sizing: border-box;
	}
	
	header.header_pc nav ul {
		width: 100%;
		height: 100%;
		display: flex;
		box-sizing: border-box;
		align-items: center;
		justify-content: space-evenly;
		padding: .5em 3vw 0;
	}
	
	header.header_pc nav ul li a  {
		padding: 0 .5em .5em;
		font-size: min(1.3vw,17px);
		font-weight: bold;
		color: #fff;
		letter-spacing: 0.04em;
		display: block;
		overflow: hidden;
		position: relative;
		text-align: center;
	}
	
	header.header_pc nav ul a:before {
		content: attr(data-jp);
		width: 100%;
		text-align: center;
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		transform: translateX(-100%);
		box-sizing: border-box;
		}
	
	header.header_pc nav ul a:after {
		content: '';
		width: 50%;
		height: min(0.5vw,6px);
		background-color: #ffe480;
		border-radius: 3px;
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		opacity: 0;
		transform: translateY(-10px);
		transition: all .3s;
		box-sizing: border-box;
	}
	
	header.header_pc nav ul a:hover:before {
		text-indent: 0;
		transform: translateX(0);
		box-sizing: border-box;
	}
	
	header.header_pc nav ul a:hover:after {
		transform: translateY(0);
		opacity: 1;
		box-sizing: border-box;
	}
	
	header.header_pc nav ul a:hover span {
    	opacity: 0;
	}

/*=============================================================
見出し
=============================================================*/
	
	.hdA {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		color: #fff;
	}
	
	.hdA .en {
		font-size: min(5vw,6.4rem);
		font-weight: bold;
	}
	
	.hdA .jp {
		font-size: min(1.5vw,1.6rem);
		font-weight: bold;
		padding: 0 2em;
		position: relative;
		letter-spacing: .1em;
	}
	
	.hdA::after {
		content: "";
		display: block;
		width: min(4vw,50px);
		height: 1px;
		background-color: #fff;
	}
	
	section:nth-of-type(odd) .hdA {
		flex-direction: row-reverse;
	}

	.hdB {
		display: flex;
		flex-direction: column;
		align-items: center;
		color: #fff;
	}
	
	.hdB .en {
		font-size: min(5vw,6.4rem);
		font-weight: bold;
		padding: 0 2em min(1.5vw,21px);
	}
	
	.hdB .jp {
		font-size: min(1.5vw,1.6rem);
		font-weight: bold;
		padding: min(1.5vw,21px) 2em 0;
		position: relative;
		letter-spacing: .1em;
	}
	
	.hdB .jp::after {
		content: "";
		position: absolute;
		top: 0;
		width: min(4vw,50px);
		height: 1px;
		background-color: #fff;
		left:calc(50% - (min(4vw,50px)/2));
	}

	.fontA {
		font-family: acumin-pro, sans-serif;
		font-weight: 600;
		font-style: normal;
		letter-spacing: -0.04em;
		font-size: clamp(4.0rem,5.0vw,6.0rem);
		color: #fff;
	}

/*=============================================================
ボタン
=============================================================*/

	.btnA {
		width: min(20vw,250px);
		height: min(4.4vw,56px);
		margin: 0 auto;
	}

	.btnA a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		font-size: min(1.4vw,1.5rem);
		line-height: 1;
		font-weight: bold;
		color: #fff;
		border-radius: min(2.2vw,28px);
		border: 1px solid transparent;
		background-color: #ecb800;
		box-sizing: border-box;
		position: relative;
		transition: all .3s;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.btnA a::before {
		content: "";
		position: absolute;
		width: 6px;
		height: 6px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		transform: rotate(45deg);
		top: calc(50% - 4px);
		right: 1.5em;
		transition-delay: .1s;
		transition: all .2s ease-in-out;
	}

	.btnA a:hover {
		background-color: #fff;
		color: #ecb800;
		border: 1px solid #ecb800;
	}

	.btnA a:hover::before {
		border-top: solid 1px #ecb800;
		border-right: solid 1px #ecb800;
		right: 1.0em;
	}
	
/*=============================================================
footer
=============================================================*/
	
	footer {
		margin-top: min(9.8vw,140px);
		border-radius: min(6vw,80px) 0 0 0;
		padding: 60px 0 60px 0;
		background-color: #fff;
		background-image: url("../images/bg_pop.png");
		background-size: cover;
		background-position: center 80%;
		box-shadow: inset 6px 6px 12px rgb(0 0 0 / 10%);
	}
	
	footer nav ul {
		display: flex;
		justify-content: center;
	}
	
	footer nav ul li {
		margin: 0 1.5em;
	}
	
	footer nav ul li a {
		font-size: clamp(1.6rem,1.8vw,1.8rem);
		font-weight: bold;
		transition: .1s ease;
	}
	
	footer ul li a:hover {
		opacity: .7;
	}
	
	footer .sns_wrap ul {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 80px;
	}
	
	footer .sns_wrap ul li {
		width: clamp(44px,3.4vw,50px);
		margin: 0 10px;
	}
	footer .sns_wrap ul li.superspecial {
		width: clamp(160px,11.9vw,180px);
		margin: 0 10px;
	}
	footer .sns_wrap ul li.wacca {
		width: clamp(80px,6.3vw,100px);
		margin: 0 10px;
	}
	
	footer .sns_wrap ul .logo {
		width: 10%;
		min-width: 120px;
		align-self: center;
	}

	footer .copyright {
		color: #555;
		width: 100%;
		text-align: center;
		font-size: 1.4rem;
		margin-top: 80px;
	}
	
/*=============================================================
TOPへ戻るボタン
=============================================================*/	

/*=============================================================
その他
=============================================================*/	
		
	.parallax {
		background-image: url("../images/bg_pop.png");
		background-attachment: fixed;
		background-size: cover;
		background-position: bottom;
		box-shadow: inset 6px 6px 12px rgb(0 0 0 / 10%);
	}
}

/*=============================================================
base_TB
=============================================================*/

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

	html {
		font-size: 62.5%;
	}
	body {
		margin: 0 auto;
		padding: 0;
		line-height: 1.8;
		color: #555;
		text-align: left;
		text-size-adjust: 100%;
		font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",'游ゴシック',YuGothic,Meiryo,sans-serif;
	}

	a:active {
		color: #555;
		text-decoration: none;
	}
	a:visited {
		color: #555;
		text-decoration: none;
	}
	a:link {
		text-decoration: none;
	}
	a[href^="tel:"] {
		text-decoration: none;
		color: #555;
	}

	p,a,dt,dd,li,oi {
		font-size: 1.6rem;
		color: #555;
	}

	#container {
		margin: 0px;
		width: 100%;
		overflow: hidden;
	}

	img {
	  width: 100%;
	  height: auto;
	}

	.inner {
		width: 100%;
		margin: 0 auto;
		padding: 0 3%;
		box-sizing: border-box;
	}

	.sp_only {
	display: none;
	}

	.pc_only {
		display: none;
	}

	.tb_only {
		display: block;
	}
	
	section {
		margin-top: 50px;
		padding-top: 30px;
	}

/*=============================================================
#header
=============================================================*/

	header.header_pc {
		display: none;
	}
	
	header.header_sp {
		display: block;
	}
	
	header.header_sp h1 {
		display: inline-block;
		width: auto;
		height: 56px;
		position: relative;
		z-index: 10;
		box-sizing: border-box;
		padding: 16px 3vw 14px;
	}
	header.header_sp h1 img {
		width: auto;
		height: 100%;
	}

/*=============================================================
見出し
=============================================================*/
	
	.hdA {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		color: #fff;
	}
	
	.hdA .en {
		font-size: min(5vw,6.4rem);
		font-weight: bold;
	}
	
	.hdA .jp {
		font-size: min(1.5vw,1.6rem);
		font-weight: bold;
		padding: 0 2em;
		position: relative;
		letter-spacing: .1em;
	}
	
	.hdA::after {
		content: "";
		display: block;
		width: min(4vw,50px);
		height: 1px;
		background-color: #fff;
	}

	.hdB {
		display: flex;
		flex-direction: column;
		align-items: center;
		color: #fff;
	}
	
	.hdB .en {
		font-size: min(5vw,6.4rem);
		font-weight: bold;
		padding: 0 2em min(1.5vw,21px);
	}
	
	.hdB .jp {
		font-size: min(1.5vw,1.6rem);
		font-weight: bold;
		padding: min(1.5vw,21px) 2em 0;
		position: relative;
		letter-spacing: .1em;
	}
	
	.hdB .jp::after {
		content: "";
		position: absolute;
		top: 0;
		width: min(4vw,50px);
		height: 1px;
		background-color: #fff;
		left:calc(50% - (min(4vw,50px)/2));
	}
	
	.fontA {
		font-family: acumin-pro, sans-serif;
		font-weight: 600;
		font-style: normal;
		letter-spacing: -0.04em;
		font-size: clamp(4.0rem,5.0vw,6.0rem);
		color: #fff;
	}

/*=============================================================
ボタン
=============================================================*/

	.btnA {
		width: min(20vw,250px);
		height: min(4.4vw,56px);
		margin: 0 auto;
	}

	.btnA a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		font-size: min(1.4vw,1.5rem);
		line-height: 1;
		font-weight: bold;
		color: #fff;
		border-radius: min(2.2vw,28px);
		border: 1px solid transparent;
		background-color: #ecb800;
		box-sizing: border-box;
		position: relative;
		transition: all .3s;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.btnA a::before {
		content: "";
		position: absolute;
		width: 6px;
		height: 6px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		transform: rotate(45deg);
		top: calc(50% - 4px);
		right: 1.5em;
	}
	
/*=============================================================
footer
=============================================================*/
	
	footer {
		margin-top: min(9.8vw,140px);
		border-radius: min(5.6vw,80px) 0 0 0;
		padding: 60px 0 50px 0;
		background-color: #fff;
		background-image: url("../images/bg_pop.png");
		background-size: cover;
		background-position: center 80%;
		box-shadow: inset 6px 6px 12px rgb(0 0 0 / 10%);
	}
	
	footer nav ul {
		display: flex;
		justify-content: center;
	}
	
	footer nav ul li {
		margin: 0 1.0em 0 1.0em;
	}
	footer nav ul li:first-child {
		margin: 0 1.0em 0 0;
	}
	footer nav ul li:last-child {
		margin: 0 0 0 1.0em;
	}
	
	
	footer nav ul li a {
		font-size: clamp(1.4rem,1.6vw,1.6rem);
		font-weight: bold;
		transition: .1s ease;
	}
	
	footer ul li a:hover {
		opacity: .7;
	}
	
	footer .sns_wrap ul {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 60px;
	}
	
	footer .sns_wrap ul li {
		width: clamp(44px,3.4vw,50px);
		margin: 0 10px;
	}
	footer .sns_wrap ul li.superspecial {
		width: clamp(160px,11.9vw,180px);
		margin: 0 10px;
	}
	footer .sns_wrap ul li.wacca {
		width: clamp(80px,6.3vw,100px);
		margin: 0 10px;
	}
	
	footer .sns_wrap ul .logo {
		width: 10%;
		min-width: 120px;
		align-self: center;
	}

	footer .copyright {
		color: #555;
		width: 100%;
		text-align: center;
		font-size: 1.4rem;
		margin-top: 60px;
	}
	
	
	

/*=============================================================
TOPへ戻るボタン
=============================================================*/	

/*=============================================================
その他
=============================================================*/	
	
	.parallax {
		background-image: url("../images/bg_pop_sp.png");
		background-size: cover;
		background-position: bottom;
		box-shadow: inset 6px 6px 12px rgb(0 0 0 / 10%);
	}	
}

@media screen and  (max-width: 520px) {
	
/*=============================================================
#base_SP
=============================================================*/
	
	html {
	font-size: 50%;
	}
	
	body {
		width:100%;
		margin: 0 auto;
		padding: 0;
		line-height: 1.8;
		color: #555;
		text-align: left;
		text-size-adjust: 100%;
		font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",'游ゴシック',YuGothic,Meiryo,sans-serif;
	}

	a:active {
		color: #555;
		text-decoration: none;
	}
	a:visited {
		color: #555;
		text-decoration: none;
	}
	a:link {
		text-decoration: none;
	}
	a:hover {
		color: #555;
		text-decoration: none;
	}

	p,a,dt,dd,li,oi {
		font-size: 2.0rem;
		color: #555;
	}

	#container {
		margin: 0;
		width: 100%;
		overflow: hidden;
	}

	img {
	  width: 100%;
	  height: auto;
	}

	.inner {
		width: 100%;
		padding: 0 3%;
		box-sizing: border-box;
	}

	.tb_only {
		display: none;
	}
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}
	
	section {
		margin-top: 30px;
		padding-top: 30px;
	}
	
/*=============================================================
#header
=============================================================*/
	
	header.header_pc {
	display: none;
	}
	
	header.header_sp {
	display: block;
	}	
	header.header_sp h1 {
		display: inline-block;
		width: auto;
		height: 48px;
		position: relative;
		z-index: 10;
		box-sizing: border-box;
		padding: 16px 3vw 14px;
	}
	header.header_sp h1 img {
		width: auto;
		height: 100%;
	}

/*=============================================================
見出し
=============================================================*/	
	
	.hdA {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		color: #fff;
	}
	
	.hdA .en {
		font-size: min(6vw,4.0rem);
		font-weight: bold;
	}
	
	.hdA .jp {
		font-size: min(1.8vw,2.0rem);
		font-weight: bold;
		padding: 0 2em;
		position: relative;
		letter-spacing: .1em;
	}
	
	.hdA::after {
		content: "";
		display: block;
		width: min(4vw,50px);
		height: 1px;
		background-color: #fff;
	}
	
	.fontA {
		font-family: acumin-pro, sans-serif;
		font-weight: 600;
		font-style: normal;
		letter-spacing: -0.04em;
		font-size: clamp(4.0rem,5.0vw,6.0rem);
		color: #fff;
	}

	.hdB {
		display: flex;
		flex-direction: column;
		align-items: center;
		color: #fff;
	}
	
	.hdB .en {
		font-size: 2.5rem;
		font-weight: bold;
		padding: 0 2em 8px;
	}
	
	.hdB .jp {
		font-size: 1.25rem;
		font-weight: bold;
		padding: 10px 2em 0;
		position: relative;
		letter-spacing: .1em;
		position: relative;
	}
	
	.hdB .jp::after {
		content: "";
		position: absolute;
		top: 0;
		width: min(4vw,50px);
		height: 1px;
		background-color: #fff;
		left:calc(50% - (min(4vw,50px)/2));
	}
	
/*=============================================================
ボタン
=============================================================*/

	.btnA {
		width: min(45vw,250px);
		height: min(10vw,56px);
		margin: 0 auto;
	}

	.btnA a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		font-size: 1.75rem;
		line-height: 1;
		font-weight: bold;
		color: #fff;
		border-radius: min(5.0vw,28px);
		border: 1px solid transparent;
		background-color: #ecb800;
		box-sizing: border-box;
		position: relative;
		transition: all .3s;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.btnA a::before {
		content: "";
		position: absolute;
		width: 6px;
		height: 6px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		transform: rotate(45deg);
		top: calc(50% - 4px);
		right: 1.5em;
	}

/*=============================================================
footer
=============================================================*/

	footer {
		margin-top: 50px;
		border-radius: min(5.6vw,80px) 0 0 0;
		padding: 40px 0 0;
		background-color: #fff;
		background-image: url("../images/bg_pop.png");
		background-size: cover;
		background-position: center 80%;
		box-shadow: inset 6px 6px 12px rgb(0 0 0 / 10%);
	}
	
	footer nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	footer nav ul li {
		margin: 1.0em 1.0em 0;
	}
	
	footer nav ul li a {
		font-size: 1.75rem;
		font-weight: bold;
		transition: .1s ease;
	}
	
	footer .sns_wrap ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin-top: 80px;
		box-sizing: border-box;
	}
	
	footer .sns_wrap ul li {
		width: 41%;
		box-sizing: border-box;
	}
	
	footer .sns_wrap ul .fb {
		padding: 0 3vw 0 24vw;
	}
	
	footer .sns_wrap ul .instagram {
		padding: 0 3vw;
		width: 18%;
	}

	footer .sns_wrap ul .mail {
		padding: 0 24vw 0 3vw;
	}
	
	footer .sns_wrap ul .logo {
		width: 100%;
		padding: 0 30%;
		align-self: center;
		order: 6;
		margin-top: 75px;
	}
	
	footer .sns_wrap ul li.superspecial {
		width: 62%;
		padding: 0 3vw 0 6vw;
		margin-top: 3vw;
	}
	
	footer .sns_wrap ul li.wacca {
		width: 38%;
		padding: 0 6vw 0 3vw;
		margin-top: 3vw;
	}

	footer .copyright {
		width: 100%;
		text-align: center;
		font-size: 1.75rem;
		padding: 2rem 0;
	}


	
/*=============================================================
TOPへ戻るボタン
=============================================================*/	

/*=============================================================
その他
=============================================================*/	
	
	.parallax {
		background-image: url("../images/bg_pop_sp.png");
		background-size: cover;
		background-position: bottom;
		box-shadow: inset 6px 6px 12px rgb(0 0 0 / 10%);
	}
}
