@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@700&display=swap');
* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}

:root {
	--main-color1: #724638;
	--main-color2: #da870c;
	--link-color: #b91d32;
	--alert-color: #f77c78;
	--text-color: #303231;
}

/* ******************************************* */
/*		  total
/* ******************************************* */
/* For modern browsers */
article { margin-bottom: 2rem; }
article article { margin-bottom: 1em; }

.fitting {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba( 255, 255, 255, 0.85 );
	top: 0px; left: 0px;
	z-index: 10000;
	display: flex;
	justify-content: center;
	align-items: center;
}
/* ******************************************* */
/*		  font
/* ******************************************* */
.hiragino { font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; }
.meiryo { 	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif; }
.mincho {	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

body {
	font-family: 'Zen Maru Gothic', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 18px;
	line-height: 1.6;
	color: var(--text-color);
	background: #e7bba4;
	color: var(--text-color);
	word-wrap: break-word;
	overflow-y: scroll;
	counter-reset: points;
}
/* ******************************************* */
/*		  container wrapper section etc
/* ******************************************* */
#container {
	min-width: 1150px;
	min-height: 100vh;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	background: #e7bba4;
}
section {
	margin: 4rem auto 6rem;
}
section.color {
	padding: 4rem 500px 6rem;
	margin: 0 -500px 0;
	background: #eedcc7;
}
section.img01 {
	position: relative;
	width: 100vw;
	padding: 5rem 0; margin: 0;
	top: 0; left: 50%;
	margin-left: -50vw;
	background: url('/_images/bg01.jpg');
	background-size: cover;
	background-position: 50%;
}
/* wrapper */
.wrapper {
	width: 95%;
	max-width: 1300px;
	margin: 0px auto;
}
.mini_wrapper {
	width: 80%;
	max-width: 1000px;
	margin: 0 auto;
}
.white_wrapper {
	width: 95%;
	max-width: 1000px;
	margin: 1.5rem auto;
	background: #FFFFFF;
	padding: 2.5rem 3.5rem;
}
strong { color: var(--main-color1); }
.invisible { display: none !important; }

a.textlink { color: var(--link-color); text-decoration: underline; display: inline-block; }
a.textlink:hover { color: var(--link-color); text-decoration: none; }

.flex { display: flex; justify-content: center; align-items: center; }
.flex > * { margin: 10px; }
@media(max-width: 736px){ .flex > * { margin: 3px; } }

.font50 { font-size: 50%; }
.font55 { font-size: 55%; }
.font60 { font-size: 60%; }
.font65 { font-size: 65%; }
.font70 { font-size: 70%; }
.font75 { font-size: 75%; }
.font80 { font-size: 80%; }
.font85 { font-size: 85%; }
.font90 { font-size: 90%; }
.font95 { font-size: 95%; }

@media(min-width: 737px){
	.pc_left { float: left; }
	.pc_right { float: right; }
	.pc_flex { display: flex; justify-content: space-between; }
	.pc_flexs { display: flex; justify-content: space-between; align-items: center; }
	.pc_flexc { display: flex; justify-content: center; align-items: center; }
	.pc_flexc > * { margin: 10px; }
	.pc_flex .orders,
	.pc_flexs .orders { order: 50; }
	.c0 { display: none; }
	.c1 { width:  5.83%; }
	.c2 { width: 14.16%; }
	.c3 { width: 22.50%; }
	.c4 { width: 30.83%; }
	.c5 { width: 39.16%; }
	.c6 { width: 47.50%; }
	.c7 { width: 55.83%; }
	.c8 { width: 64.16%; }
	.c9 { width: 72.50%; }
	.c10 { width: 80.83%; }
	.c11 { width: 90%; }
	.c12 { width: 100%; }
}
@media(max-width: 1149px){
	body {
		font-size: 14px;
		line-height: 1.4;
		-webkit-text-size-adjust: 100%;
	}
	section {
		margin: 3rem auto 4.8rem;
	}
	section.color {
		padding: 3rem 500px 4.8rem;
		margin: 0 -500px 0;
	}
	#container { min-width: 100%; }
	.wrapper { width: 100%; padding: 0 3.5vw; }
	.mini_wrapper { width: 100%; padding: 0 5vw; }
	.padding_wrapper { padding: 0 10px; margin: 0px auto; }
	.pc_flexc img { max-width: 80%; }
	.white_wrapper { padding: 1.5rem !important; }
}

/* ************* 写真風画像 **************/
.imagecaption {
	margin: 0.5rem auto;
	text-align: center;
	font-weight: bold;
	color: var(--main-color1);
}
.photocaption {
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 8px;
	text-align: center;
}
.photoimage {
	padding: 8px 10px;
	box-shadow: rgba(0, 0, 0, 0.35) 4px 3px 11px;
	background: #fff;
	margin-bottom: 20px;
}
.photoimage.l05 { transform: rotate( -0.5deg ); }
.photoimage.l10 { transform: rotate( -1.0deg ); }
.photoimage.l15 { transform: rotate( -1.5deg ); }
.photoimage.r05 { transform: rotate(  0.5deg ); }
.photoimage.r10 { transform: rotate(  1.0deg ); }
.photoimage.r15 { transform: rotate(  1.5deg ); }
@media(max-width: 1040px){
	.photoimage { padding: 4px; }
}

/* ************* 丸囲いイメージ **************/
.circleimage {
	position: relative;
	overflow: hidden;
	border-radius: 1000px;
	background-size: cover;
	background-position: 50% 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 10px solid #ffffff;
	box-shadow: 4px 4px 5px rgba( 0, 0, 0, 0.3 );
}

.effect { opacity: 0; transition: 0.8s; position: relative; top: 100px; }
.effect.scroll { opacity: 1; top: 0; }
.effect2 { opacity: 0; transition: 0.8s; transform: scale( 1.4 ); }
.effect2.zoomin { opacity: 1; transform: scale( 1.0 ); }

