@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@400;800&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&display=swap');

* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}
:root {
	--main-color1: #129A43;
	--main-color1-right: #65cc8a;
	--main-color2: #99CF33;
	--main-color2-right: #c1e284;
	--text-color: #343935;
	--alert-color: #b44343;
}
html { font-size: 100%; }
/* ******************************************* */
/*		  total
/* ******************************************* */
/* For modern browsers */
article { margin-bottom: 2rem; }
article article { margin-bottom: 1em; }

.bg_on {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 2rem !important;
	padding-bottom: 4rem !important;
	margin-left: calc( ( 100vw - 100% ) / -2 - 2rem ) !important;
	margin-right: calc( ( 100vw - 100% ) / -2 - 2rem ) !important;
	padding-left: calc( ( 100vw - 100% ) / 2 + 2rem ) !important;
	padding-right: calc( ( 100vw - 100% ) / 2 + 2rem ) !important;
}
.parts_on {
	margin-left: calc( ( 100vw - 100% ) / -2 - 2rem ) !important;
	margin-right: calc( ( 100vw - 100% ) / -2 - 2rem ) !important;
	padding-left: calc( ( 100vw - 100% ) / 2 + 2rem ) !important;
	padding-right: calc( ( 100vw - 100% ) / 2 + 2rem ) !important;
}
.fullsize {
	margin-left: calc( ( 100vw - 100% ) / -2 ) !important;
	margin-right: calc( ( 100vw - 100% ) / -2 ) !important;
}
.texture1 { background: url('../_images/texture01.png'); }
.texture2 { background: url('../_images/texture02.png'); }
.texture3 { background: url('../_images/texture03.png'); }
.texture4 { background: url('../_images/texture04.png'); }
.texture5 { background: url('../_images/texture05.png'); }
.texture6 { background: url('../_images/texture06.png'); }


.shadow_over { position: relative; }
.shadow_over::before {
	background: linear-gradient( to left, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 1) 100% );
	top: 0; left: 0;
	width: 20vw;
	height: 100%;
	content: ""; position: absolute;
	z-index: 10;
}
.shadow_over::after {
	background: linear-gradient( to right, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 1) 100% );
	top: 0; right: 0;
	width: 20vw;
	height: 100%;
	content: ""; position: absolute;
	z-index: 10;
}


.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: 'Helvetica','M PLUS 2', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 1.0rem;
	line-height: 1.6;
	color: var(--text-color);
	word-wrap: break-word;
	overflow-y: scroll;
	counter-reset: points;
}
input, select, option, textarea {
	font-family: 'Helvetica','M PLUS 2', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
/* ******************************************* */
/*		  container wrapper section etc
/* ******************************************* */
#container {
	min-width: 1150px;
	min-height: 100vh;
	margin: 0 auto;
	overflow: hidden;
	background: #edf7ea;
}
section {
	margin: 4rem auto 6rem;
}
section.bg_on {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 4rem;
	padding-bottom: 6rem;
	margin-left: calc( ( 100vw - 100% ) / -2 );
	margin-right: calc( ( 100vw - 100% ) / -2 );
	padding-left: calc( ( 100vw - 100% ) / 2 );
	padding-right: calc( ( 100vw - 100% ) / 2 );
}
.color { background: #def6ff; }
section.white { background: #FFFFFF; padding: 4rem 0 6rem; margin: 0 auto; }
section.reverse ,article.reverse { background: var(--main-color1); color: #FFFFFF; }
section.reverse2 .linkbutton a { background: var(--main-color1); }
section.reverse2 .linkbutton a:hover { background: var(--main-color1-right); }
section.reverse2 ,article.reverse2 { background: linear-gradient( to bottom, var(--main-color2) 0%, var(--main-color1) 100% ); color: #FFFFFF; }
section.reverse2 ,article.reverse2 { background: var(--main-color2); color: #FFFFFF; }
.reverse h2, .reverse2 h2 { color: #FFFFFF; }
.bg1 { background: url('../_images/bg001.jpg'); background-size: cover; background-position: 50% 50%; }
.bg2 { background: url('../_images/bg002.jpg'); background-size: cover; background-position: 50% 50%; }
.bg3 { background: url('../_images/bg003.jpg'); background-size: cover; background-position: 50% 50%; }
.bg4 { background: url('../_images/bg004.jpg'); background-size: cover; background-position: 50% 50%; }
.bg5 { background: url('../_images/bg005.jpg'); background-size: cover; background-position: 50% 50%; }

section.picture_area {
	height: 20vmax; margin: 0 !important;
	position: relative;
}
section.picture_area::after {
	content: "";
	position: absolute;
	top: 0px; left: 0px; width: 100%; height: 100%;
	z-index: 0;
	background: repeating-linear-gradient( 45deg, rgba( 0, 0, 0, 0.25 ) 0px, rgba( 0, 0, 0, 0.25 ) 5px, rgba( 0, 0, 0, 0.5 ) 5px, rgba( 0, 0, 0, 0.5 ) 10px);
	filter: blur();
}
/* wrapper */
.wrapper {
	width: 1240px;
	max-width: 94vw;
	padding: 0rem 2rem;
	margin: 0px auto;
}
.lower_wrapper {
	width: 880px;
	max-width: 94vw;
	margin: 0px auto;
}
.white_wrapper {
	position: relative;
	margin: 2rem auto;
	padding: 1.5rem 3.5rem;
	background: #FFFFFF;
	color: var(--text-color);
}
.white_box {
	margin: 1rem auto;
	background: #FFFFFF;
	padding: 1.5rem 2.5rem 2.2rem;
}
.flexible_wrapper {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}
mark {
	/* background: linear-gradient( transparent 40%, var(--main-color1-right) 0% ); */
	background: none;
	color: var(--main-color1);
	letter-spacing: 0.05rem;
}
strong { color: var(--main-color1); font-size: 110%; }
.invisible { display: none !important; }

a.textlink { color: #1784de; text-decoration: underline; display: inline-block; }
a.textlink:hover { color: #1784de; text-decoration: none; }

.flex { display: flex; justify-content: center; align-items: center; }
.flex > * { margin: 10px; }
@media(max-width: 736px){
	.flex > * { margin: 3px; }
	.wrapper {
		width: 100%;
		max-width: none;
		padding: 0 2rem;
		margin: 0px auto;
	}
	.lower_wrapper {
		width: 100%;
		max-width: none;
		padding: 0 2rem;
		margin: 0px auto;
	}
	.white_wrapper {
		width: 100%;
		max-width: none;
		padding: 1.0rem 1.5rem;
	}
	.white_box {
		margin: 1rem auto;
		background: #FFFFFF;
		padding: 1.0rem 1.3rem;
	}
}

@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%; margin: 0 auto; }
	.c2 { width: 14.16%; margin: 0 auto; }
	.c3 { width: 22.50%; margin: 0 auto; }
	.c4 { width: 30.83%; margin: 0 auto; }
	.c5 { width: 39.16%; margin: 0 auto; }
	.c6 { width: 47.50%; margin: 0 auto; }
	.c7 { width: 55.83%; margin: 0 auto; }
	.c8 { width: 64.16%; margin: 0 auto; }
	.c9 { width: 72.50%; margin: 0 auto; }
	.c10 { width: 80.83%; margin: 0 auto; }
	.c11 { width: 90%; margin: 0 auto; }
	.c12 { width: 100%; margin: 0 auto; }
}
@media(max-width: 736px) {
	.rwd_scroll { overflow: auto; white-space: nowrap; }
	.rwd_scroll::-webkit-scrollbar { height: 5px; }
	.rwd_scroll::-webkit-scrollbar-track { background: #f1f1f1; }
	.rwd_scroll::-webkit-scrollbar-thumb { background: #bcbcbc; }
	.rwd_scroll::after { content: '← スクロールできます →'; font-size: 0.9rem; font-weight: bold; opacity: 0.7; text-align: center; display: block; margin: 0.5rem auto;}
}
@media(max-width: 1149px){
	html { font-size: 92%; }
	body {
		line-height: 1.4;
		-webkit-text-size-adjust: 100%;
	}
	section {
		margin: 2.5rem auto 3rem;
	}
	section.color {
		padding: 3rem 500px 4.8rem;
		margin: 0 -500px 0;
	}
	#container { min-width: 100%; }
	.wrapper { width: 100%; padding: 0 3.5vw; }
	.padding_wrapper { padding: 0 10px; margin: 0px auto; }
	.pc_flexc img { max-width: 80%; }
}
@media(max-width: 768px){
	html { font-size: 88%; }
	body { line-height: 1.4; -webkit-text-size-adjust: 100%; }
	section { margin: 2.5rem auto 3rem; }
	section.color { padding: 2rem 500px 3rem; margin: 0 -500px 0; }
}

/* ************* 写真風画像 **************/
.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: 1.0s; position: relative; top: 100px; }
.effect.scroll { opacity: 1; top: 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); }

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


/* ******************************************* */
/*		  header PC
/* ******************************************* */
#header {
	background: #FFFFFF;
	position: fixed;
	z-index: 9999;
	width: 100%;
	top: 0;
	transition: 0.1s;
	box-shadow: 0 0 1rem rgba( 0, 0, 0, 0.15 );
}
#header.skeleton { opacity: 0.85; }
#header.skeleton:hover { opacity: 1.0; }
#header .header_top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.85rem 1.5rem;
}
#header .header_top .logo { display: flex; align-items: center; font-size: 1.2rem;}
#header .header_top .logo img { width: auto; height: auto; max-width: 180px; max-height: 60px; transition: 0.1s; }
#header .header_top #gnav {
	display: flex;
	align-items: center;
	flex: 1;
	justify-content: space-between;
	font-size: 0.85rem;
	margin: 0 1rem;
}
#header .header_top #gnav ul { display: flex; }
#header .header_top #gnav ul:nth-of-type(2) { font-size: 0.8rem; }
#header .header_top #gnav ul li a {
	display: block;
	font-weight: bold;
	padding: 0.2rem 1.2rem;
	color: #333333;
	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: var(--main-color1);
	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 var(--main-color1);
}
#header .header_top .login a {
	margin-left: 0.35rem;
	font-size: 1.1rem;
	background: var(--main-color1);
	border: 1px solid var(--main-color1);
	padding: 0.4rem 1.5rem 0.5rem;
	border-radius: 8rem;
	color: #ffffff; font-weight: bold;
	transition: 0.2s;
}
#header .header_top .login a:nth-of-type(1) { background: #FFFFFF; color: var(--main-color1);}
#header .header_top .login a:nth-of-type(1):hover { background: var(--main-color1); color: #FFFFFF; }
#header .header_top .login a:nth-of-type(2):hover { background: #FFFFFF; color: var(--main-color1); }
@media(max-width:1300px){
	#header .header_top #gnav {
		font-size: 0.75rem;
		margin: 0 0.5rem;
	}
	#header .header_top #gnav ul li a {
		padding: 0.2rem 0.6rem;
	}
	#header .header_top .login a {
		margin-left: 0.35rem;
		font-size: 0.9rem;
		padding: 0.3rem 1.0rem 0.4rem;
	}
}

