/*
Theme Name: Eishin349
Theme URL: https://eishin349.com/
Description: ミュージシャンEishinさんのWebサイト「Eishin349」の専用テーマです。
Author: 猫缶工房
Author URI: https://mick39.com/
Version: 1.0
*/

/* ==================================================
+ Index
-----------------------------------------------------
================================================== */


/* ==================================================
+ インポート
-------------------------------------------------- */
/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Itim&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons+Round');
/* リセットCSS */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@supports not (min-block-size:100dvb){:where(html){block-size:100%}}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){block-size:100%;block-size:100dvb;line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:2px solid var(--focus-color,Highlight);outline-offset:2px}:where(.visually-hidden:not(:focus,:active,:focus-within,.not-visually-hidden)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}

/* ==================================================
+ 基本設定
-------------------------------------------------- */
/* 1rem を 10px に設定（PC：1200px、SP：640px）
-------------------------------------------------- */
html{ font-size:10px; }
@media screen and (min-width:768px) and (max-width:1200px){
	html{ font-size:0.83vw; }
}
@media screen and (max-width:767px){
	html{ font-size:1.56vw; }
}
body{
	font-family:'Kosugi Maru', sans-serif;
	font-size:1.6rem;
	line-height:1.8;
	color:#333;
	font-feature-settings: "palt";
}
@media screen and (max-width: 767px){
	body{
		font-size:3.2rem;
	}
}
body:before,
body:after{
	content:"";
	display:block;
	width:100%;
	height:100vh;
	position:fixed;
	left:0;
	top:0;
	background:url(parts/bg.jpg) no-repeat center center;
	background-size:cover;
	z-index:1;
}
body:after{
	background-image:url(parts/dark_bg.jpg);
	opacity:0;
	transition:opacity 0.5s ease 0s;
}
body.sDark:after{
	opacity:1;
}
a{
	color:#333;
}
body.sDark a{
	color:#fff;
}
a:hover{
	text-decoration:none;
}
img{
	border:0;
	width:100%;
	height:auto;
}

