@charset "utf-8";
/* CSS Document */

*{
	margin: 0;
	padding: 0;
    word-break: break-all;
}

html { 
	overflow-y: scroll;
	overflow-x: hidden;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

html.is-open {
	overflow: hidden;
}


body {
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 1.3rem;
	-webkit-text-size-adjust: 100%;
	line-height: 1.5;
	color: #000000;
	overflow: hidden;
}

img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: top;
	vertical-align: bottom;
}

a {
	/*overflow: hidden;*/
	outline: none;
	color: #000000;
	text-decoration:none;
}
.pc_hide {
}

.sp_hide {
	display: none !important;
}

a {
	opacity: 1;/*-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;*/
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}


select::-ms-expand {
    display: none;
}

#all_wrap,
#contents{
	overflow: hidden;
}

ol, ul {
    list-style: none;
	box-sizing: border-box;
}

/*------------------------------------------------------------------------------*/
/*ヘッダー*/

#header_wrap{
	width: 100%;
	height: 71px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow:hidden;
	position:relative;
}

/*ロゴ*/

#header_wrap > h1{
	background: url("../index/sp/head_logo.webp")no-repeat;
	background-size: 100% auto;
	width: 76.6666%;/*552*/
	aspect-ratio: 552 / 94;
	margin-left: 8px;
}

#header_wrap > h1 a{
	display: block;
	width: 100%;
}

#header_wrap > h1 a span{
	display:none;
}


/*メニュー*/

#header_wrap > ul{
	display: none;
}

/**/

.openbtn1{
	width: 19.7222%;
	height: 100%;
	background: #ff6666;
	position: relative;
}

.openbtn1::after{
	content: 'MENU';
	display: inline-block;
	width: 100%;
	font-size: 1.5rem;
	line-height: 1;
	color: #fff;
	text-align: center;
	position: absolute;
	bottom: 1.15rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

html.is-open .openbtn1::after{
	content: 'CLOSE';
}

/*×に変化*/  
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
	right: 0;
	margin: auto;
    border-radius: 2px;
	background-color: #fff;
    width: 3.05rem;
    height: 1px;
  }

.openbtn1 span:nth-of-type(1) {
	top: 2.05rem; 
}

.openbtn1 span:nth-of-type(2) {
	top: 29px; 
}

.openbtn1.active span:nth-of-type(1) {
  transform: rotate(45deg);
  top: 2.5rem; /* 少し中央寄せに調整 */
}

.openbtn1.active span:nth-of-type(2) {
  transform: rotate(-45deg);
  top: 2.5rem; /* 同じ位置にして重ねる */
}

/**/

#header_wrap .nav_menu{
	/*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	z-index: 999;
	/*ナビの位置と形状*/
	top: 71px;
	width: 100%;
	box-sizing: border-box;
	background: #fff;/*背景を少し透過させる*/
    /*動き*/
	transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
.nav_menu:not(.panelactive){
	opacity: 0;
	pointer-events: none;
}

.nav_menu.panelactive{
	opacity: 1;
	pointer-events: auto;
}