p.mark0 { display: inline-block; padding: 0px 8px; background: #eeeeee; color: #ffffff; font-size: 70%; border-radius: 4px; margin-left: 10px; }
p.mark1 { display: inline-block; padding: 0px 8px; background: #fc9317; color: #ffffff; font-size: 70%; border-radius: 4px; margin-left: 10px; }
p.mark2 { display: inline-block; padding: 0px 8px; background: #00cc58; color: #ffffff; font-size: 70%; border-radius: 4px; margin-left: 10px; }
p.mark3 { display: inline-block; padding: 0px 8px; background: #17aafc; color: #ffffff; font-size: 70%; border-radius: 4px; margin-left: 10px; }
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  背景素材
/* ******************************************* */

/* ******************************************* */
/*		  a link setting
/* ******************************************* */
a {
	color: #303030;
	text-decoration: none;
	cursor: pointer;
	outline: none;
}
a:hover, a:focus, a:active {
	color: #303030;
	text-decoration: none;
}
a img {
	border: 0;
}
img {
	max-width: 100%;
}
a[href^="tel:"] { cursor: default; }

sub { font-size: .7em; vertical-align: bottom; position: relative; bottom: -2px; }
ion-icon { bottom: -0.15em; position: relative; }
p a { color: var(--main-color1); text-decoration: underline;  }
p a:hover { color: var(--main-color1); }
i.fas { font-size: 0.75em; top: -2px; position: relative; margin-right: 0.2em; }

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

/* ******************************************* */
/*		  header PC
/* ******************************************* */
#header {
	background: rgba(68, 48, 48, 0.85);
	position: fixed;
	z-index: 9999;
	width: 100%;
	top: 0;
	transition: 0.1s;
}
#header.skeleton { opacity: 0.9; }
#header.skeleton:hover { opacity: 1.0; }
@media(min-width:1600px){
	#header .header_top {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0.2rem 1.5rem;
	}
	#header .header_top h1 {
		font-size: 12px;
		line-height: 12px;
		color: #333333;
		transition: 0.1s;
	}
	#header .header_top .logo { flex: 1; }
	#header .header_top .logo a { display: flex; align-items: center; flex: 1; display: flex; align-items: center; font-size: 1.2rem; color: #FFFFFF; font-weight: bold; }
	#header .header_top .logo p { margin-left: 1rem; font-size: 1.6rem; color: #FFFFFF; font-weight: bold; }
	#header .header_top .logo img { width: auto; height: auto; max-width: 550px; max-height: 60px; transition: 0.1s; }
	#header .header_top #gnav {
		display: flex;
		align-items: center;
		margin: 0 1rem;
	}
	#header .header_top #gnav ul {
		display: flex;
		margin: 0 1rem;
	}
	#header .header_top #gnav ul li {
		border-right: 1px solid #ddd;
	}
	#header .header_top #gnav ul li:last-of-type { border: none; }
	#header .header_top #gnav ul li a {
		display: block;
		font-weight: bold;
		padding: 0.2rem 1.2rem;
		color: #FFFFFF;
		border-bottom: 4px solid transparent;
		position: relative;
		top: 2px;
	}
	#header .header_top #gnav ul li a::after {
		position: absolute; content: "";
		left: 50%; bottom: -1px; width: 0px; height: 1px;
		background: #FFFFFF;
		transition: 0.2s;
	}
	#header .header_top #gnav ul li a:hover::after { left: 10%; bottom: -1px; width: 80%; height: 1px; }
	#header .header_top #gnav ul li a.current {
		color: #79797B;
		border-bottom: 4px solid #FFFFFF;
	}
	#header .header_top .login {
		display: flex;
	}
	#header .header_top .login a {
		border-radius: 10rem;
		overflow: hidden;
		margin: 0.25rem;
		max-width: 100px; 
	}
	#header .header_top .tel { color: #FFFFFF; font-size: 1.8rem; line-height: 1.1; font-weight: bold; }
	#header .header_top .tel p { font-size: 0.7rem; letter-spacing: 0.1rem; text-align: center; }
}
@media screen and ( min-width: 1040px ) and ( max-width: 1599px ) {
	#header .header_top {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0.2rem 1.0rem;
	}
	#header .header_top .logo { flex: 1; }
	#header .header_top .logo a { display: flex; align-items: center; flex: 1; display: flex; align-items: center; font-size: 1.0rem; color: #FFFFFF; font-weight: bold; }
	#header .header_top .logo p { margin-left: 1rem; font-size: 1.2rem; color: #FFFFFF; font-weight: bold; }
	#header .header_top .logo img { width: auto; height: auto; max-width: 300px; max-height: 60px; transition: 0.1s; }
	#header .header_top #gnav {
		display: flex;
		align-items: center;
		margin: 0 0.5rem;
	}
	#header .header_top #gnav ul {
		display: flex;
		margin: 0 0.5rem;
	}
	#header .header_top #gnav ul li {
		border-right: 1px solid #ddd;
	}
	#header .header_top #gnav ul li:last-of-type { border: none; }
	#header .header_top #gnav ul li a {
		display: block;
		font-weight: bold;
		font-size: 0.8rem;
		padding: 0.2rem 0.75rem;
		color: #FFFFFF;
		border-bottom: 4px solid transparent;
		position: relative;
		top: 2px;
	}
	#header .header_top #gnav ul li a::after {
		position: absolute; content: "";
		left: 50%; bottom: -1px; width: 0px; height: 1px;
		background: #FFFFFF;
		transition: 0.2s;
	}
	#header .header_top #gnav ul li a:hover::after { left: 10%; bottom: -1px; width: 80%; height: 1px; }
	#header .header_top #gnav ul li a.current {
		color: #79797B;
		border-bottom: 4px solid #FFFFFF;
	}
	#header .header_top .login {
		display: flex;
	}
	#header .header_top .login a {
		border-radius: 10rem;
		overflow: hidden;
		margin: 0.25rem;
		max-width: 80px; 
	}
	#header .header_top .tel { display: none; }
}
/* ******************************************* */
/*		  header SP
/* ******************************************* */
@media(max-width:1040px){
	.header_info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
	}
	.header_info .logo {
		margin: 2vw;
		width: 85vw;
		max-width: 400px;
		display: flex;
	}
	.header_info .logo img {
		max-width: 100%;
		height: auto;
	}
	.header_info .button {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header_info .button > div { margin: 2vw 1vw; }
	.header_info .trigger {
		vertical-align: middle;
		display: inline-block;
	}
	.header_info .menu {
		background: url('/_images/menu.png') 0 0 no-repeat;
		background-color: var(--main-color1);
		background-size: 100% 100%;
		border-radius: 4px;
		transition: 0.3s;
		width: 12vw; height: 12vw;
		max-width: 60px;
		max-height: 60px;
	}
	.header_info .open .menu {
		background: url('/_images/close.png') 0 0 no-repeat;
		transition: 0.3s;
		background-color: var(--main-color1);
		background-size: 100% 100%;
	}
}

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

/* ******************************************* */
/*		  gnav SP
/* ******************************************* */
@media(max-width:1040px){
	#rwd_menu {
		background: var(--main-color1);
		color: #fff;
		width: 100%;
	}
		#rwd_menu ul {
			width: 100%;
		}
		#rwd_menu ul li {
			border-bottom: 1px solid rgba( 0, 0, 0, 0.3 );
		}
		#rwd_menu ul li a {
			display: block;
			font-size: 15px;
			color: #fff;
			line-height: 2.5;
			text-align: center;
			text-decoration: none;
		}
		#rwd_menu ul li a::after {
			content: "　≫";
		}

}

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

