@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&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: #966246;
	--main-color2: #613f31;
	--link-color: #008f4f;
	--alert-color: #ee4c1a;
}

/* ******************************************* */
/*		  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: 'Shippori Mincho', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #303231;
	background: #f3efeb;
	word-wrap: break-word;
	overflow-y: scroll;
	counter-reset: points;
}
/* ******************************************* */
/*		  container wrapper section etc
/* ******************************************* */
#container {
	min-width: 1150px;
	min-height: 100vh;
	margin: 0 auto;
	overflow: hidden;
	background: #FFFFFF;
	position: relative;
}
#container::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('/_images/overlay.jpg');
	mix-blend-mode: hard-light;
	opacity: 0.15;
	z-index: 0;
	pointer-events: none;
}
section {
	margin: 6rem auto 6rem;
}
section.color {
	padding: 6rem 500px 6rem;
	margin: 0 -500px 0;
	background: #f1ebe6;
}
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: 900px;
	margin: 0 auto;
}
strong { color: var(--main-color1); font-size: 105%; }
.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%; }
}

/* ************* 写真風画像 **************/
.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 img {
	padding: 8px 10px;
	box-shadow: rgba(0, 0, 0, 0.35) 4px 3px 11px;
	background: #fff;
	margin-bottom: 20px;
}
.photoimage.w80 { max-width: 80%; margin: 1rem auto; text-align: center; }
.photoimage.l05 img { transform: rotate( -0.5deg ); }
.photoimage.l10 img { transform: rotate( -1.0deg ); }
.photoimage.l15 img { transform: rotate( -1.5deg ); }
.photoimage.r05 img { transform: rotate(  0.5deg ); }
.photoimage.r10 img { transform: rotate(  1.0deg ); }
.photoimage.r15 img { 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: 6px solid #ffffff;
	box-shadow: 4px 4px 5px rgba( 0, 0, 0, 0.3 );
	margin: 2rem auto;
	width: 25%;
	min-width: 200px;
}

.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
/* ******************************************* */
@media(min-width:1041px){
	#header {
		background: rgba( 255, 255, 255, 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; }
	#header .header_top {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0.8rem 1.5rem;
	}
	#header .header_top h1 {
		font-size: 12px;
		line-height: 12px;
		color: #333333;
		transition: 0.1s;
	}
	#header .header_top .logo { flex: 1; display: flex; align-items: center; font-size: 1.2rem;}
	#header .header_top .logo img { width: auto; height: auto; max-width: 400px; 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: #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 {
		background: var(--main-color1);
		border: 1px solid var(--main-color1);
		padding: 0.4rem 1.0rem 0.5rem;
		border-radius: 6px;
		color: #ffffff; font-weight: bold;
	}
	#header .header_top .login a:hover {
		background: #FFFFFF;
		color: var(--main-color1);
	}
}
/* ******************************************* */
/*		  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;
		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: 70vw;
		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: 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%;
	}
}

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

/* ******************************************* */
/*		  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/main.jpg');
	width: 100%;
	height: 85vh;
	background-position: 50% 50%;
	background-size: cover;
	position: relative;
}
.tops .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1200px;
	margin: 0 auto;
	height: 85vh;
}
.tops .inner > div { width: 50%; position: relative; }
.tops .inner .images { height: 85vh; }
.tops .inner .images img { position: absolute; bottom: 0; right: 1rem; }
.tops .inner .mainbody .logo { margin-bottom: 1rem; }
.tops .inner .mainbody .text { font-size: 3.4rem; font-weight: bold; margin-bottom: 1.75rem; color: #FFFFFF; text-shadow: 3px 3px 0px rgba( 0, 0, 0, 0.6 ); }
@media(max-width:768px){
	.tops .inner {
		width: 100%;
		padding: 0 3vw;
		text-align: center;
		height: 85vh;
	}
	.tops .inner > div { width: 100%; }
	.tops .inner .images { display: none; }
	.tops .inner .mainbody .logo { margin-bottom: 1.5rem; }
	.tops .inner .mainbody .text { font-size: 2.0rem; font-weight: bold; margin-bottom: 1.5rem; color: #FFFFFF;}
}


h2 {
	font-family: 'Oswald', 'Shippori Mincho', 'ヒラギノ角ゴ 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 3.5rem;
	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.6rem;
	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:768px){
	h2 { font-size: 1.6rem; }
	h2 span { width: 300px; bottom: -1.5rem; left: 50%; margin-left: -150px; }
	h3 { font-size: 1.4rem; }
}

/* ******************************************* */
/*		  ボタン関係
/* ******************************************* */
.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 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; }
.text {
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 1.0em;
}
p.price { color: #e64343; font-size: 1.25em; margin: 0.5em 0; font-weight: bold; text-align: right; }
.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;
	line-height: 1.6;
}
.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;
	line-height: 1.75;
	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:768px){
	.imagebox { max-width: 80%; margin: 0 auto 10px; }
	.imagebox_full { margin: 0 auto 10px; }
	.largetext {
		font-size: 102%;
	}
	.bigtext {
		font-size: 120%;
		margin-bottom: 1.0em;
	}
	.gigatext {
		font-size: 135%;
		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:768px){
	#about ul.col_2,
	#feature ul.col_3 { display: block; }
	#about ul.col_2 li,
	#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;
}
ul.icon_text li {
	padding: 1rem;
	margin: 1.5rem;
	text-align: center;
	width: 260px;
}
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; }
}