.nav_menu .nav_menu_inner{
	height: calc(100vh - 71px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;	
}

/*ナビゲーションの縦スクロール*/
.nav_menu ul.nav_menu-list{
	width: 85.0%;/*612*/
	margin: 12px auto 0;
}

.nav_menu ul.nav_menu-list li{
	width: 100%;
}

.nav_menu ul.nav_menu-list li a{
	display: block;
	width: 100%;
	padding: 12px 1em 30px 9.8039%;/*60*/
	box-sizing: border-box;
	font-size: 1.75rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #544647;
	position: relative;
}

.nav_menu ul.nav_menu-list li a::before{
	content: '';
	display: inline-block;
	background: url("../index/sp/nav_ico.svg")no-repeat;
	background-size: cover;
	width: 4.9019%;/*30*/
	aspect-ratio: 30 / 34;
	position: absolute;
	top: 13px;
	left: 0;
	z-index: 1;
}

.nav_menu ul.nav_menu-list li a::after{
	content: '';
	display: inline-block;
	background: url("../index/sp/nav_line.webp")no-repeat;
	background-size: cover;
	width: 100%;
	aspect-ratio: 613 / 35;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.nav_menu ul.sub_menu-list{
	width: 85.0%;/*612*/
	margin: 44px auto 63px;
}

.nav_menu ul.sub_menu-list li + li{
	margin-top: 25px;
}

.nav_menu ul.sub_menu-list li a{
	padding-left: 1.25rem;
	box-sizing: border-box;
	font-size: 1.3rem;
	line-height: 1;
	letter-spacing: 0.05em;
	position: relative;
}

.nav_menu ul.sub_menu-list li a::before{
	content: '';
	display: inline-block;
	background: url("../index/sp/nav_ico02.svg")no-repeat;
	background-size: cover;
	width: 9px;
	aspect-ratio: 18 / 26;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 2px;
	z-index: 1;
}

.nav_menu ul.sub_menu-list li a span{
	color: #0071b7;
	text-decoration: underline;
}

/*------------------------------------------------------------------------------*/
/*フッターメニュー*/

#footer_menu_wrap{
	display: none;
}

/*------------------------------------------------------------------------------*/
/*フッター*/

#footer_wrap{
	width: 100%;
	background: url("../index/sp/foot_bg.webp")no-repeat;
	background-size: 100% 100%;
	padding: 3.85rem 0 67px;
}

#footer_ol_lv1{
	width: 100%;
}

#footer_ol_lv2{
	width: 100%;
}

#footer_ol_lv3{
	width: 100%;
}

#footer_ol_lv4{
/*	width: 83.6111%;602*/
	width: 75.0%;
	margin: 0px auto;
}

#footer_ol_lv4 .fcol01{
	width: 100%;
}

#footer_ol_lv4 .fcol01 img{
	width: 100%;
	height: auto;
}

/**/

#footer_ol_lv4 .fcol02{
	width: 100%;
	margin-top: 28px;
}

#footer_ol_lv4 .fcol02 dl{
}

#footer_ol_lv4 .fcol02 dl dt{
	width: 41.1960%;/*248*/
	aspect-ratio: 248 / 99;
	background: url("../index/sp/dt_midashi01.svg")no-repeat;
	background-size: cover;
}

#footer_ol_lv4 .fcol02 dl dt img{
	display: none;
}

#footer_ol_lv4 .fcol02 dl dd{
	padding: 10px 0 0 21px;
	box-sizing: border-box;
	font-size: 1.35rem;
/*	font-size: 1.75rem;*/
	line-height: 1.2857;
	letter-spacing: 0.05em;
	color: #4d2600;
}

/**/


#footer_ol_lv4 .fcol03{
	width: 100%;
	margin-top: 25px;
}

#footer_ol_lv4 .fcol03 dl{
}

#footer_ol_lv4 .fcol03 dl dt{
	width: 41.1960%;/*248*/
	aspect-ratio: 248 / 99;
	background: url("../index/sp/dt_midashi02.svg")no-repeat;
	background-size: cover;
}

#footer_ol_lv4 .fcol03 dl dt img{
	display: none;
}

#footer_ol_lv4 .fcol03 dl dd{
	padding: 10px 0 0 21px;
	box-sizing: border-box;
	font-size: 1.35rem;
/*	font-size: 1.75rem;*/
	line-height: 1.2857;
	letter-spacing: 0.05em;
	color: #4d2600;
}

#footer_ol_lv4 .fcol03 dl dd ul{
	margin-top: 20px;
	list-style: none;
}

#footer_ol_lv4 .fcol03 dl dd ul li + li{
	margin-top: 3px;
}

#footer_ol_lv4 .fcol03 dl dd ul li a{
	font-size: 1.35rem;
/*	font-size: 1.75rem;*/
	line-height: 1.4285;
	letter-spacing: 0.05em;
	color: #4d2600;
	padding-left: 2.35rem;
	box-sizing: border-box;
	position: relative;
}

