@charset "euc-jp";

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
header,
hgroup,
section,
article,
aside,
hgroup,
footer,
figure,
figcaption,
nav {
	margin: 0;
	padding: 0;
	font-size: 100%;
}

html {
	scroll-behavior: smooth;
}

@font-face {
	font-family: 'OoohBaby';
	src: url(../../css/font/OoohBaby-Regular.ttf);
	display: swap;
}

body {
	font-weight: 300;
	font-family: "Noto Sans JP", sans-serif;
}

body {
	-webkit-text-size-adjust: none;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

img {
	border: 0;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}

ul,
ol {
	list-style: none;
}

table {
	border-spacing: 0;
	empty-cells: show;
}

button {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: top;
	font-style: normal;
	background: transparent;
	list-style: none;
}

body {
	color: #000;
	line-height: 1.3;
	font-size: 13px;
	-webkit-text-size-adjust: none;
	min-width: 320px;
	text-align: justify;
	text-justify: inter-ideograph;
}

#container {
	min-width: 320px;
	width: 100%;
	margin: 0px auto;
	overflow: hidden;
	padding-top: 70px;
}
@media screen and (min-width: 799px) {
	#container {
		padding-top: 90px;
	}
}

a {
	-webkit-tap-highlight-color: rgba(200, 200, 555, .6);
	text-decoration: none;
	color: unset;
}

a:hover {
	text-decoration: none;
}

a:hover img {
	filter: alpha(opacity=70);
	opacity: 0.7;
	-webkit-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
}

a img {
	opacity: 1;
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
	backface-visibility: hidden;
}

a:visited {
	text-decoration: none;
}

em {
	font-style: normal;
}

input[type="text"],
input[type="email"] {
	border: 1px solid #999;
	outline: 0;
	padding: 0;
	line-height: 1.8;
	font-size: 14px;
	padding: 0;
}

input[type="password"] {
	border: 1px solid #999;
	outline: 0;
	padding: 0;
	line-height: 1.8;
	font-size: 14px;
	padding: 0;
}

select {
	outline: 0;
	border: 1px solid #999;
	line-height: 1.8;
	font-size: 14px;
	-webkit-border-radius: 4px;
	vertical-align: baseline;
}

textarea {
	width: 100%;
	border: 1px solid #999;
	outline: 0;
	padding: 0;
	line-height: 1.8;
	font-size: 14px;
}

label {
	display: inline-block;
	line-height: 1.4;
	vertical-align: baseline;
}

label a,
label em,
label span {
	vertical-align: baseline;
}

	{
	vertical-align: baseline;
}

label input {
	vertical-align: baseline;
	line-height: 1.4;
	position: relative;
	top: 1px;
}

.boxlink {
	cursor: pointer;
}

.more {
	text-decoration: underline;
	color: #0A96D7 !important;
	cursor: pointer;
}

.border_dot {
	border-top: 1px dotted #ccc;
	margin-top: 5px;
	padding-top: 5px;
	height: 1px;
}

.nowrap {
	white-space: nowrap;
}

.float_off {
	display: block;
	clear: both;
	height: 0px;
	font-size: 0px;
	line-height: 0px;
	margin: 0px;
	padding: 0px;
	overflow: hidden;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
	min-height: 1%;
}

*html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

.p5 {
	padding: 5px !important;
}

.p10 {
	padding: 10px !important;
}

.pt10 {
	padding-top: 10px;
}

.pb10 {
	padding-bottom: 10px;
}

.pl10 {
	padding-left: 10px;
}

.pr10 {
	padding-right: 10px;
}

.m10 {
	margin: 10px !important;
}

.m20 {
	margin: 20px !important;
}

.m0_10 {
	margin: 0 10px !important;
}

.m0_10_15_10 {
	margin: 0 10px 15px 10px !important;
}