/* ******************************************* */
/*		  header SP
/* ******************************************* */
@media(max-width:1040px){
	#header {
		top: 0;
		left: 0;
		position: fixed;
		transition: 0.2s;
		background: #ffffff;
		z-index: 9999;
		width: 100vw;
		box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
	}
	.header_info {
		display: flex;
		background: #ffffff;
		justify-content: space-between;
		align-items: center;
		box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
		position: relative; z-index: 100;
	}
	.header_info .logo {
		margin: 2vw;
		width: 40vw;
		max-width: 240px;
		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: 15vw; height: 15vw;
		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%;
	}

	.open_button{
		position: relative;/*ボタン内側の基点となるためrelativeを指定*/
		background: var(--main-color1);
		cursor: pointer;
		width: 50px;
		height: 50px;
		border-radius: 5px;
	}

	/*ボタン内側*/
	.open_button span{
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
	}
	.open_button span:nth-of-type(1),
	.open_button span:nth-of-type(3) {
		height: 2px;
		background: #fff;
		width: 62%;
		left: 10px;
	}
	.open_button span:nth-of-type(1) { top:13px; }
	.open_button span:nth-of-type(2) { top:19px; left:13.5px; font-size:0.65rem; text-transform: uppercase; color: #fff; }
	.open_button span:nth-of-type(3) { top:36px; }

	/*activeクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/
	.open .open_button span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}
	.open .open_button span:nth-of-type(2) { opacity: 0; }
	.open .open_button span:nth-of-type(3) { top: 30px; left: 18px; transform: translateY(-6px) rotate(45deg); width: 30%; }
}

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

/* ******************************************* */
/*		  gnav SP
/* ******************************************* */
@media(max-width:1040px){
	#rwd_menu {
		background: #FFFFFF;
		box-shadow: 0 0 1rem rgba( 0, 0, 0, 0.3 );
		position: relative;
		z-index: -1;
	}
		#rwd_menu ul {
			position: absolute;
			transition: 0.2s;
			width: 75vw;
			height: 100vh;
			overflow-y: scroll;
			right: -80vw;
			background: #FFFFFF;
			top: 0;
		}
		#rwd_menu.open ul { right: 0; box-shadow: 0 0 4rem rgba( 0, 0, 0, 0.4 ), 0 0 4rem rgba( 0, 0, 0, 0.4 ), 0 0 4rem rgba( 0, 0, 0, 0.4 ); }
		#rwd_menu ul li {
			border-bottom: 1px solid rgba( 0, 0, 0, 0.3 );
		}
		#rwd_menu ul li a {
			display: block;
			font-size: 1rem;
			color: var(--main-color1);
			font-weight: bold;
			line-height: 2.5;
			text-align: center;
			text-decoration: none;
		}

}