/* ******************************************* */
/*		  見出し・セクション
/* ******************************************* */
.tops {
	background: url('/_images/mv01.jpg') no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	width: 100%;
	height: 100vh;
	position: relative;
	z-index: 0;
}
.tops::after {
	background: url('/_images/bg_cloud.png') no-repeat;
	width: 100%; height: 8.5vw;
	background-size: 100% 100%;
	position: absolute;
	bottom: 0; left: 0;
	z-index: 1;
	content: "";
}
.tops .inner {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 1200px;
	margin: 0 auto;
	height: 100vh;
}
.tops .inner .mainbody { z-index: 1999; }
.tops .inner .mainbody .logo { margin-bottom: 1rem; }
.tops .inner .mainbody .text { mix-blend-mode: hard-light; font-size: 2.7rem; font-weight: bold; margin-bottom: 1.75rem; color: #FFFFFF; text-shadow: 0 0 1rem #99645a, 0 0 1rem #5a3e31, 0 0 1rem #49341c; }

.tops .message {
	width: 300px;
	height: 300px;
	position: absolute;
	right: 10vw; bottom: 3rem; z-index: 20;
}
.tops .message .rotate { transform: rotate( 5deg ); }
@media(max-width:1040px){
	.tops { height: 65vmax; z-index: 10; }
	.tops .inner {
		width: 100%;
		padding: 4vw 3vw 0vw;
		text-align: center;
		height: 65vmax;
	}
	.tops .inner > div { width: 100%; }
	.tops .inner .images { display: none; }
	.tops .inner .mainbody .logo { margin: 0.5rem auto; width: 80%; max-width: 440px; }
	.tops .inner .mainbody .text { font-size: 4.5vw; font-weight: bold; margin-bottom: 1.5rem; color: #FFFFFF;}
	.tops .inner .mainbody .icon { margin: 0.5rem auto 0; width: 80%; max-width: 300px; }
	.tops .message { width: 20vw; height: 20vw; right: 0vw; margin: 3vw; bottom: -10vw; z-index: 20; }
	.tops .message .rotate { transform: rotate( 5deg ); }
}
@media(max-width:400px){ .tops .message { width: 100px; height: 100px; right: 50vw; margin-right: -50px; bottom: -10vw; z-index: 20; } }

h2 {
	font-family: 'Oswald', 'Zen Maru Gothic', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	text-align: center;
	font-size: 3.0rem;
	font-weight: bold;
	color: var(--main-color1);
	margin: 0.5rem auto 2.0rem;
	position: relative;
}
h2 span {
	position: absolute;
	display: block;
	border-top: 1px dotted var(--main-color1);
	width: 500px; bottom: -1.5rem; left: 50%; margin-left: -250px;
	font-size: 0.8rem; padding-top: 0.3rem;
	letter-spacing: 0.2rem;
}
h3 {
	margin-bottom: 1.5rem;
	padding-bottom: 0.25rem;
	font-size: 1.85rem;
	font-weight: bold;
	color: var(--main-color1);
}
h4 {
	margin: 1rem auto 0.5rem;
	font-size: 1.1rem;
	font-weight: bold;
}
h5 {
	color: var(--main-color1);
	margin: 1rem auto 0.5rem;
	font-size: 1.1rem;
	font-weight: bold;
}
@media(max-width:1040px){
	h2 { font-size: 1.5rem; }
	h2 span { width: 300px; bottom: -1.5rem; left: 50%; margin-left: -150px; }
	h3 { font-size: 1.3rem; }
}

.bg_seamless { position: relative; z-index: 0; }
.bg_seamless::before {
	position: absolute; top: 0; left: 0;
	width: 100%; height: 100%; content: "";
	background: url('/_images/bg_set.jpg');
	mix-blend-mode: multiply;
	z-index: -1;
}

#container::before {
	position: absolute;
	content: "";
	top: 0; left: 0; width: 100%; height: 100%;
	background: url('/_images/overlay.jpg');
	mix-blend-mode: darken;
	opacity: 0.25;
	z-index: 9999;
	pointer-events: none;
}

.sideimage_box { position: relative;}
.sideimage_box p { z-index: 10; text-shadow: 0 0 5px #FFF,0 0 5px #FFF,0 0 5px #FFF,0 0 5px #FFF,0 0 5px #FFF,0 0 5px #FFF,0 0 5px #FFF; }
.sideimage_box::before {
	background: url('/_images/leftside.png') no-repeat;
	background-size: contain; z-index: 0;
	width: 450px; height: 450px; content: ""; position: absolute; top: 50%; margin-top: -225px; left: 50%; margin-left: -700px;
}
.sideimage_box::after {
	background: url('/_images/rightside.png') no-repeat;
	background-size: contain; z-index: 0;
	width: 450px; height: 450px; content: ""; position: absolute; top: 50%; margin-top: -225px; right: 50%; margin-right: -700px;
}
#top {
	background: url('/_images/bg01.png') no-repeat;
	background-position: 0 100%; background-size: 100vw 23.125vw; margin: 0; padding: 1.5rem 0 8rem;
}
@media(max-width:1040px){
	.sideimage_box::before { width: 180px; height: 180px; top: 102%; margin: 0; left: 3vw; }
	.sideimage_box::after { width: 180px; height: 180px; top: 102%; margin: 0; right: 3vw; }
	#top { padding-bottom: 200px; }
}


/* ******************************************* */
/*		  ボタン関係
/* ******************************************* */
.link { display: flex; justify-content: center; align-items: center;}
input[type="submit"],
.link a, .link p {
	display: inline-block;
	margin: 10px 5px;
	padding: 0.5rem 1.5rem;
	border: none;
	border-radius: 100px;
	background: linear-gradient(135deg, var(--main-color1) 0%, var(--main-color2) 100%);
	color: #ffffff;
	position: relative;
	line-height: 1rem; font-size: 0.85rem; font-weight: bold;
}
input[type="submit"] { display: block; margin: 0 auto 1rem; cursor: pointer; }
.link a.big { font-size: 1.5rem; padding: 1.5rem 2rem; margin: 2rem auto; line-height: 1.3; }

.link p { background: #DDDDDD; }
.link p.next::after,
.link a.next::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\00a0\f138";
}
.link p.back::before,
.link a.back::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f137\00a0";
}
input[type="submit"]:hover,
.link a:hover {
	opacity: 0.75;
}
ul.sidelink {
	margin: 20px auto 60px;
}
ul.sidelink li {
	border-top: 1px solid #ccc;
}
ul.sidelink li:last-of-type {
	border-bottom: 1px solid #ccc;
}
ul.sidelink li a {
	display: block;
	font-size: 110%;
	padding: 0.5em 0;
	font-weight: bold;
}
ul.sidelink li a:hover {
	color: var(--main-color1);
}

.simplelink,
.anchorlink {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	margin: 40px -16px;
}
.simplelink a,
.anchorlink a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	border: 2px solid var(--main-color1);
	color: var(--main-color1);
	border-radius: 4px;
	background: #ffffff;
	margin: 8px 16px;
	width: calc( 25% - 32px );
	height: 68px;
	padding: 0px 1rem 10px;
	font-weight: bold;
	line-height: 1.3;
}
.simplelink a { padding: 0 2rem 0 1rem; }
.anchorlink a::after {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-weight: 900;
	content: "\f107";
	display: block;
	bottom: 0px; left: 50%; width: 30px; margin-left: -15px;
}
.simplelink a::after {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-weight: 900;
	content: "\f138";
	display: block;
	top: 50%; right: 12px; margin-top: -0.5em; line-height: 1.0em;
}
.simplelink a:hover,
.anchorlink a:hover {
	color: #76d4e3;
	border: 2px solid #76d4e3;
	border-radius: 4px;
	background: #ffffff;
}
@media(max-width:1040px){
	.simplelink,
	.anchorlink { margin: 20px -4px; }
	.simplelink a,
	.anchorlink a {
		font-size: 13px;
		margin: 4px;
		width: calc( 50% - 8px );
		height: 55px;
		padding: 0px 1rem 10px;
	}
	.simplelink a { padding: 0 1.2rem 0 1rem; }
	.simplelink a::after { right: 4px; }
}

/* ******** 横並びフレックス画像 ****** */
.flex_images {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 40px auto;
	max-width: 800px;
}
.flex_images > * {
	box-shadow: 3px 3px 6px rgba( 0, 0, 0, 0.3 );
	border: 10px solid #ffffff;
	margin: 10px;
}
.flex_images.icon > * {
	display: block;
	background: #ffffff;
	border: 4px solid var(--main-color1);
	border-radius: 8px;
	box-shadow: 3px 3px 6px rgba( 0, 0, 0, 0.3 );
}
@media(max-width:1040px){
	.flex_images { margin: 20px auto; }
	.flex_images > * {
		border: 5px solid #ffffff;
		margin: 5px;
	}
	.flex_images.icon > * {
		border: 3px solid var(--main-color1);
		border-radius: 8px;
	}
}