.mb00 {
	margin-bottom: 0 !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mlr10 {
	margin-left: 10px !important;
	margin-right: 10px !important;
}

.mt10n {
	margin-top: -10px !important;
}

.mt00 {
	margin-top: 0 !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.p0_10_15_10 {
	padding: 0 10px 15px 10px !important;
}

.tl {
	text-align: left !important;
}

.tc {
	text-align: center !important;
}

.tr {
	text-align: right !important;
}

.fl {
	float: left !important;
}

img.fl {
	padding: 0 10px 10px 0;
	background: #fff none 0 0 no-repeat;
}

.fr {
	float: right !important;
}

img.fr {
	padding: 0 0 10px 10px;
	background: #fff none 0 0 no-repeat;
}

.w0 {
	width: 98% !important;
}

.w76 {
	width: 76% !important;
}

.w9 {
	width: 90% !important;
}

.w8 {
	width: 80% !important;
}

.w65 {
	width: 65% !important;
}

.w6 {
	width: 60% !important;
}

.w4 {
	width: 40% !important;
}

.w35 {
	width: 35% !important;
}

.w3 {
	width: 30% !important;
}

.w25 {
	width: 25% !important;
}

.w2 {
	width: 20% !important;
}

.w100 {
	width: 100% !important;
}

.sl {
	font-size: 130% !important;
}

.slm {
	font-size: 115% !important;
}

.sm {
	font-size: 100% !important;
}

.sms {
	font-size: 90% !important;
}

.ss {
	font-size: 80% !important;
}

.bn {
	border: none !important;
}

.ls {
	letter-spacing: -1px;
}

.lh1_4 {
	line-height: 1.4em;
}

.lh1_6 {
	line-height: 1.6em;
}

.tx_black {
	color: #403F41 !important;
}

.red {
	color: #FF0000 !important;
}

.red2 {
	color: #c30d22 !important;
}

.orange {
	color: #ff6300 !important;
}

.orange2 {
	color: #fbb133 !important;
}

.blue {
	color: #38589b !important;
}

.water {
	color: #5494c7 !important;
}

.pink {
	color: #ff7aab !important;
}

.bg_white {
	background: #fff;
}

.bg_pink {
	background: #fae5e5;
}

.bg_gray {
	background: #e6e7e7;
}

.red_bd {
	border: 1px solid #d10000;
}

.gray_bd {
	border: 1px solid #ccc;
}

.align_c {
	text-align: center;
}

.align_l {
	text-align: left;
}

.inline_w100 {
	display: inline-block;
	height: 0px;
	width: 100%;
}

.header {
	background-color: #fff;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 9998;
}

.smart .header_pc {
	display: none;
}

.header_smart {
	display: none;
}

.smart .header_smart {
	display: block;
}


.header_pc {
	max-width: 1040px;
	margin: 0 auto;
	position: relative;
	padding: 0 10px 5px;
	box-sizing: border-box;
}

.header_pc .logo {
	margin: 20px auto 5px;
	width: 184px;
}

.header_pc .logo a {
	background: url("../img/common/header_logo.png") no-repeat center center;
	display: block;
	height: inherit;
	height: 84px;
}

.header_pc .logo a:hover {
	opacity: 0.8;
}

.header_pc .header_s_links {
	position: absolute;
	top: -50px;
	right: 0px;
	text-align: right;
	padding: 5px 0px;
	z-index: 50;
}

.header_pc .header_s_links a {
	display: inline-block;
	width: 80px;
	margin: 0px 0px 0px 5px;
	font-size: 12px;
	line-height: 20px;
	text-align: center;
}

.header_pc .header_links {
	text-align: center;
	letter-spacing: -.4em;
}

.header_pc .header_links a {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
	box-sizing: border-box;
	padding: 8px 0;
	font-weight: bold;
	font-size: 1.35vw;
	line-height: 1.4em;
	text-align: center;
	color: #000;
}

.header_pc .header_links a:not(:last-child) {
	margin-right: 5px;
}

.header_pc .header_links a:hover {
	background-color: rgba(255, 255, 255, 0.3);
	color: #4D4D4D;
	text-decoration: none;
}

.header_pc .header_links a.reservation {
	color: #C82828;
}

.header_pc .header_links a.reservation:hover {
	color: #D84141;
}

.header_pc .header_links a>span {
	display: block;
	padding: 0 10px;
	font-family: Times, "Times New Roman", serif;
	border-bottom: 2px solid #000;
}

.header_pc .header_links a>small {
	display: block;
	padding: 0 5px;
	font-size: 0.65em;
	font-weight: normal;

}

.header_smart {
	position: relative;
	height: 62px;
	width: 100%;
}

.button_header_menu {
	position: absolute;
	display: block;
	width: 40px;
	height: 40px;
	top: 10px;
	right: 10px;
}

.button_header_menu.scroll {
	position: fixed;
	z-index: 10;
	top: auto;
	bottom: 20px;
}

#smt_header_links {
	background: rgba(32, 24, 0, 0.8);
	position: fixed;
	width: 100%;
	top: 0;
	left: 0px;
	z-index: 500;
	margin: 0px;
	text-align: center;
}

#smt_header_links>nav a {
	display: inline-block;
	box-sizing: border-box;
	width: 50%;
	padding: 15px 0;
	border-bottom: solid 1px #f6f6f6;
	color: #FFF;
}