/* ******************************************* */
/*		  TOP MV
/* ******************************************* */
.tops {
	background: url('../_images/mv.jpg') no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	width: 100%;
	height: 80vh;
	position: relative;
}
.tops .inner {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	height: 80vh;
}
.tops .inner .mainbody .logo { margin-bottom: 1.5rem; max-width: 350px; }
.tops .inner .mainbody .text { font-size: 1.4rem; font-weight: bold; margin-bottom: 1.0rem; color: #FFFFFF; text-shadow: 0 0 4px rgba( 0, 0, 0, 0.2 ), 0 0 4px rgba( 0, 0, 0, 0.2 );}
.tops .inner .mainbody .price { margin-bottom: 1.8rem; font-size: 2.3rem; font-weight: bold; color: #FFFFFF; line-height: 1.0; }
.tops .inner .mainbody .price::after { content: '（税込）'; font-size: 1.3rem; }
.tops .inner .mainbody .price span { font-size: 3.4rem; }
.tops .inner .mainbody .link a {
	background: linear-gradient( 120deg, #A5D432 0%, #049545 100% );
	display: inline-block; padding: 1.2rem 3.0rem; line-height: 1;
	border-radius: 2rem;
	font-size: 1.4rem; font-weight: bold;
	color: #FFFFFF;
	transition: 0.2s;
}
.tops .inner .mainbody .link a:hover {
	box-shadow: 0 0 5rem rgba( 255, 255, 255, 0.2 ) inset;
}
@media(max-width:1200px){
	.tops .inner { padding-top: 30vh; }
}
@media(max-width:768px){
	.tops {
		height: 50vh;
		margin-bottom: 20vh;
	}
	.tops .inner {
		width: 100%;
		padding: 30vh 5vw 5vh;
		text-align: center;
		height: 50vh;
	}
	.tops .inner > div { width: 100%; }
	.tops .inner .images { display: none; }
	.tops .inner .mainbody { padding: 1.5rem; background: #FFFFFF; box-shadow: 2px 2px 8px rgba( 0, 0, 0, 0.3 ); margin-bottom: -30vh; }
	.tops .inner .mainbody .logo { width: 75%; max-width: 300px; margin: 0 auto 0.8rem; }
	.tops .inner .mainbody .text { font-size: 1.0rem; font-weight: bold; margin: 0.8rem auto; color: var(--text-color); }
	.tops .inner .mainbody .price { margin-bottom: 1.5rem; font-size: 1.8rem; font-weight: bold; color: var(--main-color1); line-height: 1.0; }
	.tops .inner .mainbody .price::after { content: '（税込）'; font-size: 1.0rem; }
	.tops .inner .mainbody .link a { font-size: 1.0rem; padding: 0.5rem 1.5rem; }
}
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:1000px){
	a.scroll { bottom: 30px; }
}

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

/* ******************************************* */
/*		  見出し・セクション
/* ******************************************* */
h2 {
	font-size: 2.2rem;
	font-weight: bold;
	color: var(--main-color1);
	margin: 0.5rem auto 2rem;
	position: relative;
	text-align: center;
}
h2::after { content: url('../_images/h2_line.png'); display: block; line-height: 0; }
h3 {
	font-size: 1.75rem;
	font-weight: bold;
	margin: 0.5rem auto 1.5rem;
	position: relative;
}
h4 {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0.5rem auto;
}
h5 {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0.5rem auto;
}
@media(max-width:768px){
	h2 { font-size: 1.6rem; }
	h3 { font-size: 1.4rem; }
	h4 { font-size: 1.25rem; }
	h5 { font-size: 1.1rem; }
}

/* ******************************************* */
/*		  ボタン関係
/* ******************************************* */
.minibutton { display: inline-block; margin: 0 1rem; }
.backbutton,
.linkbutton { text-align: center; }
.minibutton a,
.backbutton a,
.linkbutton a {
	display: inline-block;
	margin: 10px 5px;
	padding: 1.0rem 3.2rem 1.1rem;
	background: var(--main-color2);
	color: #ffffff;
	position: relative;
	line-height: 1.0;
	box-shadow: 2px 2px 8px rgba( 0, 0, 0, 0.2 );
}
.minibutton a { margin: 0 5px; font-size: 0.8rem; padding: 0.3rem 2rem 0.3rem 1rem; }
.linkbutton a { background: var(--main-color2); padding-right: 4.75rem; }
.backbutton a { background: #8e8e8e; padding-left: 4.75rem; }
.minibutton a::after,
.backbutton a::before,
.linkbutton a::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f138\00a0";
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top: -0.5rem;
}
.backbutton a::before {
	content: "\f137\00a0";
	right: auto; left: 12px;
	margin-top: -0.42em;
}
.backbutton a:hover,
.linkbutton a:hover {
	background: var(--main-color2-right);
	box-shadow: 2px 2px 6px rgba( 0, 0, 0, 0.3 );
}
.backbutton a:hover { background: #a1a1a1; }
.backbutton a:active,
.linkbutton a:active {
	top: 2px;
	box-shadow: 0px 0px 2px rgba( 0, 0, 0, 0.7 );
}
.underline_box .linkbutton_ex { top: 12px; right: 0px; }

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-color2);
}

.simplelink,
.anchorlink {
	display: flex;
	align-items: 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-color2);
	color: var(--main-color2);
	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: var(--main-color2-right);
	border: 2px solid var(--main-color2-right);
	border-radius: 4px;
	background: #ffffff;
}
@media(max-width:1040px){
	.linkbutton a { min-width: auto; padding: 1em 2.7em 1em 1.8em; }
	.linkbutton2 a {
		margin: 8px 10px;
		padding: 1em 2em;
		width: calc( 50% - 20px );
	}
	.underline_box .linkbutton_ex { top: 8px; right: 0px; }
	.linkbutton_ex a {
		padding: 0.4em 2em;
		font-size: 80%;
	}
	.linkbutton_ex a::after { right: 6px; }
	.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; }
	.minibutton { display: block;  margin: 0.5rem 0; }
}

/* ******** 横並びフレックス画像 ****** */
.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-color2);
	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-color2);
		border-radius: 8px;
	}
}

/* ******************************************* */
/*		  画像汎用・テキスト汎用
/* ******************************************* */
.image80 { margin: 1rem auto; max-width: 80%; text-align: center; }
.imagebox,
.imagebox_full { text-align: center; margin: 0 auto 20px; }
.text {
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 1.0em;
}
.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: 1.1rem;
	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: 1.45rem;
	font-weight: 600;
	margin-bottom: 1.0rem;
	line-height: 1.4;
}
.largetext p { margin-bottom: 0.7rem; }
.largetext p:last-of-type { margin-bottom: 0px; }
.bigtext {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 0.7rem;
	letter-spacing: 0.1rem;
}
.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;
	opacity: 0.75;
	margin-bottom: 1.25rem;
}
.caption p {
	position: relative; margin: 0 !important;
	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; }
.price { font-size: 2.4rem; font-weight: bold; color: var(--main-color1); }
.price span { font-size: 1.0rem; margin: 0 0.5rem; display: inline-block; }
.price::after { font-size: 1.0rem; content: '/ 月(税込)'; }
.mainbody .price { font-size: 4.4rem; }
.mainbody .price::after { font-size: 1.4rem; }
.price.one::after { font-size: 1.0rem; content: '(税込)'; }
.price.none::after { font-size: 1.0rem; content: ''; }
@media(max-width:1040px){
	.imagebox { max-width: 80%; margin: 0 auto 10px; }
	.imagebox.w70 { max-width: 70%; }
	.imagebox.w60 { max-width: 60%; }
	.imagebox.w50 { max-width: 50%; }
	.imagebox.w40 { max-width: 40%; }
	.imagebox_full { margin: 0 auto 10px; }
	.toptext { font-size: 1.0rem; margin-bottom: 1.0rem; }
	.largetext,
	.bigtext { font-size: 1.25rem; margin-bottom: 1.0em; }
	.gigatext {
	    font-size: 2rem;
	    letter-spacing: 0em;
	}
	.price { font-size: 1.8rem; font-weight: bold; color: var(--main-color1); }
	.price span { font-size: 0.9rem; margin: 0 0.5rem; display: inline-block; }
	.price::after { font-size: 0.9rem; content: '/ 月(税込)'; }
	.mainbody .price { font-size: 3.0rem; }
	.mainbody .price::after { font-size: 0.9rem; }
	.price.one::after { font-size: 0.9rem; content: '(税込)'; }
	.price.none::after { font-size: 0.9rem; content: ''; }
}