/* ******************************************* */
/*		  画像汎用・テキスト汎用
/* ******************************************* */
.imagebox,
.imagebox_full { text-align: center; margin: 0 auto 20px; }
.imagebox { width: 80%; }
.minitext { font-size: 0.85rem; }
.text {
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 1.0em;
}
p.price { color: #e64343; font-size: 1.6rem; margin: 0.5em 0; font-weight: bold; text-align: right; }
p.price span { margin-left: 0.5rem; font-size: 1.0rem; position: relative; }
p.price span span { position: absolute; right: 0rem; top: -1.2rem; font-size: 0.75rem; }
.text p { margin-bottom: 1.0em;	}
.text p:last-of-type { margin-bottom: 0px; }
.answer a,
.text a { color: var(--main-color1); display: inline-block; margin: 0 0.25em; text-decoration: underline; }
.answer a:hover,
.text a:hover { text-decoration: none; }

.toptext {
	font-size: 110%;
	line-height: 1.6;
	margin-bottom: 1.5em;
}
.toptext p { margin-bottom: 1.3em; }
.toptext p:last-of-type { margin-bottom: 0px; }

.largetext {
	font-size: 135%;
	font-weight: 600;
	margin-bottom: 1.5em;
}
.largetext p { margin-bottom: 1.0em; }
.largetext p:last-of-type { margin-bottom: 0px; }
.bigtext {
	font-size: 150%;
	font-weight: 600;
	margin-bottom: 0.5em;
	letter-spacing: 0.1em;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
.bigtext p { margin-bottom: 1.0em;	}
.bigtext p:last-of-type { margin-bottom: 0px; }
.gigatext {
    font-size: 300%;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
.sample,
.caption {
	font-size: 0.8em;
	color: #777;
	margin-bottom: 1.0em;
}
.caption p {
	position: relative;
	margin-bottom: 0.25em;
	padding-left: 1.5em;
}
.sample p:nth-last-of-type(-n+1) {
	margin-bottom: 0.5em;
}
.caption p::before { position: absolute; content: "※"; margin-left: -1.5em; }
.caption p:last-of-type { margin-bottom: 0px; }
@media(max-width:1040px){
	.imagebox { max-width: 80%; margin: 0 auto 10px; }
	.imagebox_full { margin: 0 auto 10px; }
	.largetext,
	.bigtext {
		font-size: 1.15rem;
		margin-bottom: 1.0em;
	}
	.gigatext {
		font-size: 2rem;
		letter-spacing: 0em;
	}
}

/* ******************************************* */
/*		  リスト汎用・テーブル汎用
/* ******************************************* */
ul.col_2, ul.col_3, ul.col_4, ul.col_5, ul.col_6 {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 0px -10px 40px;
}
ul.col_2 li { width: calc( 50% - 20px ); margin: 10px; }
ul.col_3 li { width: calc( 33.33% - 20px ); margin: 10px; }
ul.col_4 li { width: calc( 25% - 20px ); margin: 10px; }
ul.col_5 li { width: calc( 20% - 20px ); margin: 10px; }
ul.col_6 li { width: calc( 16.66% - 20px ); margin: 10px; }
@media(max-width:1040px){
	#feature ul.col_3 { display: block; }
	#feature ul.col_3 li { width: 100%; max-width: 360px; margin: 2rem auto; }
}


/************ リンクに矢印を付与 ************/
.arrow_icon a {
	display: block;
	position: relative;
	padding-left: 1em !important;
}
.arrow_icon a::before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 0px;
	transition: 0.2s;
	left: 0px;
}
.arrow_icon a:hover { opacity: 0.6; }
.arrow_icon a:hover::before { margin-left: 4px; }
.next_icon a {
	display: block;
	position: relative;
}
.next_icon a::after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 0px;
	right: 0px;
}

/******************* アイコンリスト ************************/
ul.icon_list li {
	display: flex;
	justify-content: center;
	align-items: center; text-align: center;
	flex-wrap: wrap;
	width: 150px; height: 150px; color: #ffffff;
	background: #4eb3f4; border-radius: 150px;
	font-weight: bold;
}
ul.icon_list li i { font-size: 60px; line-height: 60px; width: 140px; margin: 0 0 -45px; }
ul.icon_list li p { font-size: 22px; line-height: 1.2; }
@media(max-width: 736px){
	ul.icon_list li {
		width: 24vw; height: 24vw; color: #ffffff;
		background: #4eb3f4; border-radius: 150px;
		font-weight: bold;
	}
	ul.icon_list li i { font-size: 12vw; line-height: 12vw; width: 24vw; margin: 0 0 -6.5vw; }
	ul.icon_list li p { font-size: 3vw; line-height: 1.2; }
}

ul.icon_text {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
}
ul.icon_text li {
	padding: 1rem;
	margin: 1.0rem;
	text-align: center;
	width: 300px;
}
ul.icon_text li i {
	font-size: 100px;
	line-height: 180px;
	width: 180px;
	height: 180px;
	background: var(--main-color1); border-radius: 180px;
	color: #FFFFFF;
	margin: 0 0 1rem;
}
ul.icon_text li p:nth-of-type(1) {
	font-size: 22px; line-height: 1.2;
	color: var(--main-color1);
	font-weight: bold;
	margin-bottom: 0.5rem;
}
@media(max-width: 767px){
	ul.icon_text li {
		padding: 0rem; margin: 0.5rem 0.25rem;
		width: 145px;
	}
	ul.icon_text li:nth-of-type(1) { margin: 0.5rem 2rem; }
	ul.icon_text li i {
		font-size: 40px;
		line-height: 80px;
		width: 80px;
		height: 80px;
	}
	ul.icon_text li p:nth-of-type(1) { font-size: 20px; }
}

ul.iconic_list {
	max-width: 800px;
	margin: 0 auto;
}
ul.iconic_list li {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 1.0rem auto;
	text-align: center;
}
ul.iconic_list li i {
	font-size: 70px;
	line-height: 120px;
	width: 120px;
	height: 120px;
	background: var(--main-color1); border-radius: 120px;
	color: #FFFFFF;
	margin: 0 0 1rem;
}
ul.iconic_list li .mainbody { flex: 1; }
ul.iconic_list li i { order: 1; }
ul.iconic_list li .mainbody { order: 2; text-align: left; margin-left: 2rem; }
ul.iconic_list li .mainbody p:nth-of-type(1) {
	font-size: 22px; line-height: 1.2;
	color: var(--main-color1);
	font-weight: bold;
	margin-bottom: 0.5rem;
}
@media(max-width: 767px){
	ul.iconic_list li {
		padding: 0rem; margin: 1.2rem 0.25rem;
	}
	ul.iconic_list li i {
		font-size: 40px;
		line-height: 80px;
		width: 80px;
		height: 80px;
	}
	ul.iconic_list li .mainbody p:nth-of-type(1) { font-size: 20px; }
}

/* ******************************************* */
/*          table
/* ******************************************* */
table.common_table {
	width: 100%;
	max-width: 1000px;
	border-collapse: separate;
	border-spacing: 4px;
}
table.common_table tr {
	display: flex;
	margin: 8px auto;
	align-items: center;
	padding-bottom: 8px;
	border-bottom: 1px dotted #cccccc;
}
table.common_table tr th {
	width: 25%;
	min-width: 100px;
	padding: 0.5rem 1rem;
	text-align: center;
	border-radius: 100px;
	border: 4px double var(--main-color1);
	color: var(--main-color1);
}
table.common_table tr td {
	flex: 1;
	padding-left: 1.5rem;
}

table.lineup_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 6px 1px;
	font-size: 1rem;
}
table.lineup_table tr th:first-of-type {
	width: 200px;
}
table.lineup_table tr th {
	position: relative;
	padding: 0.3rem 1rem;
	z-index: 0;
	border-top: 1px solid #333333;
	font-weight: bold;
	border-bottom: 1px solid #333333;
	color: #333333;
	font-weight: bold;
	width: 130px;
}
table.lineup_table tr td {
	padding: 4px 1em;
	text-align: center;
	font-size: 0.9rem;
	border-bottom: 1px solid #c9c9c9;
}
table.lineup_table tr.border td { border-bottom: 3px double #c9c9c9; }
@media(max-width: 1040px){
	table.lineup_table tr th {
		padding: 0.3rem;
		line-height: 1.1;
		color: #333333;
		width: auto;
	}
}

/* ******************************************* */
/*		  TOP NEWS Ticker
/* ******************************************* */
a.scroll {
	display: block;
	position: absolute;
	border: 1px solid #fff;
	border-radius: 100px;
	padding: 12px 0px;
	color: #fff;
	text-align: center;
	font-size: 18px;
	line-height: 1.4;
	width: 150px;
	bottom: 2.5rem;
	z-index: 2000;
	left: 50%;
	margin-left: -75px;
	box-shadow: rgba( 0, 0, 0, 0.2 ) 0 0 10px,rgba( 0, 0, 0, 0.2 ) 0 0 10px,rgba( 0, 0, 0, 0.2 ) 0 0 10px,rgba( 0, 0, 0, 0.2 ) 0 0 10px,rgba( 0, 0, 0, 0.2 ) 0 0 10px,rgba( 0, 0, 0, 0.2 ) 0 0 10px,rgba( 0, 0, 0, 0.2 ) 0 0 10px;
	text-shadow: rgba( 0, 0, 0, 0.3 ) 0 0 8px,rgba( 0, 0, 0, 0.3 ) 0 0 8px,rgba( 0, 0, 0, 0.3 ) 0 0 8px,rgba( 0, 0, 0, 0.3 ) 0 0 8px,rgba( 0, 0, 0, 0.3 ) 0 0 8px,rgba( 0, 0, 0, 0.3 ) 0 0 8px,rgba( 0, 0, 0, 0.1 ) 0 0 8px;
}
@media(max-width:1040px){
	a.scroll {
		display: none;
	}
}

.top_slider li { height: 500px; overflow: hidden; position: relative; }
.top_slider li .inner {
	display: flex; position: absolute;
	width: 100%; height: 100%; top: 0; left: 0;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #FFFFFF;
	text-shadow: 0 0 1rem var(--main-color2), 0 0 1rem var(--main-color2), 0 0 1rem var(--main-color2), 0 0 1rem var(--main-color2), 0 0 2px var(--main-color1);
}
.top_slider li p:nth-of-type(1) {
	border-bottom: 1px solid #FFFFFF;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	font-size: 2.4rem; font-weight: bold;
	letter-spacing: 0.15rem;
}
.top_slider li p:nth-of-type(2) {
	font-size: 0.8rem;
	letter-spacing: 0.1rem;
}
.top_slider li .inimage { height: 500px; }
@media(max-width:1040px){
	.top_slider li {
		height: 350px;
		text-align: center;
	}
	.top_slider li .inimage { height: 350px; }
	.top_slider li p:nth-of-type(1) { font-size: 1.5rem; letter-spacing: 0.1rem; }
	.top_slider li p:nth-of-type(2) { font-size: 0.65rem; }
}

section.color1 {
	background: linear-gradient( 100deg, #ff8d92 0%, #f35c7d 100% );
	padding: 3rem 0;
	margin: 0 auto;
	position: relative;
}
section.color1 h2,
section.color1 > * { color: #FFFFFF; }
section.color1 .caption { color: rgba( 255, 255, 255, 0.6 ); }
section.color2 {
	background: repeating-linear-gradient( 45deg, #ffead5 0px, #ffead5 4px, #FFFFFF 4px, #FFFFFF 8px);
	padding: 3rem 0;
	margin: 0 auto;
	position: relative;
	box-shadow: 0 0 6px rgba( 0, 0, 0, 0.2 ) inset;
}

/* ******************************************* */
/*		  下層 PC
/* ******************************************* */
.lower_mv {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100vw;
	height: 250px;
	left: 50%; top: 0px;
	margin-left: -50vw;
	background: url('/_images/image00.jpg') no-repeat;
	background-size: cover;
	background-position: 50% 30%;
	z-index: 0;
}
.lower_mv::after {
	content: "";
	position: absolute;
	top: 0px; left: 0px; width: 100%; height: 100%;
	z-index: -1;
	background: repeating-linear-gradient( 45deg, rgba( 0, 0, 0, 0.25 ) 0px, rgba( 0, 0, 0, 0.25 ) 2px, rgba( 0, 0, 0, 0.5 ) 2px, rgba( 0, 0, 0, 0.5 ) 4px);
}
.lower_mv h2 {
	color: #FFFFFF;
	font-size: 3.2rem;
	font-weight: bold;
}
@media(max-width:1040px){
	.lower_mv { height: 50vmin; }
	.lower_mv h2 { font-size: 8vw; }
}

/* ******************************************* */
/*		  説明パーツ
/* ******************************************* */
article.rightimage,
article.leftimage {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 4rem 0px 4rem;
	line-height: 1.85;
	letter-spacing: 0.1rem;
}
article.rightimage > *,
article.leftimage > * {
	margin: 0 2rem;
}
article.leftimage > div:nth-of-type(1) { width: 40%; }
article.rightimage > div:nth-of-type(1) { order: 2; width: 40%; }
article.leftimage.miniimage > div:nth-of-type(1) { width: 22%; }
article.rightimage.miniimage > div:nth-of-type(1) { order: 2; width: 22%; }
article.leftimage > div:nth-of-type(2),
article.rightimage > div:nth-of-type(2) {
	flex: 1;
}
article.rightimage p:nth-last-of-type(n+2),
article.leftimage p:nth-last-of-type(n+2) {
	margin-bottom: 1.0em;
}
@media(max-width:1040px){
	article.rightimage,
	article.leftimage { display: block; margin: 2rem 4vw; line-height: 1.4; }
	article.rightimage > div:nth-of-type(1),
	article.leftimage > div:nth-of-type(1) {
		width: 75%;
		transform: none;
		margin: 0 auto 1.5rem;
	}
	article.rightimage > div:nth-of-type(2),
	article.leftimage > div:nth-of-type(2) {
		margin: 0 auto 1.5rem;
	}
	article.rightimage p:nth-last-of-type(n+2),
	article.leftimage p:nth-last-of-type(n+2) {
		margin-bottom: 1.0em;
	}
	article.rightimage p,
	article.leftimage p {
		padding: 0rem;
	}
	article.rightimage p:nth-last-of-type(n+2),
	article.leftimage p:nth-last-of-type(n+2) {
		margin-bottom: 1.0em;
	}
	article.leftimage.miniimage > div:nth-of-type(1) { width: 75%; }
	article.rightimage.miniimage > div:nth-of-type(1) { order: 2; width: 75%; }
}


mark {
	background: linear-gradient( transparent 40%, rgba(247, 153, 56, 0.26) 0% );
	letter-spacing: 0.05rem;
	color: inherit; font-weight: bold;
	padding: 0 0.25rem; margin: 0 0.2rem;
	mix-blend-mode: darken;
}


.sound {
	background: #FFFFFF;
	margin: 2rem auto;
	padding: 1.5rem;
	box-shadow: 3px 3px 8px rgba( 0, 0, 0, 0.3 );
}
.sound audio {
	width: 100%;
}

/* ************************************** */
/*  	FAQ								  */
/* ************************************** */
.faq {
	margin: 20px auto 60px;
}
.faq li {
	font-size: 1.15em;
	margin-bottom: 20px;
}
.faq li .question {
	position: relative;
	padding-top: 10px;
	padding-left: 60px;
	margin-bottom: 10px;
	color: #D93F3F; font-weight: bold;
}
.faq li .question::before {
	position: absolute;
	content: "Q";
	top: 0; left: 0;
	width: 50px; height: 50px;
	font-size: 38px; line-height: 50px;
	text-align: center;
	color: #FFFFFF;
	background: #D93F3F;
	border-radius: 50px;
}
.faq li .answer {
	position: relative;
	padding-top: 10px;
	padding-left: 60px;
}
.faq li .answer::before {
	position: absolute;
	content: "A";
	top: 6px; left: 6px;
	width: 38px; height: 38px;
	font-size: 30px; line-height: 38px;
	background: #DFDCD8;
	text-align: center;
}
@media(max-width:1040px){
	.faq li .question { padding-left: 40px; }
	.faq li .question::before {
		top: 4px; left: 4px;
		width: 30px; height: 30px;
		font-size: 25px; line-height: 30px;
	}
	.faq li .answer { padding-left: 40px; }
	.faq li .answer::before {
		width: 26px; height: 26px;
		font-size: 24px; line-height: 26px;
	}
}

/* ******************************************* */
/*		  Footer PC
/* ******************************************* */
#footer {
	background: url('/_images/mv01.jpg');
	background-position: cover; background-position: 50% 100%;
	position: relative; z-index: 0;
}
#footer::after {
	z-index: -1; content: "";
	mix-blend-mode: overlay;
	position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: repeating-linear-gradient( 45deg, rgba( 0, 0, 0, 0.25 ) 0px, rgba( 0, 0, 0, 0.25 ) 4px, rgba( 0, 0, 0, 0.45 ) 4px, rgba( 0, 0, 0, 0.45 ) 8px);
}
#footer .inner {
	padding: 10rem 0;
}
#footer .inner .logo { width: 800px; margin: 0 auto; max-width: 90%; }
#pagetop { position: fixed; bottom: 60px; right: 60px; width: 64px; height: 64px; z-index: 1000; }
#pagetop a {
	display: block;
	text-align: center;
	width: 64px;
	height: 64px;
	background: #FFFFFF;
	color: var(--main-color1);
	font-size: 30px;
	line-height: 30px;
	border-radius: 100px;
	padding-top: 8px;
	border: 2px solid var(--main-color1);
}
#pagetop a span {
	font-size: 10px;
	line-height: 10px;
	font-weight: 600;
	display: block;
}
#pagetop a:hover {
	opacity: 0.75;
}
.copyright { display: flex; justify-content: space-around; background: var(--main-color1); font-size: 14px; line-height: 1.2; text-align: center; color: #fff; padding: 0.5rem; }
.copyright p:nth-of-type(2) { font-size: 12px; }
.upborder_text {
	border-top: 1px solid var(--main-color1);
	padding-top: 0.25rem;
	margin: -1.5rem auto 2rem;
	color: var(--main-color1);
	font-weight: bold;
}
@media(max-width:1040px){
	#pagetop { position: fixed; bottom: 20px; right: 20px; width: 64px; height: 64px; z-index: 1000; }
	.copyright { font-size: 10px; }
}
.fixed_buttoms {
	display: flex;
	align-items: center;
	position: fixed;
	bottom: 0px; left: 0px; width: 100%;
}
.fixed_buttoms a {
	margin: 0.25rem; border-radius: 100px; overflow: hidden;
}

/* -------------------------------------------------------------------------------------------------- */
.atview_list ul li {
	border-bottom: 1px solid #cccccc;
	padding-bottom: 4px;
}
.atview_list ul li a {
	display: inline-block;
	min-width: 620px;
}
.atview_list ul li span:nth-of-type(1) {
	display: inline-block;
	color: #aaa;
	font-size: 0.8em;
	width: 120px;
}
.atview_list ul li span:nth-of-type(2) {
	display: inline-block;
	color: #aaa;
	font-size: 0.8em;
	width: 180px;
}
/* -------------------------------------------------------------------------------------------------- */


/* ******************************************* */
/*		  PC SP 共通（拡張）
/* ******************************************* */
.mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.alp-gothic {
	font-family: 'Century Gothic', 'Oswald', sans-serif;
}
.italic { font-style: italic; }
.add-relative { position: relative; }
.tx_red { color: #CF000D; }
.tx_blue { color: #1A5FAD; }
.hover_white:hover { opacity: 0.75; }

/* ******************************************* */
/*          pagenation
/* ******************************************* */
ul.pagenation {
	display: flex;
	justify-content: center;
	margin: 40px auto;
}
	ul.pagenation li {
		min-width: 32px; min-height: 32px;
		line-height: 32px;
		text-align: center;
		margin: 0 4px;
	}
	ul.pagenation li p,
	ul.pagenation li a {
		display: block;
		font-size: 1.1em;
		line-height: 32px;
		font-weight: bold;
		color: #fff;
		background: #ccc;
		min-width: 32px; min-height: 32px;
		text-align: center;
		border: 1px solid #bbb;
		border-radius: 5px;
		padding: 0 4px;
	}
	ul.pagenation li p.current {
		background: #fff;
		color: #bbb;
	}
	ul.pagenation li a {
		color: #fff;
		background: var(--main-color1);
		border: 1px solid #76d4e3;
	}
	ul.pagenation li a:hover {
		background: #ffffff;
		color: var(--main-color1);
		border: 1px solid #76d4e3;
	}
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  iframe
/* ******************************************* */
.googlemap_wrap{
	position: relative;
	padding-bottom: 55%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	border: 1px solid #ccc;
	margin-bottom: 40px;
}
.googlemap_wrap img.fitimage{
	max-width: 900px;
}
.googlemap_wrap iframe,
.googlemap_wrap object,
.googlemap_wrap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.youtube_wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: rgba( 0, 0, 0, 0.05 );
}
.youtube_wrap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	box-shadow: 2px 2px 5px #999;
}

.fuwafuwa { animation: fuwafuwa 3s infinite ease-in-out alternate; }
.pukapuka { animation: pukapuka 4s infinite ease-in-out alternate; }
@keyframes fuwafuwa {
	0% {transform: translate( 0, -5px ); }
	50% {transform: translate( 0, 5px ); }
	100% {transform: translate( 0, -5px ); }
}
@keyframes pukapuka {
	0% {transform: scale( 1.0 ); }
	50% {transform: scale( 1.05 ); }
	100% {transform: scale( 1.0 ); }
}

.simple_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 8px;
}
.simple_table tr th {
	color: var(--main-color1); font-weight: bold;
	padding: 0.7em 1em;
	font-weight: bold;
	border-bottom: 1px solid var(--main-color1);
	text-align: left;
}
.simple_table tr:nth-of-type(1) th:nth-of-type(1) {
	min-width: 25%;
}
.simple_table tr td {
	background: rgba( 255, 255, 255, 0.3 );
	padding: 0.7em 1em;
	border-bottom: 1px solid var(--main-color1);
	text-align: left;
}