/* ==================================================
+ 共通パーツ
-------------------------------------------------- */
/* oPage：ページ全体
-------------------------------------------------- */
.oPage{
	position:relative;
	padding-top:14rem;
	z-index:10;
}
@media screen and (max-width: 767px){
	.oPage{
		padding-top:34rem;
	}
}
/* oHeader：ヘッダー
-------------------------------------------------- */
.oHeader{
	position:fixed;
	left:0;
	top:5rem;
	right:0;
	width:118rem;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	align-items:center;
	white-space:nowrap;
	line-height:1;
	box-sizing:border-box;
	padding:1rem 2rem;
	border-radius:4rem;
	z-index:9000;
	transition:all 0.5s ease 0s;
}
.oHeader.sScroll{
	background-color:rgba(52,73,12,0.8);
	box-shadow:0 0 1rem rgba(46,54,12,0.8) inset;
}
body.sDark .oHeader.sScroll{
	background-color:rgba(30,30,30,0.8);
	box-shadow:
		0 0 1rem rgba(30,30,30,0.8) inset,
		0 0 1rem rgba(255,255,255,0.5);
}
.oHeader_logo{
	width:20rem;
}
.oHeader_logo > a{
	display:block;
	transition:opacity 0.5s ease 0s;
}
.oHeader_logo > a:hover{
	opacity:0.5;
}
.oHeader_logo > a > img{
	filter:
		drop-shadow(0 0 0.5rem rgba(76,96,64,0.8))
		drop-shadow(0 0 0.5rem rgba(76,96,64,0.8))
		drop-shadow(0 0 0.5rem rgba(76,96,64,0.8));
}
body.sDark .oHeader_logo > a > img{
	filter:
		drop-shadow(0 0 0.5rem rgba(0,0,0,0.8))
		drop-shadow(0 0 0.5rem rgba(0,0,0,0.8))
		drop-shadow(0 0 0.5rem rgba(0,0,0,0.8));
}
.oHeader_nav{
	width:84rem;
}
.oHeader_nav a{
	color:#fff;
	text-shadow:
		0 0 1rem rgba(76,96,64,0.8),
		0 0 1rem rgba(76,96,64,0.8),
		0 0 1rem rgba(76,96,64,0.8);
	text-decoration:none;
	font-size:1.8rem;
	font-weight:bold;
	font-family:'Itim', 'Kosugi Maru';
	display:block;
	position:relative;
}
body.sDark .oHeader_nav a{
	text-shadow:
		0 0 1rem rgba(0,0,0,0.8),
		0 0 1rem rgba(0,0,0,0.8),
		0 0 1rem rgba(0,0,0,0.8);
}
.oHeader_nav a:hover:before,
.oHeader_nav .current-menu-item a:before{
	position:absolute;
	left:0;
	right:0;
	bottom:-1.6rem;
	content:'▼';
	color:#edfb59;
	font-size:1rem;
	display:block;
	text-align:center;
	width:100%;
	margin:0 auto;
	text-shadow:
		0 0 1rem rgba(76,96,64,0.8),
		0 0 1rem rgba(76,96,64,0.8),
		0 0 1rem rgba(76,96,64,0.8);
}
body.sDark .oHeader_nav a:hover:before,
body.sDark .oHeader_nav .current-menu-item a:before{
	color:#999;
	text-shadow:
		0 0 1rem rgba(0,0,0,0.8),
		0 0 1rem rgba(0,0,0,0.8),
		0 0 1rem rgba(0,0,0,0.8);
}
.oHeader_nav > ul{
	list-style-type:none;
	margin:0;
	padding:0;
	width:100%;
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
.oHeader_nav > ul > li + li{
	margin-left:2rem;
}
.oHeader_dark{
	position:fixed;
	top:2rem;
	right:2rem;
}
.oHeader_dark{
	display:flex;
	color:#fff;
	font-size:1.4rem;
	font-weight:bold;
	text-decoration:none;
	width:13.5rem;
	justify-content:space-between;
	align-items:center;
}
.oHeader_dark > span{
	text-shadow:
		0 0 1rem rgba(76,96,64,0.8),
		0 0 1rem rgba(76,96,64,0.8),
		0 0 1rem rgba(76,96,64,0.8);
}
body.sDark .oHeader_dark > span{
	text-shadow:
		0 0 1rem rgba(0,0,0,0.8),
		0 0 1rem rgba(0,0,0,0.8),
		0 0 1rem rgba(0,0,0,0.8);
}
.oHeader_dark > a,
body.sDark .oHeader_dark > a:hover{
	display:block;
	width:4rem;
	height:2rem;
	border-radius:1rem;
	background-color:#77912b;
	position:relative;
	transition:background-color 0.5s ease 0s;
	border:solid 1px #fff;
	box-sizing:border-box;
}
.oHeader_dark > a:before,
body.sDark .oHeader_dark > a:hover:before{
	content:'';
	display:block;
	width:1.4rem;
	height:1.4rem;
	border-radius:0.9rem;
	position:absolute;
	left:0.2rem;
	top:0.2rem;
	background-color:#fff;
	transition:left 0.5s ease 0s;
}
.oHeader_dark > a:hover,
body.sDark .oHeader_dark > a{
	background-color:#545454;
}
.oHeader_dark > a:hover:before,
body.sDark .oHeader_dark > a:before{
	left:2.2rem;
}
.oHeader_dark > a > span{
	display:none;
}
.oHeader_dark > a:after{
	content:'';
	display:block;
}
@media screen and (max-width: 767px){
	.oHeader{
		top:8rem;
		width:62rem;
		display:block;
		padding:2rem 2rem 1rem;
		border-radius:13rem;
	}
	.oHeader_logo{
		margin:0 auto;
		width:30rem;
	}
	.oHeader_nav{
		width:100%;
	}
	.oHeader_nav a{
		font-size:3rem;
	}
	.oHeader_nav a:hover:before,
	.oHeader_nav .current-menu-item a:before{
		bottom:-1.6rem;
		font-size:1rem;
	}
	.oHeader_nav > ul{
		justify-content:center;
		flex-wrap:wrap;
	}
	.oHeader_nav > ul > li{
		margin:1.5rem 1rem;
	}
	.oHeader_dark{
		font-size:2.8rem;
		width:27rem;
	}
	.oHeader_dark > a,
	body.sDark .oHeader_dark > a:hover{
		width:8rem;
		height:4rem;
		border-radius:2rem;
	}
	.oHeader_dark > a:before,
	body.sDark .oHeader_dark > a:hover:before{
		width:2.8rem;
		height:2.8rem;
		border-radius:1.8rem;
		left:0.4rem;
		top:0.4rem;
	}
	.oHeader_dark > a:hover:before,
	body.sDark .oHeader_dark > a:before{
		left:4.4rem;
	}
}

/* oFooter：フッター
-------------------------------------------------- */
.oFooter{
	text-align:center;
	color:#333;
	text-shadow:0 0 1rem rgba(255,255,255,0.8);
	font-size:1.4rem;
	padding:2rem 0;
}
body.sDark .oFooter{
	color:#fff;
	text-shadow:
		0 0 0.5rem rgba(0,0,0,0.8),
		0 0 0.8rem rgba(0,0,0,0.8),
		0 0 1rem rgba(0,0,0,1);
}
@media screen and (max-width: 767px){
	.oFooter{
		font-size:2.4rem;
	}
}

/* ==================================================
+ oBox：ボックス
-------------------------------------------------- */
/* oBox01：汎用ボックス（半透明の白背景のボックス）
-------------------------------------------------- */
.oBox01{
	margin:4rem auto 0;
	background-color:rgba(255,255,255,0.5);
	border-radius:1rem;
	border:solid 1px #fff;
	box-shadow:0 0 1rem rgba(255,255,255,0.5) inset;
	padding:2rem 4rem;
	box-sizing:border-box;
	width:100%;
	max-width:96rem;
}
body.sDark .oBox01{
	color:#fff;
	background-color:rgba(0,0,0,0.8);
	border-color:#000;
	box-shadow:
		0 0 1rem rgba(0,0,0,0.8) inset,
		0 0 1rem rgba(255,255,255,0.5);
}
.oHd01 + .oBox01,
.oHd02 + .oBox01{
	margin-top:2rem;
}
@media screen and (max-width: 767px){
	.oBox01{
		margin-top:8rem;
		border-radius:2rem;
		padding:2rem 4rem;
		max-width:60rem;
	}
	.oHd01 + .oBox01,
	.oHd02 + .oBox01{
		margin-top:2rem;
	}
}

/* ==================================================
+ oHd：見出し
-------------------------------------------------- */
/* oHd01：大見出し
-------------------------------------------------- */
.oHd01{
	margin:0 auto;
	width:100%;
	max-width:108rem;
	position:relative;
	font-family:'Itim', 'Kosugi Maru';
}
.oHd01:before{
	content:'';
	display:block;
	width:12rem;
	height:8rem;
	background:url(parts/hd01.png) no-repeat left top;
	background-size:contain;
	position:absolute;
	left:0;
	top:0;
}
body.sDark .oHd01:before{
	background-image:url(parts/dark_hd01.png);
}
.oHd01 > span{
	position:relative;
	display:block;
	font-size:5rem;
	line-height:1.2;
	padding:2rem 6rem 0;
	color:#fff;
	text-shadow:
		0.3rem 0.3rem 0 #5a643d,
		0 0 0.3rem #5a643d;
}
body.sDark .oHd01 > span{
	text-shadow:
		0.3rem 0.3rem 0 #000,
		0 0 0.3rem #000;
}
@media screen and (max-width: 767px){
	.oHd01{
		max-width:60rem;
	}
	.oHd01:before{
		width:12rem;
		height:8rem;
	}
	.oHd01 > span{
		font-size:6rem;
		padding:1rem 0 0 6rem;
	}
}
/* oHd02：中見出し
-------------------------------------------------- */
.oHd02{
	margin:4rem auto 0;
	width:100%;
	max-width:108rem;
	position:relative;
	font-family:'Itim', 'Kosugi Maru';
}
.oHd02:before{
	content:'';
	display:block;
	width:12rem;
	height:8rem;
	background:url(parts/hd02.png) no-repeat left top;
	background-size:contain;
	position:absolute;
	left:0;
	top:0;
}
body.sDark .oHd02:before{
	background-image:url(parts/dark_hd02.png);
}
.oHd02 > span{
	position:relative;
	display:block;
	font-size:4rem;
	line-height:1.2;
	padding:3rem 6rem 0;
	color:#fff;
	text-shadow:
		0.3rem 0.3rem 0 #5a643d,
		0 0 0.3rem #5a643d;
}
body.sDark .oHd02 > span{
	text-shadow:
		0.3rem 0.3rem 0 #000,
		0 0 0.3rem #000;
}
@media screen and (max-width: 767px){
	.oHd02{
		margin:8rem auto 0;
		max-width:60rem;
	}
	.oHd02:before{
		width:12rem;
		height:8rem;
	}
	.oHd02 > span{
		font-size:4rem;
		padding:2rem 1rem 0 5rem;
	}
}

/* ==================================================
+ oTxt：テキスト
-------------------------------------------------- */
.oTxt{}
.oTxt > *:nth-child(n+2){
	margin-top:0.5em;
}
.oTxt > ul > li{
	position:relative;
	padding-left:1em;
}
.oTxt > ul > li + li{
	margin-top:0.2em;
}
.oTxt > ul > li:before{
	content:'●';
	position:absolute;
	left:0;
	top:1em;
	font-size:0.5em;
	display:block;
}

/* ==================================================
+ oNote：注記
-------------------------------------------------- */
.oNote{
	font-size:0.8em;
	position:relative;
	padding-left:1em;
}
.oNote:before{
	content:'※';
	position:absolute;
	left:0;
	top:0;
	display:block;
}

/* ==================================================
+ oTbl：テーブル
-------------------------------------------------- */
/* oTbl01：点線テーブル
-------------------------------------------------- */
.oTbl01{}
.oTbl01 > table{
	width:100%;
	border-collapse:collapse;
}
.oTbl01 > table > tbody > tr:nth-child(n+2) > th,
.oTbl01 > table > tbody > tr:nth-child(n+2) > td{
	border-top:dashed 1px #b5bc99;
	padding-top:1.5rem;
}
.oTbl01 > table > tbody > tr:nth-last-child(n+2) > th,
.oTbl01 > table > tbody > tr:nth-last-child(n+2) > td{
	padding-bottom:1.5rem;
}
.oTbl01 > table > tbody > tr > th,
.oTbl01 > table > tbody > tr > td{
	font-weight:normal;
	text-align:left;
	vertical-align:top;
}
.oTbl01 > table > tbody > tr > th{
	white-space:nowrap;
}
.oTbl01 > table > tbody > tr > td{
	width:100%;
	box-sizing:border-box;
	padding-left:4rem;
}
.oTbl01 > table > tbody > tr > td > p + p{
	margin-top:0.5em;
}
.oTbl01 a{
	text-decoration:none;
}
.oTbl01 a:hover{
	text-decoration:underline;
}
.oTbl01 a:before,
.oTbl01 a:after{
	display:inline-block;
}
.oTbl01 a:before{
	content:'▶';
	font-size:1.2rem;
	vertical-align:0.15em;
	margin-right:0.5em;
}
.oTbl01 a[target="_blank"]:after{
	font-family:'Material Icons Round';
	vertical-align:-0.15em;
	content:'\e89e';
	margin-left:0.5em;
}
body.sDark .oTbl01 > table > tbody > tr:nth-child(n+2) > th,
body.sDark .oTbl01 > table > tbody > tr:nth-child(n+2) > td{
	border-top-color:#999;
}
@media screen and (max-width: 767px){
	.oTbl01{}
	.oTbl01 > table,
	.oTbl01 > table > tbody,
	.oTbl01 > table > tbody > tr,
	.oTbl01 > table > tbody > tr > th,
	.oTbl01 > table > tbody > tr > td{
		display:block;
	}
	.oTbl01 > table > tbody > tr:nth-child(n+2){
		border-top:dashed 1px #b5bc99;
		padding-top:1.5rem;
	}
	.oTbl01 > table > tbody > tr:nth-last-child(n+2){
		padding-bottom:1.5rem;
	}
	.oTbl01 > table > tbody > tr:nth-child(n+2) > th,
	.oTbl01 > table > tbody > tr:nth-child(n+2) > td{
		border-top:0;
		padding-top:0;
	}
	.oTbl01 > table > tbody > tr:nth-last-child(n+2) > th,
	.oTbl01 > table > tbody > tr:nth-last-child(n+2) > td{
		padding-bottom:0;
	}
	.oTbl01 > table > tbody > tr > th{
		white-space:normal;
	}
	.oTbl01 > table > tbody > tr > td{
		padding-left:0;
	}
	.oTbl01 a:before{
		font-size:2.4rem;
		vertical-align:0.15em;
	}
	body.sDark .oTbl01 > table > tbody > tr:nth-child(n+2){
		border-top-color:#999;
	}
}

/* ==================================================
+ oBtn：ボタン
-------------------------------------------------- */
/* oBtn01：汎用ボタン
-------------------------------------------------- */
.oBtn01{
	margin:2rem auto 0;
}
.oBtn01 > a{
	display:block;
	width:100%;
	border:solid 1px #929d72;
	border-radius:1rem;
	background:rgba(156,174,78,0.8);
	box-shadow:0 0 1rem rgba(129,134,108,0.5) inset;
	text-align:center;
	text-decoration:none;
	line-height:1.2;
	font-size:1.8rem;
	color:#fff;
	text-shadow:0.2rem 0.2rem 0 #708426;
	padding:2rem;
	box-sizing:border-box;
	transition:opacity 0.5s ease 0s;
}
.oBtn01 > a:hover{
	opacity:0.5;
}
body.sDark .oBtn01 > a{
	border-color:#333;
	background-color:rgba(30,30,30,0.8);
	box-shadow:
		0 0 1rem rgba(0,0,0,0.5) inset,
		0 0 1rem rgba(255,255,255,0.5);
	text-shadow:0.2rem 0.2rem 0 #000;
}
@media screen and (max-width: 767px){
	.oBtn01{
		margin-top:4rem;
	}
	.oBtn01 > a{
		border-radius:2rem;
		line-height:1.2;
		font-size:3rem;
	}
}
/* vC01：色違い（赤） */
.oBtn01.vC01 > a{
	border-color:#634141;
	background-color:rgba(175,82,67,0.8);
	box-shadow:0 0 1rem rgba(99,65,65,0.5) inset;
	text-shadow:0.2rem 0.2rem 0 #634141;
}
body.sDark .oBtn01.vC01 > a{
	border-color:#999;
	background-color:rgba(100,100,100,0.8);
}
/* vC02：色違い（緑） */
.oBtn01.vC02 > a{
	border-color:#647b3d;
	background-color:rgba(102,132,45,0.8);
	box-shadow:0 0 1rem rgba(100,123,61,0.5) inset;
	text-shadow:0.2rem 0.2rem 0 #647b3d;
}
body.sDark .oBtn01.vC02 > a{
	border-color:#000;
	background-color:rgba(0,0,0,0.8);
}

/* ==================================================
+ oMovie：動画
-------------------------------------------------- */
.oMovie{
	margin:0 auto;
	width:80rem;
}
.oMovie_movie{
	position:relative;
}
.oMovie_movie:before{
	content:'';
	display:block;
	width:100%;
	height:0;
	padding-top:56.25%;
}
.oMovie_movie > iframe{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
@media screen and (max-width: 767px){
	.oMovie{
		width:60rem;
	}
}

/* ==================================================
+ oMusic：音楽
-------------------------------------------------- */
.oMusic{
	margin:4rem auto 0;
	display:flex;
	width:100%;
	max-width:96rem;
	justify-content:space-between;
}
.oMusic_col01{
	width:30rem;
}
.oMusic_col02{
	width:62rem;
}
.oMusic_col02 .oBox01{
	margin-top:0;
}
.oMusic_hd{
	padding-top:1rem;
	font-size:2.4rem;
	line-height:1.4;
}
.oMusic_txt{
	margin-top:1rem;
}
.oMusic_mp3{
	margin-top:1rem;
}
.oMusic_mp3 > li{
	border-top:dashed 1px #b5bc99;
	margin-top:2.5rem;
	padding-top:2.5rem;
}
.oMusic_mp3 > li > b{
	font-size:1.8rem;
	font-weight:normal;
	display:block;
	line-height:1.4;
	padding-bottom:1rem;
}
.oMusic_date{
	border-top:dashed 1px #b5bc99;
	margin-top:2.5rem;
	padding-top:2rem;
	font-size:1.4rem;
	text-align:right;
}
.oMusic_date > span + span{
	margin-left:2em;
}
body.sDark .oMusic_mp3 > li,
body.sDark .oMusic_date{
	border-top-color:#ccc;
}
body.sDark .oMusic_mp3 > li > div{
	box-shadow:
		0 0 1px rgba(255,255,255,1),
		0 0 1px rgba(255,255,255,1);
}
@media screen and (max-width: 767px){
	.oMusic{
		margin-top:8rem;
		display:block;
		max-width:60rem;
	}
	.oMusic_col01{
		width:100%;
	}
	.oMusic_col02{
		margin-top:4rem;
		width:100%;
	}
	.oMusic_hd{
		padding-top:1rem;
		font-size:4rem;
	}
	.oMusic_txt{
		margin-top:1rem;
	}
	.oMusic_mp3{
		margin-top:1rem;
	}
	.oMusic_mp3 > li{
		border-top:dashed 1px #b5bc99;
		margin-top:2.5rem;
		padding-top:2.5rem;
	}
	.oMusic_mp3 > li > b{
		font-size:3rem;
		padding-bottom:1rem;
	}
	.oMusic_date{
		margin-top:2.5rem;
		padding-top:2rem;
		font-size:2.4rem;
	}
	.oMusic_date > span + span{
		margin-left:2em;
	}
}

/* ==================================================
+ oMsg：メッセージ
-------------------------------------------------- */
.oMsg{}
.oMsg_hd{
	font-size:2rem;
	margin-bottom:1rem;
}
@media screen and (max-width: 767px){
	.oMsg{}
	.oMsg_hd{
		font-size:3.6rem;
		padding-top:1rem;
		margin-bottom:1rem;
	}
}

/* ==================================================
+ oForm：フォーム
-------------------------------------------------- */
.oForm{}
.oForm_tbl > table{
	width:100%;
	border-collapse:collapse;
}
.oForm_tbl > table > tbody > tr:nth-child(n+2) > th,
.oForm_tbl > table > tbody > tr:nth-child(n+2) > td{
	border-top:dashed 1px #b5bc99;
	padding-top:1.5rem;
}
body.sDark .oForm_tbl > table > tbody > tr:nth-child(n+2) > th,
body.sDark .oForm_tbl > table > tbody > tr:nth-child(n+2) > td{
	border-top-color:#ccc;
}
.oForm_tbl > table > tbody > tr:nth-last-child(n+2) > th,
.oForm_tbl > table > tbody > tr:nth-last-child(n+2) > td{
	padding-bottom:1.5rem;
}
.oForm_tbl > table > tbody > tr > th,
.oForm_tbl > table > tbody > tr > td{
	font-weight:normal;
	text-align:left;
	vertical-align:middle;
}
.oForm_tbl > table > tbody > tr:last-child > th,
.oForm_tbl > table > tbody > tr:last-child > td{
	vertical-align:top;
}
.oForm_tbl > table > tbody > tr > th{
	white-space:nowrap;
	font-size:2rem;
}
.oForm_tbl > table > tbody > tr > td{
	width:100%;
	box-sizing:border-box;
	padding-left:4rem;
	font-size:2rem;
	line-height:1.8;
}
.oForm_tbl > table > tbody > tr > td > input,
.oForm_tbl > table > tbody > tr > td > textarea{
	display:block;
	width:100%;
	background:rgba(58,89,21,0.8);
	color:#fff;
	box-sizing:border-box;
	font-size:2rem;
	padding:0.2em 0.5em;
	border:0;
}
body.sDark .oForm_tbl > table > tbody > tr > td > input,
body.sDark .oForm_tbl > table > tbody > tr > td > textarea{
	background:rgba(0,0,0,0.8);
	box-shadow:
		0 0 1px rgba(255,255,255,1),
		0 0 1px rgba(255,255,255,1);
}
.oForm_tbl > table > tbody > tr > td > textarea{
	line-height:1.8;
}
.oForm_btn{
	margin-top:2rem;
	text-align:center;
}
.oForm_btn > input{
	width:25rem;
	display:inline-block;
	cursor:pointer;
	border:solid 1px #929d72;
	border-radius:1rem;
	background:rgba(156,174,78,0.8);
	box-shadow:0 0 1rem rgba(129,134,108,0.5) inset;
	text-align:center;
	text-decoration:none;
	line-height:1.2;
	font-size:1.8rem;
	color:#fff;
	text-shadow:0.2rem 0.2rem 0 #708426;
	padding:2rem;
	box-sizing:border-box;
	transition:opacity 0.5s ease 0s;
}
body.sDark .oForm_btn > input{
	border-color:#333;
	background-color:rgba(30,30,30,0.8);
	box-shadow:
		0 0 1rem rgba(0,0,0,0.5) inset,
		0 0 1rem rgba(255,255,255,0.5);
	text-shadow:0.2rem 0.2rem 0 #000;
}
.oForm_btn > input:hover{
	opacity:0.5;
}
.oForm_btn > input:only-child{
	width:40rem;
}
.oForm_btn > input + input{
	margin-left:4rem;
}
.oForm_btn > input[name="submitBack"]{
	border-color:#647b3d;
	background-color:rgba(102,132,45,0.8);
	box-shadow:0 0 1rem rgba(100,123,61,0.5) inset;
	text-shadow:0.2rem 0.2rem 0 #647b3d;
}
body.sDark .oForm_btn > input[name="submitBack"]{
	border-color:#000;
	background-color:rgba(0,0,0,0.8);
}
.oForm_thanks{
	font-size:2rem;
	text-align:center;
}
@media screen and (max-width: 767px){
	.oForm_tbl > table,
	.oForm_tbl > table > tbody,
	.oForm_tbl > table > tbody > tr,
	.oForm_tbl > table > tbody > tr > th,
	.oForm_tbl > table > tbody > tr > td{
		display:block;
		width:100%;
	}
	.oForm_tbl > table > tbody > tr:nth-child(n+2){
		border-top:dashed 1px #b5bc99;
		padding-top:1.5rem;
	}
	body.sDark .oForm_tbl > table > tbody > tr:nth-child(n+2){
		border-top-color:#ccc;
	}
	.oForm_tbl > table > tbody > tr:nth-child(n+2) > th,
	.oForm_tbl > table > tbody > tr:nth-child(n+2) > td{
		border-top:0;
	}
	.oForm_tbl > table > tbody > tr:nth-last-child(n+2){
		padding-bottom:1.5rem;
	}
	.oForm_tbl > table > tbody > tr:nth-last-child(n+2) > th,
	.oForm_tbl > table > tbody > tr:nth-last-child(n+2) > td{
		padding-bottom:0;
	}
	.oForm_tbl > table > tbody > tr > th{
		font-size:4rem;
	}
	.oForm_tbl > table > tbody > tr > td{
		padding-left:0;
		font-size:4rem;
	}
	.oForm_tbl > table > tbody > tr > td > input,
	.oForm_tbl > table > tbody > tr > td > textarea{
		font-size:4rem;
		padding:0.4em 1em;
	}
	.oForm_btn{
		margin-top:4rem;
	}
	.oForm_btn > input{
		width:25rem;
		border-radius:2rem;
		font-size:3.6rem;
	}
	.oForm_thanks{
		font-size:4rem;
	}
}

/* ==================================================
+ x：上書きCSS
-------------------------------------------------- */
/* xPC：PC体裁時のみ表示
-------------------------------------------------- */
@media screen and (max-width:767px){
	.xPC{ display:none !important; }
}
/* xSP：スマホ体裁時のみ表示
-------------------------------------------------- */
@media screen and (min-width:768px){
	.xSP{ display:none !important; }
}
/* xPrint：印刷時のみ表示
-------------------------------------------------- */
@media print{
	.xPrint{ display:none !important; }
}
/* xW：横幅
-------------------------------------------------- */
.xW_400{ width:40rem !important; }
@media screen and (min-width:768px){
	.xW_pc400{ width:40rem !important; }
}
@media screen and (max-width:767px){
	.xW_sp400{ width:40rem !important; }
}