/* ******************************************* */
/*		  リスト汎用・テーブル汎用
/* ******************************************* */
@media(min-width:1041px){
	ul.col_2, ul.col_3, ul.col_4, ul.col_5, ul.col_6, ul.col_7 {
		display: flex;
		justify-content: space-around;
		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% - 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; }
	ul.col_7 li { width: calc( 14.2857% - 20px ); margin: 10px; }
}
@media(max-width:1040px){
	ul.col_2, ul.col_3, ul.col_4, ul.col_5, ul.col_6, ul.col_7 {
		display: flex;
		align-items: stretch;
		flex-wrap: wrap;
		margin: 0px -10px 30px;
	}
	ul.col_2 li { width: calc( 50% - 20px ); margin: 10px; }
	ul.col_3 li { width: calc( 33% - 20px ); margin: 10px; }
	ul.col_4 li { width: calc( 33% - 20px ); margin: 10px; }
	ul.col_5 li { width: calc( 33% - 20px ); margin: 10px; }
	ul.col_6 li { width: calc( 33% - 20px ); margin: 10px; }
	ul.col_7 li { width: calc( 25% - 20px ); margin: 10px; }
}
@media(max-width:768px){
	ul.col_2, ul.col_3, ul.col_4, ul.col_5, ul.col_6, ul.col_7 {
		margin: 20px -5px 20px;
	}
	ul.col_2 li { width: calc( 100% - 10px ); margin: 5px; }
	ul.col_3 li { width: calc( 100% - 10px ); margin: 5px; }
	ul.col_4 li { width: calc( 50% - 10px ); margin: 5px; }
	ul.col_5 li { width: calc( 50% - 10px ); margin: 5px; }
	ul.col_6 li { width: calc( 33% - 10px ); margin: 5px; }
	ul.col_7 li { width: calc( 25% - 10px ); margin: 5px; }
}
.col_2.box_shadow li,
.col_3.box_shadow li,
.col_4.box_shadow li,
.col_5.box_shadow li { box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.25 ); }
ul li.white_box { background: #FFFFFF; padding: 1.5rem 0.5rem; }
.white_box h4 { color: var(--main-color1); }

/************ リンクに矢印を付与 ************/
.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 {
	text-align: center;
	justify-content: center;
}
ul.icon_list.col_2 li i { font-size: 140px; line-height: 140px; width: 100%; margin-bottom: 0.8rem; }
ul.icon_list.col_3 li i { font-size: 120px; line-height: 120px; width: 100%; margin-bottom: 0.8rem; }
ul.icon_list.col_4 li i { font-size: 100px; line-height: 100px; width: 100%; margin-bottom: 0.8rem; }
ul.icon_list.col_5 li i { font-size: 90px; line-height: 90px; width: 100%; margin-bottom: 0.8rem; }
ul.icon_list.col_6 li i { font-size: 80px; line-height: 80px; width: 100%; margin-bottom: 0.8rem; }
ul.icon_list.col_7 li i { font-size: 70px; line-height: 70px; width: 100%; margin-bottom: 0.8rem; }
ul.icon_list.col_2 li p { font-size: 1.5rem; line-height: 1.2; }
ul.icon_list.col_3 li p { font-size: 1.3rem; line-height: 1.2; }
ul.icon_list.col_4 li p { font-size: 1.1rem; line-height: 1.2; }
ul.icon_list.col_5 li p { font-size: 1.0rem; line-height: 1.2; }
ul.icon_list.col_6 li p { font-size: 0.9rem; line-height: 1.2; }
ul.icon_list.col_7 li p { font-size: 0.8rem; line-height: 1.2; }

/* ******************************************* */
/*          table
/* ******************************************* */
table.common_table {
	width: 100%;
	max-width: 1000px;
}
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-color2);
	color: var(--main-color2);
}
table.common_table tr td {
	flex: 1;
	padding-left: 1.5rem;
}

table.lineup_table {
	width: 100%;
	margin: 20px auto 20px;
	border-collapse: separate;
	border-spacing: 6px 1px;
}

table.lineup_table tr th {
	vertical-align: middle;
	position: relative;
	padding: 0.5rem 1rem;
	z-index: 0;
	background: #a0c6d2;
	color: var(--main-color2);
	font-size: 1.2rem;
	font-weight: bold;
}
table.lineup_table tr td {
	padding: 6px 1em;
	text-align: center;
	border-bottom: 1px solid #a0c6d2;
}
table.lineup_table tr td:nth-of-type(2) {
	text-align: left;
}
@media(max-width: 1040px){
	table.lineup_table {
		margin: 20px auto 20px;
		font-size: 10px;
	}
	table.lineup_table tr th {
		padding: 0.4rem;
		font-size: 11px;
		line-height: 1.1;
		color: #FFFFFF;
	}
}