#smt_header_links>nav a:hover {
	background-color: #EEE;
	color: #201800;
	text-decoration: none;
}

#smt_header_links>nav a:nth-child(odd) {
	border-right: solid 1px #f6f6f6;
}

#smt_header_links>nav a:last-child:nth-child(odd) {
	display: block;
	width: auto;
	border-right: none;
}


#smt_header_links a img {
	margin: 0px 7px 15px 7px;
	vertical-align: top;
}

/* */

.main {
	max-width: 1000px;
	margin: 20px auto;
	padding: 0px 10px;
}

.main article {
	margin: 10px;
}

.main article.main_box {
	padding: 10px;
	background: #E7DCCF;
}

h2.midasi {
	height: 165px;
	padding: 85px 0px 0px;
	background-position: center top;
	background-image: url(../img/contact/midasi_bg.jpg);
	font-weight: bold;
	font-size: 22px
		/*14px*/
	;
	color: #FFF;
	text-shadow: #000 0px 0px 2px;
	text-align: center;
}

h2.midasi strong {
	display: block;
	font-family: Times, "Times New Roman", serif;
	font-weight: normal;
	font-size: 40px;
}

.smart h2.midasi {
	height: 105px;
	padding: 45px 0px 0px;
	background-size: 960px 150px;
	font-size: 12px;
}

.smart h2.midasi strong {
	font-size: 30px;
}

.nav {
	margin: 10px;
	padding: 0px;
	width: auto;
	border-radius: 8px;
	overflow: hidden;
}

.nav ul {
	width: 100%;
	margin: 0px;
	padding: 0px;
}

.nav ul li {
	width: 100%;
	margin: 2px 0px 0px;
	padding: 0px;
	list-style: none;
}

.nav ul li:first-child {
	margin: 0px;
}

.nav ul li a {
	position: relative;
	background: url(../img/common/footer_icon_r.png) no-repeat right center #EFEFEF;
	background-size: 28px 14px;
	display: block;
	width: auto;
	height: 20px;
	padding: 15px 0px 15px 40px;
	vertical-align: middle;
	font-size: 110%;
	line-height: 20px;
	color: #4E3216 !important;
}

.nav ul li a:hover {
	background: url(../img/common/footer_icon_r.png) no-repeat right center #FFF;
	background-size: 28px 14px;
	text-decoration: none;
}

.nav ul li a em {
	display: block;
	position: absolute;
	top: 14px;
	left: 14px;
	width: 18px;
	height: 18px;
}

.nav ul li a em>img {
	max-width: 100%;
}


/* --------------------- */
.pagetop {
	position: fixed;
	z-index: 50;
	width: 60px;
	height: 60px;
	right: 30px;
	bottom: 30px;
}

/* --------------------- */
.tablet .pagetop {
	width: 45px;
	height: 45px;
}

.smart .pagetop {
	bottom: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
}

.linebutton {
	display: none;
}

.smart .linebutton {
	display: inline;
	margin: 0px 0px 10px;
	float: right;
}

.youtube {
	position: absolute;
	left: 30px;
	bottom: 40px;
}

.smart .youtube {
	position: relative;
	left: 0px;
	top: 0px;
	margin: 10px;
	text-align: center;
}

.top_only {
	display: none;
}

.pc {
	display: none;
}