section.bg_set1 {
	background: url('/_images/image15.jpg') no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	width: 1920px;
	position: relative;
	margin: 0;
	top: 0; left: 50%; margin-left: -960px;
	padding: 3rem 300px 3rem 960px;
}
.white_box {
	background: #FFFFFF;
	padding: 1rem 2.5rem;
	color: var(--text-color);
}
.flow_icon {
	display: flex;
	justify-content: center;
}
.flow_icon li {
	margin: 0 -26px;
}
.flow_icon li:nth-of-type(even) { margin-top: 95px; }
@media(max-width:1300px){
	section.bg_set1 {
		padding: 0rem;
		width: auto;
		top: auto; left: auto; margin: 0 auto;
	}
	.white_box {
		padding: 2rem;
	}
}
@media(max-width:1040px){
	.white_box { padding: 1.5rem; }
}

.greeting_top {
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1rem;
	margin: 0 auto 2rem;
}
.greeting p { margin-bottom: 1.5rem; }
.greeting p:last-of-type {
	font-size: 1.2rem; font-weight: bold; margin-top: 2rem;
}

@media(max-width:1040px){
	.greeting_top { font-size: 4.5vw; }
	.greeting p { margin-bottom: 1.5rem; }
	.greeting p:last-of-type {
		font-size: 1.2rem; font-weight: bold; margin-top: 2rem;
	}
}
ul.greeting_icon { display: flex; align-items: stretch; flex-wrap: wrap; margin: 0px -10px 40px; }
ul.greeting_icon li { width: calc( 33% - 20px ); margin: 10px; }
@media(max-width:1040px){
	ul.greeting_icon { margin: 20px -4px 20px; }
	ul.greeting_icon li { width: calc( 33% - 8px ); margin: 4px; }
}