table.profile_table { width: 100%; margin: 2rem auto; }
table.profile_table tr th { font-weight: bold; padding: 1rem 1rem 1rem 0rem; border-top: 1px solid #DDD; }
table.profile_table tr td { padding: 1rem 0rem 1rem 0rem; border-top: 1px solid #DDD; }
table.profile_table tr:last-of-type th,
table.profile_table tr:last-of-type td { border-bottom: 1px solid #DDD; }
@media(max-width:768px){
	table.profile_table tr { display: block; padding: 0.5rem 0; border-top: 1px solid #DDD; }
	table.profile_table tr th { display: block; border: none; padding: 0.25rem 0; }
	table.profile_table tr td { display: block; border: none; padding: 0.25rem 0; }
	table.profile_table tr:last-of-type th,
	table.profile_table tr:last-of-type td { border: none; }
	table.profile_table tr:last-of-type { border-bottom: 1px solid #DDD; }
}


/* ******************************************* */
/*		  TOP NEWS Ticker
/* ******************************************* */
@media(max-width:1040px){
	ul.top_slider li {
		width: 110vw;
	}
}

/* ******************************************* */
/*		  下層 PC
/* ******************************************* */
.lower_mv {
	position: relative;
	background: url('../_images/low_mv02.jpg') no-repeat;
	background-size: cover;
	background-position: 50% 30%;
	z-index: 0;
	color: #FFFFFF;
	padding: 15rem 0px 4rem;
}
.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 ) 5px, rgba( 0, 0, 0, 0.5 ) 5px, rgba( 0, 0, 0, 0.5 ) 10px);
}
.lower_mv .inner {
	width: 1040px;
	max-width: 90vw;
	padding: 0 2rem;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.lower_mv h1 { color: #FFFFFF; font-size: 2.5rem; font-weight: bold; margin-bottom: 1.5rem; }
.lower_mv p { color: #FFFFFF; font-weight: bold; margin-bottom: 1.5rem; }
.lower_mv a, .lower_mv a:hover { color: #FFFFFF; }

.simple_mv {
	height: 10rem;
	position: relative;
	color: var(--text-color);
	background: #FFFFFF; border-top: 1px solid rgba( 0, 0, 0, 0.25 );
	margin-bottom: 3rem;
}
.simple_mv .inner { padding: 7.0rem 1.5rem 0; }
.simple_mv h1 {
	position: absolute;
	text-align: center; font-weight: bold;
	top: 50%; font-size: 2.5rem; line-height: 2.5rem; margin-top: -1.25rem;
	width: 100%; left: 0;
}
@media(max-width:1040px){

}

/* ******************************************* */
/*		  説明パーツ
/* ******************************************* */
article.rightimage,
article.leftimage {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 80px -30px 80px;
}
article.rightimage > img,
article.leftimage > img {
	max-width: 35%;
	margin: 0 30px;
}
article.rightimage img.shadow,
article.leftimage img.shadow { box-shadow: 3px 3px 7px rgba( 0, 0, 0, 0.4 ); }
article.rightimage img { order: 2; }
article.rightimage > div,
article.leftimage > div {
	margin: 0 30px;
	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 { max-width: 500px; display: block; margin: 2rem auto 3rem; }
	article.rightimage > img,
	article.leftimage > img {
		display: block;
		max-width: 80%;
		margin: 1rem auto;
	}
	article.rightimage > div,
	article.leftimage > div { margin: 1rem auto; }
}

article.rightconcept,
article.leftconcept {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 4rem -2rem;
}
article.rightconcept .images { width: calc( 50% + 7rem ); margin-left: -3rem; }
article.leftconcept .images { width: calc( 50% + 7rem ); margin-right: -3rem; }
article.rightconcept img.shadow,
article.leftconcept img.shadow { box-shadow: 3px 3px 7px rgba( 0, 0, 0, 0.4 ); }
article.rightconcept .images { order: 2; }
article.rightconcept .comment,
article.leftconcept .comment {
	width: calc( 50% + 7rem ); position: relative; z-index: 10;
	padding: 2rem 3rem;
	background: #FFFFFF;
	box-shadow: 4px 4px 1rem rgba( 0, 0, 0, 0.2 );
}
article.rightconcept .comment { margin-right: -3rem; }
article.leftconcept .comment { margin-left: -3rem; }
article.rightconcept .comment p:nth-last-of-type(n+2),
article.leftconcept .comment p:nth-last-of-type(n+2) {
	margin-bottom: 1.0em;
}
@media(max-width:1040px){
	article.rightconcept,
	article.leftconcept {
		margin: 2.5rem 0;
	}
	article.rightconcept .images { width: 90%; margin-left: -45%; }
	article.leftconcept .images { width: 90%; margin-right: -45%; }
	article.rightconcept .comment,
	article.leftconcept .comment {
		margin: 0;
		width: 90%;
		padding: 1.2rem;
		margin: 0;
		backdrop-filter: blur( 3px );
		background: rgba( 255, 255, 255, 0.65 );

	}
	article.rightconcept .comment p:nth-last-of-type(n+2),
	article.leftconcept .comment p:nth-last-of-type(n+2) {
		margin-bottom: 1.0em;
	}
}
@media(max-width:768px){
	article.rightconcept .images { width: 90%; margin-left: -65%; }
	article.leftconcept .images { width: 90%; margin-right: -65%; }
}

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

/* ******************************************* */
/*		新着情報
/* ******************************************* */
ul.article_news {
	padding: 0 2rem;
	margin: 0 auto;
}
ul.article_news li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: bold;
	margin: 0.5rem auto;
}

ul.article_news li .category {
	padding: 0px 1rem; border-radius: 6px;
	text-align: center;
	letter-spacing: 0.1rem;
	font-size: 0.8rem;
	min-width: 140px;
	margin: 0 1.2rem;
	color: #FFFFFF; font-weight: bold;
}
ul.article_news li .title {
	flex: 1;
}
ul.article_news li .title a { color: var(--link-color); text-decoration: underline; }
ul.article_news li a:hover { opacity: 0.7; }
@media(max-width:600px){
	ul.article_news {
		padding: 0 0.5rem;
	}
	ul.article_news li { flex-wrap: wrap; }
	ul.article_news li:nth-of-type(n+2) {
		border-top: 1px dotted #BBBBBB;
		padding-top: 0.5rem;
	}
	ul.article_news li .title {
		flex: auto;
		width: 100%; margin: 0.5rem auto;
	}
}

.newsinfo {
	display: flex;
	justify-content: space-between;
	margin: 0.25rem auto 1rem;
}
.newsinfo .category {
	padding: 0px 1rem; border-radius: 6px;
	text-align: center;
	letter-spacing: 0.1rem;
	min-width: 140px;
	color: #FFFFFF; font-weight: bold;
}
.newsinfo .date {
	opacity: 0.65;
}

/* ************************************** */
/*  	  FAQ							  */
/* ************************************** */
.faq {
	margin: 1rem auto 4rem;
}
.faq li {
	font-size: 1.15rem;
	margin-bottom: 0.8rem;
	background: #FFFFFF;
	border: 1px solid rgba( 0, 0, 0, 0.4 );
}
.faq li .question {
	position: relative;
	padding: 0.5rem 3rem 0.5rem 2rem;
	font-weight: bold;
}
.faq li .question::before {
	content: "Q ";
	font-weight: bold;
	margin-left: -1rem;
	color: var(--main-color1);
}
.faq li .question::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 800; content: "\f067";
	position: absolute; top: 50%; right: 0.5rem;
	font-size: 1rem; line-height: 1rem; margin-top: -0.5rem;
}
.faq li .question.open::after { font-weight: 800; content: "\f068"; }
.faq li .answer {
	display: none;
	border-top: 1px solid rgba( 0, 0, 0, 0.4 );
	font-size: 1.0rem;
	padding: 0.8rem 1.2rem;
}
.faq li .answer a { color: var(--main-color1); }
.opener { cursor: pointer; }

/* ******************************************* */
/*		  Footer PC
/* ******************************************* */
#footer {
	background: var(--main-color1);
	margin-top: 0; padding: 2rem 0 2rem;
	box-shadow: 0px -2px 4px rgba( 0, 0, 0, 0.1 );
}
#footer .servicemap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1.0rem; color: #FFFFFF;
}
#footer .service { max-width: 160px; }
#footer .servicemap .service p { font-size: 0.8rem; margin: 0.5rem auto; }
#footer nav {
	display: flex;
	justify-content: space-between;
}
#footer nav ul li,
#footer nav ul li a { color: #FFFFFF; }
#footer nav ul li { margin-right: 2rem; }
.companymap { display: flex; align-items: center; flex-direction: column; padding: 0.15rem 2.0rem 0; color: #FFFFFF; text-align: center; border-left: 1px solid rgba( 255,255,255,0.5); }
.companymap .logo { max-width: 180px; margin: 1.0rem auto 0.7rem; }
.companymap .company { font-size: 0.7rem; margin: 0.5rem auto; }
.companymap .address { font-weight: bold; }
.copyright {
	font-size: 10px;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	background: var(--main-color1);
}

#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: var(--main-color1);
	color: #FFFFFF;
	font-size: 30px;
	line-height: 30px;
	padding-top: 8px;
}
#pagetop a span {
	font-size: 10px;
	line-height: 10px;
	font-weight: 600;
	display: block;
}
#pagetop a:hover {
	opacity: 0.75;
}
@media(max-width:1040px){
	#footer .servicemap { flex-wrap: wrap; }
	#footer .servicemap .service { margin: 0 0.2rem 1.0rem; }
	#footer .servicemap .logo { width: 100%; margin: 0 auto 1.8rem; text-align: center; }
	#footer .servicemap .logo img { max-width: 350px; width: 70%; }
	/************ pagetop *************/
	#pagetop {
		bottom: 10px;
		right: 10px;
		opacity: 0.7;
	}
}
@media(max-width:768px){
	#footer nav { flex-wrap: wrap; }
	#footer nav .sitemap { display: block; margin: 0 auto; }
	#footer nav .sitemap ul { margin: 0 auto 1rem; font-size: 1.0rem; }
	#footer nav ul li,
	#footer nav ul li a { color: #FFFFFF; margin-right: 0; }
	.companymap { border: none; width: 100%; }
}
/* -------------------------------------------------------------------------------------------------- */
.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;
}