.ib {
	display: inline-block;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (min-width: 799px) {
	.pc {
		display: block;
	}

	.smt {
		display: none;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* add 170902 */
.indent-li li {
	margin-bottom: 5px;
	padding-left: 1em;
	text-indent: -1em;
}

.caution-wp {
	padding: 0 10px;
}


/* add 171210 */
.breadcrumb {
	max-width: 1000px;
	margin: 0 auto;
	padding: 10px 0;
}

.breadcrumb li {
	display: inline-block;
	font-size: 12px;
}

.breadcrumb li strong {
	font-weight: normal;
}

.breadcrumb li a {
	color: #4E3216;
	text-decoration: none;
}

.breadcrumb li a:hover {
	text-decoration: underline;
}

.breadcrumb li:not(:first-child):before {
	content: ">";
	margin: 0 5px 0 7px;
}

.smart .breadcrumb {
	display: none;
}

.oh {
	overflow: hidden;
}

.indent1 {
	text-indent: -1em;
	padding-left: 1em;
}

.bold {
	font-weight: bold !important;
}

.italic {
	font-style: italic !important;
}

.force-inline-block {
	display: inline-block !important;
}



/* ======================================================
リニューアル
====================================================== */
/* header */
.header_block {
	padding: 0 3vw 0;
	margin: 0 auto;
	height: 70px;
	max-width: 1200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	transition:  height 0.3s;
}

.header_logo {
	width: 110px;
	padding: 10px 0;
}

.header_logo img {
	zoom: 1;
	width: 100%;
}

.header_nav li {
	font-size: 14px;
	font-weight: bold;
	text-align: left;
}

.header_nav li span {
	font-size: 14px;
}

.header_businessHours i {
	color: #AF0D1A;
	margin-right: 5px;
}

.header_telNo {
	line-height: 1.4;
}

@media screen and (max-width: 800px) {
	.header_nav {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
	}

	.header_nav li {
		line-height: 1.3;
	}

	.header_menu {
		background: rgba(32, 24, 0, 0.8);
		position: fixed;
		width: 100%;
		top: 0;
		left: 100%;
		z-index: 500;
		margin: 0px;
		height: 100vh;
		text-align: center;
		transition: 0.3s;
	}

	.header_menu.open {
		background: rgba(255, 255, 255, 0.96);
		position: fixed;
		width: 100%;
		top: 0;
		left: 0px;
		z-index: 500;
		margin: 0px;
		text-align: center;
		overflow: scroll;
	}

	.header_menu .header_nav li {
		display: inline-block;
		box-sizing: border-box;
		width: 100%;
		border-bottom: solid 1px #ccc;
		position: relative;
	}

	.header_menu .header_nav li:not(.smt_menu_head) a {
		display: block;
		padding: 25px 20px;
	}

	.header_menu .header_nav > li:not(.smt_menu_head)::after {
		/*content: "";*/
		position: absolute;
		top: 50%;
		right: 5%;
		border-top: solid 3px #fff;
		border-right: solid 3px #fff;
		width: 5px;
		height: 5px;
		transform: translateY(-50%) rotate(45deg);
	}

	.header_menu .header_nav > li:nth-last-child(2) {
		border-bottom: none;
	}

	.header_menu .header_nav > li:last-of-type {
		width: 100%;
		margin-top: 25px;
		border-bottom: none;
	}

	.header_menu .header_nav li:last-of-type::after {
		content: none;
	}

	.header_menu .header_nav li.smt_menu_head {
		background-color: #D93A2A;
		border-bottom: none;
	}

	.header_closeBtn {
		display: block;
		width: 90%;
		max-width: 325px;
		margin: 5px auto 0;
		border: 1px solid #D93A2A;
		padding: 10px 10px;
		color: #D93A2A;
	}

}

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

	.header_s_links {
		display: flex;
		align-items: center;
		margin-right: 15px;
	}

	.header_s_links a {
		margin: 0 0 0 40px;
		font-size: 12px;
	}

	.header_block {
		height: 90px;
		padding: 7px 10px 6px 10px;
	}

	.header_block.scroll {
		height: 70px;
	}

	.header_logo {
		/*width: 185px;*/
		width: 125px;
		position: static;
		max-width: none;
		display: flex;
		align-items: center;
		padding: 0;
	}

	.header_menu {
		background-color: transparent;
		display: flex;
		justify-content: center;
		flex: 1;
	}

	.header_nav {
		flex: 1 1 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 11%;
		max-width: 650px;
	}

	.header_nav li {
		padding: 0;
		font-size: 10px;
		color: #000000;
		text-align: center;
		background-color: transparent;
	}

	.header_nav li span {
		display: block;
		font-size: 14px;
	}

	.header_tel {
		line-height: 1.4;
	}

	.header_telNo {
		color: #666666;
		font-weight: bold;
		font-size: 24px;
	}

	.header_businessHours {
		font-size: 13px;
		margin-top: -5px;
		display: block;
		font-weight: bold;
	}
}

/* 言語メニュー */
.language {
	width: 185px;
	height: 100%;
	position: relative;
}
.language_menu {
	border: 1px solid #B1B1B1;
	background-color: #fff;
	border-radius: 25px;
	position: absolute;
	right: 0;
	top: calc((75px - 50px) / 2);
	width: 100%;
	padding: 17px 0;
	min-height: 50px;
	box-sizing: border-box;
	overflow: hidden;
    transition: top 0.3s;
}
.header_block.scroll .language_menu {
	top: calc((55px - 50px) / 2);
}
.language_menu .language_menu_list {
	display: grid;
	grid-template-rows: 0fr;
	transition: 0.5s;
	width: 100%;
	line-height: 1.4;
}
.language_menu:hover .language_menu_list {
	grid-template-rows: 1fr;
}
.language_menu p {
	transition: 0.3s;
	padding: 0 20px;
	position: relative;
	line-height: 1;
}
.language_menu:hover p {
	opacity: 0;
	line-height: 0;
}
.language_menu p::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	border-top: 8px solid #707070;
	border-bottom: 0;
}
.language_menu ul {
	overflow: hidden;
}
.language_menu ul li a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 3px 20px;
	position: relative;
}
.language_menu ul li a:hover {
	opacity: 0.7;
}
.language_menu ul li a:hover::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-right: 8px solid #707070;
	border-left: 0;
}