.flash_text { animation: pikapika 0.5s infinite alternate; font-weight: bold; margin: 20px auto 40px; font-size: 1.2em; }
@keyframes pikapika {
	0% { color: var(--main-color1); }
	49% { color: var(--main-color1); }
	50% { color: #77cfde; }
	100% { color: #77cfde; }
}

@media(max-width:736px){
	.rwd_scroll { overflow: auto; white-space: nowrap; padding: 0px 0px 2.5rem; }
	.rwd_scroll::after { display: block; position: absolute; width: 100vw; content:"<< スクロールできます >>"; margin: 10px auto; text-align: center; color: #303030; opacity: 0.5; font-size: 0.8em; font-weight: bold; }
	.rwd_scroll::-webkit-scrollbar { height: 5px; }
	.rwd_scroll::-webkit-scrollbar-track { background: #f1f1f1; }
	.rwd_scroll::-webkit-scrollbar-thumb { background: #bcbcbc; }
}

.fade { text-align: center; opacity: 0; font-size: 3rem; font-weight: bold; font-family: 'Oswald', 'Zen Maru Gothic', sans-serif; letter-spacing: 0.2rem; }
.fade.delay span { transition-delay: 1.5s; }
.fade span {
	display: inline-block;
	opacity: 0;
	transform: scale( 2.2 );
	text-shadow: 0 0 80px #000;
	transition: 0.8s;
}
.fade span.animate {
	opacity: 1;
	text-shadow: 0 0 5px #FFF;
	transform: scale( 1.0 );
}
@media(max-width:1040px){
	.fade { font-size: 8vw; }
}

.imageblock {
	position: relative; z-index: 1;
}
.imageblock .inner {
	line-height: 1.8;
	position: relative;
	padding: 4rem;
	background: #FFFFFF;
	z-index: 10;
}
.imageblock::before {
	width: 640px;
	height: 480px;
	background: url('/_images/image002.jpg') no-repeat;
	background-size: cover; background-position: 50%;
	z-index: -1;
	content: "";
	position: absolute;
	left: -320px; top: -30px;
}
.imageblock::after {
	width: 640px;
	height: 480px;
	background: url('/_images/image003.jpg') no-repeat;
	background-size: cover; background-position: 50%;
	z-index: -1;
	content: "";
	position: absolute;
	right: -320px; bottom: -30px;
}

@media(max-width:1040px){
	.imageblock { margin-top: 5rem; }
	.imageblock .inner { padding: 4vw; }
}

section {
	position: relative;
	z-index: 0;
}
section .overtext {
	position: absolute;
	top: 50%; left: 70%;
	font-size: 200px; margin-top: -100px; line-height: 200px;
	color: var(--main-color1);
	z-index: -1;
	font-family: 'Oswald';
	font-weight: 900;
	width: 10000px;
	opacity: 0.15;
}
section.color .overtext {
	position: absolute;
	top: 50%; left: 70%;
	font-size: 200px; margin-top: -100px; line-height: 200px;
	color: #FFFFFF;
	z-index: -1;
	font-family: 'Oswald';
	font-weight: 900;
	width: 10000px;
	opacity: 1.0;
}
@media(max-width:1040px){
	section .overtext {
		left: 50%;
		font-size: 150px;
	}
}

/* ******************************************* */
/*		  メールフォーム
/* ******************************************* */
.mailform {
	margin: 1rem auto 2rem;
}
.mailform table {
	width: 100%;
	max-width: 980px;
	margin: 1rem auto;
}
.mailform table tr th { width: 25%; }
.mailform table tr td { padding: 0.5rem 1rem; }
.mailform table select,
.mailform table textarea,
.mailform table input {
	font-family: 'Zen Maru Gothic', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 0.8rem;
	padding: 8px; border: 1px solid #999999;
	border-radius: 4px;
}
.mailform table input.ss { width: 7rem; }
.mailform table input.s { width: 10rem; }
.mailform table input.m { width: 20rem; }
.mailform table input.l { width: 30rem; }
.mailform table textarea {
	width: 30rem; height: 8rem;
}
span.required { color: var(--alert-color); font-weight: bold; margin: 0.5rem 0; display: inline-block; }
.mailform table label { margin-right: 1rem; }

.mailform .rule {
	width: 100%;
	height: 250px;
	background: #FFFFFF;
	font-size: 90%;
	padding: 0 1.0rem 0.5rem;
	border: 1px solid #DDD;
	border-radius: 6px;
	overflow-y: scroll;
	margin: 1rem auto;
}
.mailform .rule ul { padding-left: 1.5rem; text-indent: -1rem; }
.mailform .needs { color: var(--alert-color); }
@media(max-width:1040px){
	.mailform table,
	.mailform table tr,
	.mailform table tbody,
	.mailform table tr th,
	.mailform table tr td { display: block; text-align: center; width: 100%; }
	.mailform table tr td {
		padding-bottom: 0.5rem;
		margin-bottom: 0.5rem;
		border-bottom: 1px solid rgba( 0, 0, 0, 0.3 );
	}
	.mailform table select,
	.mailform table textarea,
	.mailform table input {
		max-width: 80%;
	}
}

/* ******************************************* */
/*		  コンプリート画面
/* ******************************************* */
.send_complete {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	min-height: 550px;
}
.send_complete .logo {
	width: 400px;
	margin-bottom: 2rem;
}

.flex_img {
	display: flex;
	justify-content: center;
	align-items: center;
}
.flex_img > * { margin: 0.5rem 1rem; flex: 1; }
@media(max-width:1040px){
	.send_complete { min-height: 550px; }
	.send_complete .logo {
		width: 320px;
		margin: 0 auto 2rem;
	}
}

.half_wrapper { display: flex; margin: 0; padding: 0; min-height: 50vmin; }
.half_wrapper > * { width: 50%; margin: 0; padding: 4rem; }
@media(max-width:1040px){
	.half_wrapper { display: block; min-height: none; }
	.half_wrapper > * { width: 100%; margin: 0; padding: 2rem; min-height: 25vmax; }
}

ul.two_step {
	display: flex;
	align-items: flex-start;
	margin: 1rem auto;
}
ul.two_step li {
	width: calc( 50% - 5rem );
	margin: 0 2.5rem;
	padding: 2rem;
	background: #FFFFFF;
	box-shadow: 0.2rem 0.2rem 1.8rem rgba( 0, 0, 0, 0.3 );
}
@media(max-width:1040px){
	ul.two_step {
		display: block;
		margin: 1rem auto;
	}
	ul.two_step li {
		width: 100%;
		margin: 1.2rem auto;
		padding: 2rem;
		background: #FFFFFF;
	}
}


table.flat_schedule {
	border-spacing: 1px;
	border-collapse: separate;
	font-size: 0.8rem;
	margin: 1rem auto;
	width: 100%;
	color: var(--text-color);
}
table.flat_schedule tr th { background: #dadada; font-weight: bold; }
table.flat_schedule tr th.sunday { background: #ffcdd0; }
table.flat_schedule tr th.saturday { background: #cde6ff; }
table.flat_schedule tr:nth-of-type(n+2) th { width: 20px; }
table.flat_schedule tr td { background: #FFFFFF; }
table.flat_schedule tr td:nth-of-type(-n+2) { padding: 0 0.5rem; }
table.flat_schedule tr td:nth-of-type(n+2) { text-align: center; }
table.flat_schedule tr:nth-of-type(odd) td { background: #e0ecff; }
table.flat_schedule tr td p { font-size: 0.5rem; font-family: 'Oswald'; line-height: 1.0; }

ul.at_curriculum li {
	display: flex;
	padding: 1.5rem 0;
	margin: 1.5rem;
	border-bottom: 1px dotted #CCC;
}
ul.at_curriculum li:last-of-type { border: none; }
ul.at_curriculum li .images { width: 180px; margin-right: 1.7rem; }
ul.at_curriculum li .mainbody { flex: 1; }
ul.at_curriculum li .titles { font-size: 1.4rem; font-weight: bold; margin-bottom: 0.7rem; color: var(--main-color1); }
ul.at_curriculum dl { display: flex; margin: 0.2rem auto; align-items: center; font-weight: bold; flex-wrap: wrap; }
ul.at_curriculum dl dt { background: var(--main-color1); border-radius: 5rem; font-size: 0.9rem; padding: 0.2rem 1rem; width: 100px; text-align: center; color: #FFFFFF; }
ul.at_curriculum dl dd { flex: 1; margin-left: 1rem; font-size: 1.1rem; }

@media(max-width:1040px){
	ul.at_curriculum li {
		display: block;
		padding: 1rem 0;
		margin: 0 auto;
		border-bottom: 1px dotted #CCC;
	}
	ul.at_curriculum li .images { width: 180px; margin: 0 auto 1.0rem; }
	ul.at_curriculum li .mainbody { flex: 1; }
	ul.at_curriculum li .titles { font-size: 1.0rem; }
	ul.at_curriculum dl dt { background: var(--main-color1); margin: 0.2rem 0; font-size: 0.8rem; padding: 0.2rem 1rem; width: 100px; text-align: center; color: #FFFFFF; }
	ul.at_curriculum dl dd { width: 200px; margin-left: 1rem; font-size: 1.0rem; }
}

.entrybutton { margin: 2rem auto; text-align: center; }
.entrybutton a {
	display: inline-block;
	background: linear-gradient(to bottom, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%);
	padding: 0.5rem 3rem;
	font-size: 2.2rem; font-weight: bold;
	text-shadow: 0 4px rgba( 128, 64, 0, 0.5 );
	border: 4px solid #FFFFFF; border-radius: 10rem;
	color: #FFFFFF;
	box-shadow: 0 3px 0 #999, 0 0 5px rgba( 0, 0, 0, 0.2 );
	position: relative; top: -3px;
}
.entrybutton a:hover {
	box-shadow: 0 1px 0 #999, 0 0 2px rgba( 0, 0, 0, 0.2 ), 0 0 10px rgba( 255, 255, 255, 0.3 ) inset, 0 0 10px rgba( 255, 255, 255, 0.3 ) inset, 0 0 10px rgba( 255, 255, 255, 0.3 ) inset;
	position: relative; top: -1px;
}
.entrybutton a:active {
	box-shadow: 0 0px 0 #999, 0 0 1px rgba( 0, 0, 0, 0.2 ), 0 0 10px rgba( 255, 255, 255, 0.3 ) inset, 0 0 10px rgba( 255, 255, 255, 0.3 ) inset, 0 0 10px rgba( 255, 255, 255, 0.3 ) inset;
	position: relative; top: 0px;
}

ul.article_voice {
	margin: 1rem auto;
	max-width: 1500px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
ul.article_voice li {
	margin: 1rem;
	width: calc( 33.33% - 2rem );
	background: #FFFFFF;
	box-shadow: 8px 8px 10px rgba( 0, 0, 0, 0.3 );
	padding: 1.5rem 1rem 3rem;
	position: relative;
}
ul.article_voice li .title {
	margin-bottom: 0.5rem;
	font-size: 1.2rem;
	padding-right: 5rem;
	padding-bottom: 0.25rem;
	font-weight: bold;
	letter-spacing: -0.08rem;
	color: var(--main-color1);
	border-bottom: 1px solid var(--main-color1);
}
ul.article_voice li .images {
	position: absolute;
	top: -1.5rem; right: 1.5rem;
	width: 5rem; height: 5rem;
	border-radius: 5rem; overflow: hidden;
}
ul.article_voice li .comment {
	font-size: 0.92rem;
	line-height: 1.8;
	font-weight: bold;
}
ul.article_voice li .grade {
	text-align: right;
	color: var(--main-color1);
	font-weight: bold;
	font-size: 1.2rem;
	position: absolute; bottom: 1rem; right: 1rem;
}
@media(max-width:1040px){
	ul.article_voice li { width: 400px; }
}


.campaign_box {
	display: flex;
	justify-content: center;
	margin: 4rem auto;
	position: relative;
}
.campaign_box > * {
	max-width: 500px;
	margin: 0 2rem;
}
.campaign_box::before {
	position: absolute;
	top: 50%; left: 50%;
	width: 100vw; height: 70vh;
	margin-left: -50vw; margin-top: -35vh;
	content: "";
	background: url('/_images/campaign_back.png') no-repeat;
	background-size: 100% 100%;
	mix-blend-mode: darken;
	opacity: 0.8;
	pointer-events: none;
}

.price_area dl {
	margin: 1rem auto;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #ededed;
}
.price_area dl dt {
	width: 25%;
	text-align: center;
	font-weight: bold;
}
.price_area dl dd {
	flex: 1;
	text-align: right;
	font-weight: bold;
	padding: 0.5rem 1.5rem;
}
@media(max-width: 767px){
	p.price { font-size: 1.2rem; }
	p.price span { margin-left: 0.5rem; font-size: 0.8rem; }
	p.price span span { font-size: 0.65rem; }
	.price_area dl dt { width: 20%; }
	.price_area dl dd { padding: 0.5rem 1.0rem; }	
}

ul.menu_ranking {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: top;
}
ul.menu_ranking li {
	width: calc( 30% - 2rem );
	margin: 1rem;
	text-align: center;
}
ul.menu_ranking li:nth-of-type(1) { width: 66.66%; }
ul.menu_ranking li:nth-of-type(2) { width: calc( 50% - 2rem ); }
ul.menu_ranking li:nth-of-type(3) { width: calc(50% - 2rem); }
ul.menu_ranking li .rank { font-size: 1.5rem; margin-bottom: 0.2rem; color: #d65b35; text-shadow: 0 1px #5f2d1e; font-weight: bold; }
ul.menu_ranking li:nth-of-type(1) .rank { font-size: 2.5rem; color: #e0aa34; text-shadow: 0 1px #443412; }
ul.menu_ranking li:nth-of-type(2) .rank { font-size: 2.0rem; color: #b4b4b4; text-shadow: 0 1px #413e3e; }
ul.menu_ranking li:nth-of-type(3) .rank { font-size: 2.0rem; color: #a16b4c; text-shadow: 0 1px #3f352f; }
ul.menu_ranking li .title { font-weight: bold; font-size: 1.2rem; margin-bottom: 0.3rem; border-bottom: 1px solid var(--main-color2); }
ul.menu_ranking li .subtitle { font-size: 0.85rem; margin-bottom: 0.5rem; }
ul.menu_ranking li .comment { font-size: 0.95rem; margin: 0.5rem auto; line-height: 1.5; }
ul.menu_ranking li .price { font-size:1.2rem; font-weight: bold; display: none; }
ul.menu_ranking li .price::after { content: '(税込)'; font-size: 0.9rem; }
@media(max-width: 767px) {
	ul.menu_ranking li { width: 100%; max-width: 350px; }
	ul.menu_ranking li:nth-of-type(1) { width: 100%; max-width: 350px; }
	ul.menu_ranking li:nth-of-type(2) { width: 100%; max-width: 350px; }
	ul.menu_ranking li:nth-of-type(3) {	width: 100%; max-width: 350px; }
	ul.menu_ranking li .rank { font-size: 1.5rem; margin-bottom: 0.5rem; color: #d65b35; text-shadow: 0 1px #5f2d1e; font-weight: bold; }
	ul.menu_ranking li:nth-of-type(1) .rank { font-size: 1.5rem; color: #e0aa34; text-shadow: 0 1px #443412; }
	ul.menu_ranking li:nth-of-type(2) .rank { font-size: 1.5rem; color: #b4b4b4; text-shadow: 0 1px #413e3e; }
	ul.menu_ranking li:nth-of-type(3) .rank { font-size: 1.5rem; color: #a16b4c; text-shadow: 0 1px #3f352f; }
}

section.banner {
	background: var(--main-color1);
	background-image: url('/_images/texture01.png');
	background-size: 30%;
	box-shadow: 0 0 0.5rem rgba( 0, 0, 0, 0.3 ) inset;
	color: #FFFFFF;
	padding: 4rem;
	text-align: center;
	margin: 0 -1rem;
}
section.banner p { font-size: 2.5rem; font-weight: bold; margin: 1rem auto;}
section.banner .icons {
	display: flex;
	justify-content: center;
}
section.banner .icons a {
	margin: 0.5rem;
	border-radius: 100rem;
	overflow: hidden;
	max-width: 250px;
}
@media(max-width: 767px) {
	section.banner { background-size: 60%; padding: 1.5rem; }
	section.banner p { font-size: 1.5rem; }
	section.banner .icons a { margin: 0.3rem; }
}