#footer_ol_lv4 .fcol03 dl dd ul li a::before{
	content: '';
	display: inline-block;
	background: url("../index/sp/nav_ico02.svg")no-repeat;
	background-size: cover;
	width: 1.15rem;
	aspect-ratio: 18 / 26;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 2px;
	z-index: 1;
}

/**/

#footer_ol_lv4 .fcol04{
	width: 100%;
	margin-top: 20px;
}

#footer_ol_lv4 .fcol04 img{
	width: 100%;
	height: auto;
}

/**/

#footer_ol_lv4 .fcol05{
	width: 100%;
	margin-top: 33px;
}

#footer_ol_lv4 .fcol05 dl{
}

#footer_ol_lv4 .fcol05 dl dt{
	width: 53.3222%;/*248*/
	aspect-ratio: 321 / 99;
	background: url("../index/sp/dt_midashi03.webp")no-repeat;
	background-size: cover;
}

#footer_ol_lv4 .fcol05 dl dt img{
	display: none;
}

#footer_ol_lv4 .fcol05 dl dd{
	padding: 10px 0 0 21px;
	box-sizing: border-box;
}

#footer_ol_lv4 .fcol05 dl dd ul{
	list-style: none;
}

#footer_ol_lv4 .fcol05 dl dd ul li + li{
	margin-top: 3px;
}

#footer_ol_lv4 .fcol05 dl dd ul li a{
	font-size: 1.35rem;
/*	font-size: 1.75rem;*/
	line-height: 1.4285;
	letter-spacing: 0.05em;
	color: #4d2600;
	padding-left: 2.35rem;
	box-sizing: border-box;
	position: relative;
}

#footer_ol_lv4 .fcol05 dl dd ul li a::before{
	content: '';
	display: inline-block;
	background: url("../index/sp/nav_ico02.svg")no-repeat;
	background-size: cover;
	width: 1.15rem;
	aspect-ratio: 18 / 26;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 2px;
	z-index: 1;
}


/*------------------------------------------------------------------------------*/
/*copy*/

#copy{
	width: 100%;
	height: 4.75rem;
	background: #ffccc3;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 60px;
}

#copy p{
	font-size: 1.15rem;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
}


/*------------------------------------------------------------------------------*/
/*スマホ固定メニュー*/

.sp-fixed_menu{
	display: none;
	width: 100%;
	height: 60px;
	background: #ef716f;
	padding: 3px 0;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 100;
}

.sp-fixed_menu ul.f_list01{
	list-style: none;
	width: 100%;
	height: 100%;
	display: flex;
}

.sp-fixed_menu ul.f_list01 li{
	width: calc(100% / 3);
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.sp-fixed_menu ul.f_list01 li + li{
	border-left: 1px solid #fff;
}

.sp-fixed_menu ul.f_list01 li a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
	padding-bottom: 3px;
	position: relative;
}

.sp-fixed_menu ul.f_list01 li a::before{
	content: '';
	background: url("../index/sp/fixed_ico01.webp")no-repeat;
	background-size: cover;
	width: 3.35rem;
	height: auto;
	aspect-ratio: 67 / 61;
	position: absolute;
	top: 0.65rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.sp-fixed_menu ul.f_list01 li:nth-child(2) a::before{
	background: url("../index/sp/fixed_ico02.webp")no-repeat;
	background-size: cover;
	width: 2.65rem;
	height: auto;
	aspect-ratio: 53 / 66;
	top: 4px;
}

.sp-fixed_menu ul.f_list01 li:nth-child(3) a::before{
	background: url("../index/sp/fixed_ico03.webp")no-repeat;
	background-size: cover;
	width: 3.05rem;
	height: auto;
	aspect-ratio: 61 / 49;
	top: 0.85rem;
}

/*
/*------------------------------------------------------------------------------*/

.scroll-hint-icon{
	top: 50px !important;
}

/*------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------*/