@media screen and (max-width: 800px) {
	.language {
        width: 90%;
		height: auto;
        margin: 0 auto;
        position: absolute;
        top: 15px;
        right: 5vw;
        max-width: 185px;
	}
	.language_menu {
		position: static;
		transition: 0.3s;
	}
	.language_menu:hover {
		padding: 0;
	}
	.language_menu:hover p {
		height: 0;
	}
	.language_menu_list {
		pointer-events: none;
	}
	.language_menu.is-active {
		padding: 0;
	}
	.language_menu.is-active .language_menu_list {
		grid-template-rows: 1fr;
		pointer-events: auto;
	}
	.language_menu.is-active p {
		height: 0;
		opacity: 0;
	}
	.header_menu .header_nav .language_menu li:last-of-type {
		border-bottom: none;
	}
	.language_menu_list ul li {
        display: inline-block;
        box-sizing: border-box;
        width: 100%;
        border-bottom: solid 1px #ccc;
        position: relative;
	}
	.language_menu_list ul li:last-of-type {
		border-bottom: none;
	}
	.language_menu_list ul li a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 10px 20px;
		position: relative;
	}
}

/* スマホ開閉関係 */
@media screen and (max-width: 800px) {
	.scroll-prevent {
		position: fixed;
		z-index: -1;
		width: 100%;
		height: 100%;
	}

	.open {
		right: 0;
		opacity: 1;
	}

	.smt_toggle {
		position: absolute;
		top: 44%;
		width: 32px;
		right: 10px;
		z-index: 9997;
		display: flex;
		flex-direction: column;
		align-items: center;
		transition: all 0.3s;
		padding: 0 5px 0;
		border-radius: 5px;
	}

	.toggle_txt {
		margin-top: 10px;
		font-size: 8px;
	}

	.smt_toggle.open .toggle_txt {
		color: #fff;
	}

	.smt_toggle_btn {
		display: inline-block;
		height: 1px;
		width: 24px;
		background-color: #000;
		position: relative;
	}

	.smt_toggle_btn::before,
	.smt_toggle_btn::after {
		content: "";
		height: 1px;
		width: 24px;
		background-color: #000;
		position: absolute;
		transition: 0.5s;
		transform-origin: left;
	}

	.smt_toggle_btn::before {
		top: -8px;
	}

	.smt_toggle_btn::after {
		bottom: -8px;
	}

	.change.smt_toggle_btn {
		background-color: transparent;
		color: #ffff;
	}

	.change.smt_toggle_btn::before {
		top: -8px;
		right: -4px;
		transform: rotate(45deg);
		background-color: #fff;
	}

	.change.smt_toggle_btn::after {
		bottom: -9px;
		right: -4px;
		transform: rotate(-45deg);
		background-color: #fff;
	}

	#smt_header_social {
		background-color: #333;
		text-align: center;
		padding: 8px 10px;
	}

	#smt_header_social a {
		display: inline-block;
		vertical-align: middle;
		max-width: 30px;
	}

	#smt_header_social a:not(:last-child) {
		margin-right: 15px;
	}

	#smt_header_social a img {
		display: block;
		margin: 0;
		width: 100%;
		height: auto;
	}
}

@media screen and (min-width: 801px) {
	.smt_toggle {
		display: none;
	}
}