/* ******************************************* */
/*          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:1000px){
	a.scroll {
		padding: 12px 0px;
		font-size: 18px;
		line-height: 1.4;
		width: 150px;
		bottom: 30px;
		left: 50%;
		margin-left: -75px;
	}
}

.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: #FFFFFF;
	padding: 4rem 0 6rem;
	margin: 0 auto;
	position: relative;
}

/* ******************************************* */
/*		  下層 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 > 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;
	}
}


mark {
	background: linear-gradient( transparent 40%, rgba(72, 184, 149, 0.26) 0% );
	letter-spacing: 0.05rem;
	border-radius: 6px;
	color: inherit;
	padding: 0 0.25rem; margin: 0 0.2rem;
}


.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/footer.jpg');
	background-position: cover; background-position: 50% 80%;
}
#footer .inner {
	padding: 6rem 0;
}
#footer .inner .logo { width: 80%; max-width: 400px; margin: 0 auto;}
#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 { font-size: 14px; line-height: 50px; text-align: center; color: #fff; }
.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){
	.copyright { font-size: 10px; }
}

/* -------------------------------------------------------------------------------------------------- */
.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; }

section#top { margin: 0 auto; padding: 5rem 0; background: url('/_images/bg_line.png') no-repeat; background-size: 100% 100%; }
.topmessage {
	color: var(--main-color1);
	font-size: 2.8rem;
	text-align: center;
	font-weight: bold;
}
section#top ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	margin: 3rem auto;
}
section#top ul li {
	background: #FFFFFF;
	color: var(--main-color2);
	font-weight: bold;
	font-size: 1.8rem;
	text-align: center;
	margin: 1.8rem;
	padding: 2.5rem 6rem;
	border-radius: 50%;
	box-shadow: 0 0 3rem var(--main-color2);
	position: relative;
}
section#top ul li:nth-of-type(odd) { margin-right: 20%; }
section#top ul li:nth-of-type(even) { margin-left: 20%; }
section#top ul li:last-of-type { margin: 2.5rem auto 10vh; font-size: 2.2rem; padding: 3rem 7rem; }

section#flow ul.comments {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 3rem auto;
	max-width: 1000px;
}
section#flow ul.comments li {
	background: #FFFFFF;
	color: var(--main-color2);
	font-weight: bold;
	font-size: 1.5rem;
	text-align: center;
	margin: 1.8rem;
	padding: 2.5rem 6rem;
	border-radius: 50%;
	box-shadow: 0 0 3rem var(--main-color2);
	position: relative;
}
section#flow ul.comments li span { font-size: 2.2rem; color: var(--alert-color); }

.dash { width: 1px; height: 10rem; background: var(--main-color1); margin: 3rem auto; }
@media(max-width:768px){
	.topmessage { font-size: 7.5vw; }
	section#top ul li { font-size: 3.75vw; margin: 2vw; padding: 6vw; }
	section#top ul li:last-of-type {  font-size: 3.75vw; margin: 2vw; padding: 6vw; }

	section#flow ul.comments {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 3rem auto;
	}
	section#flow ul.comments li {
		font-size: 3.5vw;
		text-align: center;
		margin: 2vw;
		width: 40vw;
		padding: 6vw;
	}
	section#flow ul.comments li span { font-size: 4vw; color: var(--alert-color); }
	.dash { width: 1px; height: 20vh; background: var(--main-color1); margin: 3rem auto; }
}

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

/* ******************************************* */
/*		  iframe
/* ******************************************* */
.googlemap_wrap{
	position: relative;
	padding-bottom: 50%;
	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: 3rem;
}
.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:768px){
	.white_box { padding: 2rem 3vw; }
}

.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:768px){
	.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:768px){
	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: 10px 0px 40px; }
	.rwd_scroll::after { display: block; position: absolute; width: 100vw; content:"<< スクロールできます >>"; margin: 10px auto; text-align: center; color: #999; 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', 'Shippori Mincho', 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: #FFFFFF;
	z-index: -1;
	font-family: 'Oswald';
	font-weight: 900;
	width: 10000px;
}
section.color1 .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;
}
@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: 'Shippori Mincho', 'ヒラギノ角ゴ 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:768px){
	.send_complete { min-height: 550px; }
	.send_complete .logo {
		width: 320px;
		margin: 0 auto 2rem;
	}
}

ul.checklist {
	margin: 2rem auto;
	max-width: 500px;
}
ul.checklist li {
	margin: 1rem auto;
	position: relative;
	font-size: 1.5rem;
	font-weight: bold;
	padding-left: 2rem;
}
ul.checklist li::before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: '\f14a';
	position: absolute;
	top: 0; left: 0;
	color: var(--main-color2);
}