/* ******************************************* */
/*		  メールフォーム
/* ******************************************* */
.mailform {
	margin: 2rem auto 3rem;
}
.mailform table {
	width: 100%;
	max-width: 980px;
	margin: 1rem auto;
}
.mailform table tr th { width: 25%; text-align: left; border-bottom: 1px dotted var(--main-color1-right); }
.mailform table tr td { padding: 1.5rem 1rem; border-bottom: 1px dotted var(--main-color1-right); }
.mailform table select,
.mailform table textarea,
.mailform table input {
	font-family: 'Helvetica','M PLUS 2', 'ヒラギノ角ゴ 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[type="text"].etc { width: 8rem; margin-left: 0.5rem; }
.mailform table input[type="text"],
.mailform table input[type="email"] { width: 18rem; }
.mailform table input.ss { width: 7rem; }
.mailform table input.s { width: 10rem; }
.mailform table input.m { width: 15rem; }
.mailform table input.l { width: 20rem; }
.mailform table textarea {
	width: 25rem; height: 10rem;
}
.mailform table label { display: inline-block; }
span.required { color: var(--alert-color); font-weight: bold; margin: 0 0.5rem; display: inline-block; }
.mailform table label { margin-right: 1rem; }

input[type="submit"] {
	font-family: 'Helvetica','M PLUS 2', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	border: 2px solid var(--main-color1);
	background: var(--main-color1);
	font-weight: bold; margin: 1rem auto;
	display: block; padding: 0.2rem 1rem;
	border-radius: 4px;
	color: #FFF;
	cursor: pointer;
}
input[type="submit"]:hover { opacity: 0.7; }

.needs { background: var(--main-color1-right); padding: 0px 4px; margin: 2px 4px; border-radius: 5px; color: var(--main-color1);}
.err { color: #df4e45; font-weight: bold; }
.rule {
	margin: 20px auto;
	border: 1px solid #999;
	background: #fff;
	padding: 10px 16px;
	height: 180px;
	overflow-y: scroll;
	border-radius: 8px;
	font-size: 0.9em;
}
.rule li { margin-bottom: 1em; }
.alphabet {
	font-size: 0.7rem;
	font-weight: normal;
	color: var(--main-color1);
}

@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 dotted rgba( 0, 0, 0, 0.18 );
	}
	.mailform table tr:last-of-type td { border-bottom: none; }
	.mailform table select,
	.mailform table textarea,
	.mailform table input {
		max-width: 80%;
	}
}

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

/* ******************************************* */
/*		  Breadcrumb PC
/* ******************************************* */
#breadcrumb {
	font-size: 14px;
	line-height: 1.0em;
}
#breadcrumb ul {
	display: block;
	text-align: left;
	padding: 1em 0px;
}
#breadcrumb ul li {
	display: inline;
	padding: 0em 0em;
}
#breadcrumb ul li:nth-of-type(n+2)::before{
	display: inline;
	text-align: center;
	content: "> ";
	width: 1.5em;
	height: 1em;
	padding: 0em 0.5em;
}
#breadcrumb ul li a {
	text-decoration: underline;
}
#breadcrumb ul li a:hover{
	text-decoration: none;
}
@media(max-width:1040px){

}

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

/* ******************************************* */
/*		  PC SP 共通（拡張）
/* ******************************************* */
.mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.alp-gothic {
	font-family: 'Century Gothic', 'Roboto Condensed', 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-color2);
		border: 1px solid #b1d975;
	}
	ul.pagenation li a:hover {
		background: #ffffff;
		color: var(--main-color2);
		border: 1px solid #b1d975;
	}
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  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%;
}
.simple_table tr th {
	background: #BDC9CE;
	padding: 0.7em 1em;
	border: 1px solid #fff;
	text-align: left;
}
.simple_table tr:nth-of-type(1) th:nth-of-type(1) {
	min-width: 25%;
}
.simple_table tr td {
	background: #E6EAEC;
	padding: 0.7em 1em;
	border: 1px solid #fff;
	text-align: left;
}

ul.bookimage { display: flex; margin: 1rem -0.5rem; }
ul.bookimage li { flex: auto; margin: 0rem 0.5rem; }
ul.bookimage li img { max-height: 150px; }


ul.banner { margin: 1rem auto 2rem; }
ul.banner li {
	background: #FFFFFF;
	margin-bottom: 1.5rem;
}
ul.banner li a:hover { opacity: 0.75; }