/* section_bg */
.section_bg {
	position: relative;
	height: 350px;
	margin-top: -210px;
	z-index: -1;
}
.section_bg::before ,
.section_bg::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	padding-top: 5%;
	background: url(../../img/top/bg_mask.png) no-repeat;
	background-size: 100% 100%;
	z-index: 1;
}
.section_bg::before {
	top:-1px;
	transform: scale(1, -1);
}
.section_bg::after {
	bottom: -1px;
}
.section_bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.simpleParallax  {
	height: 100%;
}

@media screen and (min-width: 801px) {
	.section_bg {
		height: 650px;
	}
}

/* footer */
footer {
	position: relative;
	background-color: #fff;
}

.footer_wrap {
	border-bottom: 1px solid #F5F5F5;
	padding-bottom: 33px;
}

.footer_bnr {
	display: flex;
	flex-wrap: wrap;
	font-weight: bold;
	font-size: 14px;
	row-gap: 10px;
	text-align: center;
	line-height: 1.21;
	padding: 0 0 20px;
}

.footer_bnr li {
	display: block;
	width: calc(100% / 2);
}

.footer_bnr img {
	width: 100%;
	margin-bottom: 10px;
}

.footer_map {
	height: 0;
	overflow: hidden;
	padding-bottom: 48%;
	position: relative;
	margin-bottom: 10px;
}

.footer_map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

.footer_address {
	font-size: 18px;
	text-align: center;
}

.footer_copy {
	font-size: 10px;
	text-align: center;
}

@media screen and (min-width: 801px) {
	.footer_bnr {
		margin-top: -1.7vw;
		padding: 0 25px 45px;
	}
	.footer_bnr li {
		display: block;
		width: calc(100% / 4);
	}

	.footer_map {
		margin-bottom: 10px;
	}
}

/* footer nav */
.footer_log {
	width: 140px;
	display: block;
	margin: 0 auto;
	padding: 30px 0 40px;
}

.footer_log img {
	width: 100%;
}

.footer_nav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: bold;
	color: #000000;
}

.footer_nav ul li {
	padding: 0 25px;
	line-height: 1;
}

.footer_nav ul li + li{
	border-left: 1px solid #000;
}

.footer_nav ul li a {
	transition:  opacity 0.3s;
}

.footer_nav ul li a:hover {
	transition:  opacity 0.3s;
}


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


}

/* common */
h2.midasi {
	height: 385px;
	box-sizing: border-box;
}

.main_body {
	padding: 40px 3vw 40px;
	background-color: #fff;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.sub .main_body {
	margin-top: -280px;
}

.main_inr {
	max-width: 1000px;
	margin: 0 auto;
}
.sec_inr {
	padding: 0 7vw;
	box-sizing: border-box;
}

.w1200 {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 5vw;
	box-sizing: border-box;
}

@media screen and (min-width: 801px) {
	.sec_inr {
		max-width: 1040px;
		padding: 0 20px;
		margin: 0 auto;
	}
	.w1200 {
		padding: 0 20px;
	}
	.main_body {
		padding: 40px 20px 80px;
	}
	.sub .main_body {
		margin-top: -100px;
	}
}

/* title */
.sec_ttl {
	font-size: 50px;
	position: relative;
	font-weight: 400;
	font-family: 'OoohBaby';
}

.sec_ttl.sub {
	margin-bottom: 47px;
    padding-bottom: 18px;
}

.sec_ttl::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 8px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #000000;
	width: 100px;
	height: 5px;
}

.sec_ttl span {
	display: block;
	font-size: 10px;
	margin-top: -18px;
}

@media screen and (min-width: 801px) {
	.sec_ttl {
		font-size: 68px;
	}

	.sec_ttl span {
		margin-top: -15px;
	}
}

/* common */
.c_btnWrap {
	display: flex;
	align-items: center;
	justify-content: center;
}

.c_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 434px;
	max-width: 100%;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	padding: 25px 20px;
	background-color: #D93A2A;
	box-sizing: border-box;
}

@media screen and (min-width: 801px) {
	.c_btn {
		min-width: 434px;
	}
}

/* anime
  ---------------------------------------------------------------------- */

/* 季節のロゴ追加 */
.header_logoWrap {
	display: flex;
	align-items: center;
	flex: 0 1 auto;
	gap: 10px;
}

.season_logo ,
.icon_wifi {
	width: 55px;
}

.season_logo img ,
.icon_wifi img {
	width: 100%;
}