ul.tab_button {
	display: flex;
	justify-content: space-around;
}
ul.tab_button li {
	cursor: pointer;
	font-size: 1.8rem;
	padding: 0.5rem 2rem 1rem;
	background: #FFFFFF;
	border: 3px solid #E24C4C;
	color: #E24C4C; text-align: center; font-weight: bold;
	border-radius: 8px 8px 0px 0px;
	border-bottom: 0px;
	margin-bottom: -0.5rem;
	position: relative;
	transition: 0.2s;
	z-index: 0;
}
ul.tab_button li:nth-of-type(2) { border-color: #E9C119; color: #E9C119; }
ul.tab_button li.active { top: -5px; }
ul.tab_button li:nth-of-type(1).active { background: #E24C4C; color: #FFFFFF; }
ul.tab_button li:nth-of-type(2).active { background: #E9C119; color: #FFFFFF; }
.tab_list {
	position: relative;
	z-index: 10;
}
.tab_list article {
	display: none;
	border: 3px solid #E24C4C;
	padding: 2rem;
	margin: 0 -2rem 0;
	background: #FFFFFF;
}
.tab_list article:nth-of-type(1) { display: block; }
.tab_list article:nth-of-type(1) { border-color: #E24C4C; }
.tab_list article:nth-of-type(2) { border-color: #E9C119; }
@media(max-width:768px){
	ul.tab_button, .tab_list article { max-width: 500px; }
	ul.tab_button li { font-size: 0.9rem; padding: 0.5rem 1rem 1rem; }
	.tab_list article { padding: 1.2rem; margin: 0; }
}

.sitemap {
	padding: 0 0 2rem;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.sitemap ul { margin: 0 0.3rem; font-size: 0.75rem; }
.sitemap ul li { padding: 0.25rem 1rem 0.25rem 0; }
.sitemap ul li:nth-of-type(1) { font-weight: bold; opacity: 0.6; }
.sitemap ul li:nth-of-type(n+2) a::before { font-size: 0.4rem; content: '▶'; margin-right: 0.5rem; position: relative; top: -0.15rem; opacity: 0.4; }
.sitemap ul li a.level2 { padding-left: 0.5rem; }
.sitemap ul li a.level3 { padding-left: 1.4rem; }
.sitemap ul li a.level4 { padding-left: 2.3rem; }


ul.category_list li .mainbody {
	background: #FFFFFF;
	padding: 0.75rem;
	display: flex;
	align-items: center;
	transition: 0.2s;
}
ul.category_list li .mainbody:hover { background: #EEE; }
ul.category_list li .mainbody .images { width: 120px; }
ul.category_list li .mainbody .titles { flex: 1; font-size: 1.3rem; font-weight: bold; padding: 0 1.5rem 0 1.2rem; position: relative; }
ul.category_list li .mainbody .titles::after { content: "▶"; font-size: 0.8rem; position: absolute; right: 0.2rem; line-height: 1.0rem; height: 1.0rem; top: 50%; margin-top: -0.5rem; }

.single_contents .tagbox,
ul.at_contents li .tagbox,
ul.category_list li .tagbox {
	display: flex;
	flex-wrap: wrap;
	margin: 1rem -0.15rem;
}
.single_contents .tagbox a,
ul.at_contents li .tagbox a,
ul.category_list li .tagbox a {
	display: block;
	background: #FFFFFF;
	border: 1px solid #FFFFFF;
	padding: 0.2rem 0.5rem; margin: 0.15rem;
	font-size: 0.9rem; font-weight: bold;
	color: var(--main-color1);
	transition: 0.2s;
}
.single_contents .tagbox a::before,
ul.at_contents li .tagbox a::before,
ul.category_list li .tagbox a::before {	font-family: "Font Awesome 5 Free"; font-weight: 800; content: "\f02b"; margin-right: 0.4rem;
 }
.single_contents .tagbox a:hover,
ul.at_contents li .tagbox a:hover,
ul.category_list li .tagbox a:hover { border: 1px solid var(--main-color1); }

ul.at_seminar {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -8px 40px;
	color: #303030;
}
ul.at_seminar li { width: calc( 33.33% - 20px ); background: #FFFFFF; border-radius: 4px; padding: 1.2rem; display: flex; flex-wrap: wrap; align-content: space-between; }
ul.at_seminar li > div { width: 100%; }
ul.at_seminar li .images { width: 80%; margin: 1rem auto 1rem; }
ul.at_seminar li .titles { font-size: 1.3rem; font-weight: bold; margin-bottom: 1rem; }
ul.at_seminar li .comment { font-size: 0.8rem; opacity: 0.7; margin-bottom: 1rem; }
ul.at_seminar li .profile { margin: 0.7rem auto; display: flex; align-items: center; }
ul.at_seminar li .profile .face { width: 40px; height: 40px; border-radius: 40px; margin-right: 0.5rem; }
ul.at_seminar li .profile .card { flex: 1; }
ul.at_seminar li .profile .card a { font-size: 1.3rem; font-weight: bold; }
ul.at_seminar li .profile .card a:hover { opacity: 0.7; }
ul.at_seminar li .profile .card p { font-size: 0.8rem; }
ul.at_seminar li .profile .card .simplelink { margin: 0 auto; }
@media(max-width:768px){
	ul.at_seminar li { width: 100%; max-width: 320px; margin: 1rem auto; }
}

.minilink { text-align: center; }
.minilink a {
	display: inline-block;
	border: 2px solid var(--main-color2);
	padding: 2px 1rem;
	color: var(--main-color2);
	font-size: 0.9rem;
	margin: 0 1rem;
}
.minilink a::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f138";
	margin-left: 1rem;
}

ul.at_contents {
	margin: 2rem auto;
}
ul.at_contents li {
	padding: 2rem 0;
	border-top: 1px solid #EEE;
	display: flex;
	align-items: flex-start;
}
ul.at_contents li .images {
	width: 280px;
	height: 280px;
	margin-right: 1.2rem;
}
ul.at_contents li .mainbody {
	flex: 1;
}
.single_contents {
	width: 800px;
	max-width: 90%;
	margin: 2rem auto;
	padding: 3rem;
	background: #FFFFFF;
	color: var(--text-color);
}
.single_contents .date,
ul.at_contents li .mainbody .date { font-size: 1.4rem; font-weight: bold; margin-bottom: 0.7rem; }
.single_contents .title,
ul.at_contents li .mainbody .title { font-size: 1.55rem; font-weight: bold; margin-bottom: 0.7rem; }
.single_contents .status,
ul.at_contents li .mainbody .status { display: flex; margin-bottom: 0.7rem; align-items: center; }
.single_contents .status .category,
ul.at_contents li .mainbody .status .category { font-size: 0.85rem; opacity: 0.7; margin-right: 1.0rem; }
.single_contents .status .times,
ul.at_contents li .mainbody .status .times { font-size: 0.85rem; }
.single_contents .status .times::before,
ul.at_contents li .mainbody .status .times::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	content: "\f144";
	margin-right: 0.3rem;
	font-size: 0.9rem;
	color: var(--main-color1);
}
.single_contents .tagbox,
ul.at_contents li .mainbody .tagbox { margin: 0.7rem auto;}
.single_contents .tagbox a,
ul.at_contents li .mainbody .tagbox a { background: #e6f3ff; }
.single_contents .comment { opacity: 0.6; font-size: 0.9rem; padding-bottom: 2.0rem; margin-bottom: 2.0rem; border-bottom: 1px dotted rgba( 0, 0, 0, 0.5 ); }
ul.at_contents li .mainbody .comment { opacity: 0.6; font-size: 0.9rem; }

ul.at_contents.col_2 { justify-content: flex-start; }
ul.at_contents.col_2 li {
	padding: 1.5rem; background: #FFFFFF; box-shadow: 4px 4px 8px rgba( 0, 0, 0, 0.2 );
}
ul.at_contents.col_2 li .images {
	width: 120px;
	height: 120px;
	margin-right: 1.2rem;
}
ul.at_contents.col_2 li .mainbody {
	flex: 1;
}
ul.at_contents.col_2 li .mainbody .date { font-size: 0.9rem; }
ul.at_contents.col_2 li .mainbody .title { font-size: 1.1rem; font-weight: bold; margin-bottom: 0.7rem; }
ul.at_contents.col_2 li .mainbody .status { display: flex; margin-bottom: 0.7rem; align-items: center; }
ul.at_contents.col_2 li .mainbody .status .category { font-size: 0.75rem; opacity: 0.7; margin-right: 1.0rem; }
ul.at_contents.col_2 li .mainbody .comment { font-size: 0.65rem; }
@media(max-width:768px){
	.single_contents {
		max-width: 96%;
		margin: 1.2rem auto;
		padding: 1.0rem;
	}
	ul.at_contents li .images,
	ul.at_contents.col_2 li .images {
		width: 120px;
		height: 120px;
		margin-right: 1.2rem;
	}
}
@media(max-width:500px){
	ul.at_contents li,
	ul.at_contents.col_2 li { display: block; max-width: 300px; margin: 1rem auto; }
	ul.at_contents li .images,
	ul.at_contents.col_2 li .images { width: 240px; height: 240px; margin: 0 auto 1.0rem; }

}


.list_paragraph p { margin: 0.5rem auto; }
.list_paragraph p::before { content: ""; }

.posts {
	background: #FFFFFF;
	margin: 2rem auto 3rem;
	padding: 3.0rem 5.5rem;
	box-shadow: 0.2rem 0.2rem 0.5rem rgba( 0, 0, 0, 0.3 );
}
.posts .nameplate {
	display: flex;
	align-items: center;
}
.posts .nameplate .name { font-size: 2.7rem; font-weight: bold; }
.posts .nameplate .phonetic { font-size: 0.9rem; color: var(--main-color1); font-weight: bold; }
.posts .nameplate > * { margin-right: 0.8rem; }
@media(max-width:768px){
	.posts {
		background: #FFFFFF;
		margin: 2rem auto 3rem;
		padding: 1.5rem;
		box-shadow: 0.2rem 0.2rem 0.5rem rgba( 0, 0, 0, 0.3 );
	}
	.posts .nameplate {
		display: flex;
		align-items: center;
		margin: 1.0rem auto;
	}
	.posts .nameplate .name { font-size: 2.0rem; font-weight: bold; }
}


.sns { margin: 1.5rem auto; }
.sns a {
	display: inline-block;
	margin-left: 0.3em;
	width: 42px; height: 42px; line-height: 40px;
	font-size: 28px; color: #ffffff;
	border-radius: 42px; text-align: center;
}
.sns a:hover { opacity: 0.75; }
.sns a:nth-of-type(1) { background: #3B5998; }
.sns a:nth-of-type(2) { background: #1DA1F2; }
.sns a:nth-of-type(3) { background: #00B900; }
.footer_sns { margin: 0.5rem auto; display: flex; justify-content: space-between; width: 100%; }
.footer_sns a { display: block; flex: 1; color: #FFFFFF; border-right: 1px solid rgba( 255,255,255,0.5); }
.footer_sns a:last-of-type { border-right: none; }
.footer_sns a:hover { background: rgba( 255, 255, 255, 0.15 ); }
@media(max-width:768px){
	.footer_sns a { margin: 1.0rem auto 1.3rem; }
	.sns a { width: 30px; height: 30px; line-height: 28px; font-size: 20px; }
}

.delay01 { transition-delay: 0.1s; }
.delay02 { transition-delay: 0.2s; }
.delay03 { transition-delay: 0.3s; }
.delay04 { transition-delay: 0.4s; }
.delay05 { transition-delay: 0.5s; }

ul.service_area li {
	display: flex;
	margin: 0.55rem auto;
}
ul.service_area li .area {
	margin-right: 0.5rem;
	border: 1px solid var(--text-color);
	padding: 0 0.5rem;
	border-radius: 6px;
}
ul.service_area li .area:nth-of-type(1) {
	font-weight: bold;
	margin-right: 0.5rem;
	border: 2px solid var(--text-color);
	padding: 0 0.5rem;
}
@media(max-width:768px){
	ul.service_area li { font-size: 0.8rem; }
	ul.service_area li .area { padding: 0 0.25rem; }
}

.at_option { margin: 1rem auto; }
.at_option .inner {
	display: flex;
	align-items: flex-start;
}
.at_option .inner .images { margin-right: 2.2rem; width: 42%; }
.at_option .inner .mainbody {
	flex: 1;
}
@media(max-width:768px){
	.at_option { margin: 1rem auto; }
	.at_option .inner { display: block; }
	.at_option .inner .images { margin: 0rem auto 1rem; width: 100%; max-width: 300px; }
}

.pdf_files a {
	display: block;
	margin: 0.5rem auto;
	padding: 0.25rem 1rem;
	background: #FFFFFF;
	border: 2px solid var(--alert-color);
	border-radius: 6px;
	color: var(--alert-color);
	font-weight: bold;
}
.pdf_files a::before {
	display: inline-block; margin-right: 1.0rem;
	font-family: "Font Awesome 5 Free";
	content: "\f1c1";
}
.pdf_files a:hover { opacity: 0.9; }

ul.step_flow {
	display: flex;
	margin: 1rem -1.5rem;
}
ul.step_flow li {
	width: calc( 25% - 3rem );
	margin: 0 1.5rem;
	background: #FFFFFF;
	padding: 1.5rem;
	text-align: center;
	color: var(--text-color);
	position: relative;
}
ul.step_flow li:nth-of-type(n+2)::after {
	content: "";
	width: 0; height: 0; border-style: solid; border-width: 25px 0 25px 25px; border-color: transparent transparent transparent #ffffff;
	position: absolute;
	top: 50%; left: -1.5rem; margin-top: -25px; margin-left: -12.5px;
}
ul.step_flow li .title { font-size: 1.5rem; font-weight: bold; margin: 0.5rem auto; }

article.alertzone {
	border: 3px solid var(--alert-color);
	border-radius: 6px;
	padding: 1.5rem 5rem;
	margin: 1rem auto 3rem;
	background: #FFFFFF;
	max-width: 1000px;
}
article.alertzone::before {
	font-size: 1.2rem; font-weight: bold;
	text-align: center;
	color: var(--alert-color);
	margin-bottom: 0.5rem;
	display: block;
	content: attr(data-title);
}
ul.checkpoint {
	max-width: 850px;
	margin: 0.5rem auto 1.5rem;
	padding-left: 1.5rem;
}
ul.checkpoint li:nth-of-type(1) { list-style: none; font-weight: bold; margin-bottom: 0.4rem; }
ul.checkpoint li { list-style: disc outside; }

ol { padding-left: 1.5rem; }
ol li { list-style: decimal; }

.overlap_text {
	position: absolute;
	top: -3.2rem; left: -3.2rem;
	background: #FFFFFF;
	padding: 0.5rem 1.0rem;
	color: var(--main-color1);
	font-weight: bold;
	font-size: 2.25rem;
	text-align: center;
	border: 4px solid var(--main-color1);
}
.overlap_text span { font-size: 1.25rem; }
@media(max-width:768px) {
.overlap_text {
		top: -2.25rem;
		left: -1.2rem;
		font-size: 1.8rem;
	}
	.overlap_text span {
		font-size: 0.8rem;
	}
}

.annotation { font-size: 0.9rem; color: #777; margin: 0.25rem auto 0.5rem; }
.annotation p { position: relative; margin-bottom: 0.5rem; padding-left: 1.2rem; }
.annotation p::before { position: absolute; content: "※"; margin-left: -1.2rem; }
.annotation p:last-of-type { margin-bottom: 0px; }
p.annotation { font-size: 0.9rem; opacity: 0.6; position: relative; margin-bottom: 0.5rem; padding-left: 1.2rem; }
p.annotation::before { position: absolute; content: "※"; margin-left: -1.2rem; }