/* ------------------------- MEMO ------------------------------
◆DOMツリー概観
.articleBox > .aH2, .articleBody > .contentBox > _
.aH3, .articleBody > .contentBox > .colorBox > _
.vBox, .eBox, fBox
------------------------------------------------------------- */

/* #############################################################
============================= page =============================
############################################################# */

/* =============================================================
============================= whole ============================
============================================================= */

* {
	color: #fff;
	text-decoration: none;
	list-style-type: none;
	letter-spacing: 0.125rem;
    	scroll-behavior: smooth;
}

html {
	background-color: #000;
}

/* #############################################################
========================== pageHeader ==========================
############################################################# */

.pageHeader {
	display: block;
	width: 100%;
	text-align: center;
	background: url(../Introduction_svg/darkgray_owl.svg) repeat;
	background-size: 100vmin auto;
	background-position: 0 15%;
	white-space: nowrap;
}

.pageHeader > a {
	font-weight: bold;
}

/* #############################################################
============================= nav =============================
############################################################# */

.flexNav {
	display: flex;
	list-style-type: none;
	flex-wrap: wrap;
	justify-content: space-around;
	text-align: center;
}

.flexNav > a {
	display: block;
	background-color: #333;
	overflow: hidden;
	transition: background 0.9s ease, color 0.5s ease;
	letter-spacing: 0.2rem;
}

.flexNav > a:hover {
	background-color: #ccc;
	color: #000;
	transition: background 0.9s ease, color 0.5s ease;
}

.flexNav > .oppColor {
	background-color: #ccc;
}

.flexNav > .pnl {
	display: block;
	position: absolute;
	width: 100%;
	transition: transform 1s ease;
}

#pnl1, #pnl2, #pnl3, #pnl4, #pnl5, #pnl6, #pnl7, #pnl8, #pnl9, #pnl10 {
	display: block;
	position: relative;
	text-align: center;
	background-color: #ccc;
	color: #000;
	background: url(../Introduction_svg/lightgray_owl.svg) repeat;
	background-size: 100vmin auto;
	background-position: 0 15%;
	font-weight: bold;
	white-space: nowrap;
}

#pnl1onlyMob, #pnl2onlyMob, #pnl3onlyMob, #pnl4onlyMob, #pnl5onlyMob, #pnl6onlyMob, #pnl7onlyMob, #pnl8onlyMob, #pnl9onlyMob, #pnl10onlyMob {
	display: block;
	position: relative;
	text-align: center;
	background-color: #ccc;
	color: #000;
	background: url(../Introduction_svg/lightgray_owl.svg) repeat;
	background-size: 100vmin auto;
	font-weight: bold;
	white-space: nowrap;
}

#pnl1onlyTab, #pnl2onlyTab, #pnl3onlyTab, #pnl4onlyTab, #pnl5onlyTab, #pnl6onlyTab, #pnl7onlyTab, #pnl8onlyTab, #pnl9onlyTab, #pnl10onlyTab {
	display: block;
	position: relative;
	text-align: center;
	background-color: #ccc;
	color: #000;
	background: url(../Introduction_svg/lightgray_owl.svg) repeat;
	background-size: 100vmin auto;
	font-weight: bold;
	white-space: nowrap;
}

.flexNav > a:hover + .pnl {
	transition: transform 1s ease;
}

/* #############################################################
========================== articleBox ==========================
############################################################# */

/* =============================================================
========================== articleBox ==========================
============================================================= */

.articleBox {
	background-color: #222;
	margin: 2vmin;
	box-shadow: inset #555555 0.5vmin 0.8vmin 0.8vmin 0.2vmin;
	border-radius: 2vmin;
}

/* =============================================================
========================== articleBody =========================
============================================================= */

/* =============================================================
========================== contentBox ==========================
============================================================= */

/* -------------------------------------------------------------
---------------------------- label -----------------------------
------------------------------------------------------------- */

.articleBody_end > .acdCheck:checked + label {
	border-radius: 0;
	transition: all 0.5s;
}

/* =============================================================
=========================== headers ============================
============================================================= */

/* -------------------------------------------------------------
------------------------------ h1 ------------------------------
------------------------------------------------------------- */

.articleHeader {
	padding: 4vmin 9vmin;
	box-shadow: inset #555555 0.8vmin 0.8vmin 1vmin 0.3vmin, black 0vmin 0.8vmin 2vmin 0.3vmin;
	border-radius: 2vmin 2vmin 0vmin 0vmin;
	background: url(../Introduction_svg/gray_letters.svg) repeat;
	background-size: 150vmin;
}

.articleBox > header {
	background-color: #333;
}

h1 > ruby > rb {
	letter-spacing: 0.4rem;
}

/* ====================== contentBoxH1 ====================== */

/* -------------------------------------------------------------
------------------------------ h2 ------------------------------
------------------------------------------------------------- */

h2 {
	padding-left: 2.3rem;
	background: url(../Introduction_svg/lightgray_ridgeStar.svg) no-repeat;
	background-size: 0.9em;
	letter-spacing: 0.3rem;
}

.aH2 > input {
	display: none;
}

.aH2 > label {
	display: block;
	padding: 2.5vmin 7vmin;
	border-top: solid 2px #fff;
	background: rgba(0,0,0,0);
	cursor: pointer;
	transition: all 0.5s;
}

.aH2 > label:hover > h2 {
	color: #000;
	transition: all 0.5s;
}

.aH2 > label:hover {
	background: #ccc;
	box-shadow: inset #ffffff 0.3vmin 0.3vmin 0.3vmin 0.15vmin, #000000 0vmin 0.8vmin 2vmin 0.3vmin;
}

.aH2_begin > label {
	border: none;
}

.aH2_end > label {
	border-radius: 0 0 2vmin 2vmin;
}

/* ====================== contentBoxH2 ====================== */

.aH2 > .contentBox {
	height: 0;
	padding: 0;
	margin: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.5s ease;
	transform: translateX(-10em);
}

.aH2 > .acdCheck:checked ~ .contentBox {
	height: auto;
	opacity: 1;
	transform: translateX(0);
}

/* -------------------------------------------------------------
------------------------------ h3 ------------------------------
------------------------------------------------------------- */

h3 {
	padding-left: 1.3em;
	background: url(../Introduction_svg/lightgray_nikukyuu.svg) no-repeat;
	background-size: 0.8em;
	letter-spacing: 0.15rem;
}

.aH3 > input {
	display: none;
}

.aH3 > label {
	display: block;
	padding: 2vmin 9vmin;
	border-top: dashed 1px #fff;
	background: rgba(0,0,0,0);
	cursor: pointer;
	transition: all 0.5s;
}

.aH3 > label:hover > h3 {
	color: #000;
	transition: all 0.5s;
}

.aH3 > label:hover {
	background: #ccc;
	box-shadow: inset #ffffff 0.3vmin 0.3vmin 0.3vmin 0.15vmin, #000000 0vmin 0.8vmin 2vmin 0.3vmin;
}

.aH3_begin > label {
}

.aH3_end > label {
	border-radius: 0 0 2vmin 2vmin;
}

/* ====================== contentBoxH3 ====================== */

.aH3 > .contentBox {
	height: 0;
	padding: 0;
	margin: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 1s ease-out;
	transform: translateY(-0.2em);
}

.aH3 > .acdCheck:checked ~ .contentBox {
	height: auto;
	opacity: 1;
	transform: translateY(0);
}

/* -------------------------------------------------------------
------------------------------ h4 ------------------------------
------------------------------------------------------------- */

h4 {
	display: block;
	padding: 1.5vmin 4vmin;
	font-weight: 600;
	line-height: 2.5rem;
	overflow: hidden;
}

h4 > span {
	padding: 0.1vmin 4vmin;
	text-align: center;
	background-color: #771;
	box-shadow: #000000 0.7vmin 0.7vmin 1vmin;
}

/* -------------------------------------------------------------
------------------------------ h5 ------------------------------
------------------------------------------------------------- */

h5 {
	display: block;
	padding: 1.5vmin 4vmin;
	margin: 1vmin 0;
	font-weight: 600;
	overflow: hidden;
}

h5 > span {
	padding: 0.1vmin 4vmin;
	text-align: center;
	background-color: #771;
	box-shadow: #222200 0.4vmin 0.4vmin 0.6vmin;
}

/* =============================================================
=========================== flexBox ============================
============================================================= */

.flexBox {
	display: flex;
	list-style-type: none;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	width: 100%;
	margin: 0 auto;
}

.flexBox > p {
	padding: 1.2vmin 0 2.3vmin;
	overflow: hidden;
	background-color: transparent;
	text-align: center;
}

.flexBox > small {
	text-align: center;
	font-style: oblique;
}

.flexBox picture {
}

.flexBox source {
	width: 90%;
	height: auto;
}

.flexBox img {
	width: 90%;
	height: auto;
}

/* ======================= flex30%@Pc ======================= */

/* ----------------------- flex45%@Mobile ------------------- */

/* ======================= flex45%@Pc ======================= */

/* ----------------------- flex95%@Mobile ------------------- */

.flexPart > .pc45mob95 {
	text-align: center;
	margin: 2.5vmin 1.75%;
	overflow: hidden;
	background-color: transparent;
}

/* ======================= flex70%@Pc ======================= */

/* ----------------------- flex95%@Mobile ------------------- */

.flexPart > .pc70mob95 {
	text-align: center;
	margin: 2.5vmin 1.75%;
	overflow: hidden;
	background-color: transparent;
}

/* -------------------------------------------------------------
--------------------------- addPad -----------------------------
------------------------------------------------------------- */

.flexPart > .addPad {
	flex-basis: 95%;
	display: block;
	padding: 8vmin 3vmin;
	text-align: center;
}

/* -------------------------------------------------------------
------------------------- flexBoxMax ---------------------------
------------------------------------------------------------- */

.flexBoxMax {
	text-align: center;
	background-color: transparent;
	width: 95%;
	margin: 0 auto;
}

.flexBoxMax picture {
}

.flexBoxMax source {
	width: 100%;
	height: auto;
}

.flexBoxMax img {
	width: 100%;
	height: auto;
}

.flexBoxMax > small {
	text-align: center;
	font-style: oblique;
}

/* -------------------------------------------------------------
-------------------------- videoBox ---------------------------
------------------------------------------------------------- */

video {
	width: 100%;
}

.videoBox {
	text-align: center;
	margin: 2.5vmin;
	overflow: hidden;
	background-color: transparent;
}

.videoBox > .videoLabel {
	display: block;
	text-align: center;
	font-style: oblique;
}

/* =============================================================
============================== p ===============================
============================================================= */

.articleBody > .contentBox > p {
	line-height: 1.8em;
}

.articleBody_end > .contentBox > p {
	border-radius: 0 0 2vmin 2vmin;
}

/* -------------------------------------------------------------
--------------------------- colorBox ---------------------------
------------------------------------------------------------- */

.colorBox > p {
	line-height: 1.8em;
	text-align: left;
}

/* -------------------------------------------------------------
--------------------------- extraBox ---------------------------
------------------------------------------------------------- */

.extraBox > p {
	line-height: 1.8em;
	text-align: left;
}

/* =============================================================
=========================== ColorBox ===========================
============================================================= */

.colorBox {
	margin: 0 3vmin 5vmin;
	padding: 3vmin 0;
	line-height: 1.3em;
	text-align: left;
	background-color: #333;
	box-shadow: #000000 1vmin 1vmin 1.5vmin;
}

/* ======================= h3TBoxCBox ======================= */

.aH3 > .contentBox > .tabBody > .tabBox > .colorBox {
	margin: 0 0 5vmin;
	padding: 3vmin 0;
	line-height: 1.3em;
	text-align: left;
	background-color: #333;
	box-shadow: #000000 1vmin 1vmin 1.5vmin;
}

/* -------------------------------------------------------------
-------------------------- h3TabBody ---------------------------
------------------------------------------------------------- */

.aH3 > .contentBox > .tabBody {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	margin: 0 3vmin;
}

.aH3 > .contentBox > .tabBody > .tabBox {
	order: 1;
	width: 100%;
}

.aH3 > .contentBox > .tabBody > .tabBox > div {
	display: none;
}

.aH3 > .contentBox > .tabBody::after {
	display: block;
	content: "";
	width: 100%;
}

/* ===================== h3TBoxTabLabel ===================== */

.aH3 > .contentBox > .tabBody > .boxTab {
	display: block;
	flex-basis: 20%;
	padding: 0.8rem 0;
	background-color: #555;
	overflow: hidden;
	border-radius: 0 0;
	text-align: center;
  	position: relative;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .boxTab:hover {
	cursor: pointer;
	background-color: #ccc;
	color: #000;
	transition: background-color 1s ease, color 0.5s ease;
}

/* ===================== h3TBoxTabInput ===================== */

.aH3 > .contentBox > .tabBody > .rTab {
	display: none;
}

.aH3 > .contentBox > .tabBody > .rTab1:checked ~ .bTab1 {
	background: #345;
	color: #fff;
	cursor: default;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab1:checked ~ .bTab6 {
	background: #345;
	color: #fff;
	cursor: default;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab1:checked ~ .bTab6:hover {
	cursor: pointer;
	background-color: #ccc;
	color: #000;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab1:checked ~ .tabBox > .tBox1 {
	display: block;
	background-color: #345;
}


.aH3 > .contentBox > .tabBody > .rTab2:checked ~ .bTab2 {
	background: #346;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab2:checked ~ .bTab7 {
	background: #346;
	color: #fff;
	cursor: default;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab2:checked ~ .bTab7:hover {
	cursor: pointer;
	background-color: #ccc;
	color: #000;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab2:checked ~ .tabBox > .tBox2 {
	display: block;
	background-color: #346;
}


.aH3 > .contentBox > .tabBody > .rTab3:checked ~ .bTab3 {
	background: #355;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab3:checked ~ .bTab8 {
	background: #355;
	color: #fff;
	cursor: default;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab3:checked ~ .bTab8:hover {
	cursor: pointer;
	background-color: #ccc;
	color: #000;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab3:checked ~ .tabBox > .tBox3 {
	display: block;
	background-color: #355;
}


.aH3 > .contentBox > .tabBody > .rTab4:checked ~ .bTab4 {
	background: #354;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab4:checked ~ .bTab9 {
	background: #354;
	color: #fff;
	cursor: default;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab4:checked ~ .bTab9:hover {
	cursor: pointer;
	background-color: #ccc;
	color: #000;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab4:checked ~ .tabBox > .tBox4 {
	display: block;
	background-color: #354;
}


.aH3 > .contentBox > .tabBody > .rTab5:checked ~ .bTab5 {
	background: #353;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab5:checked ~ .bTab10 {
	background: #353;
	color: #fff;
	cursor: default;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab5:checked ~ .bTab10:hover {
	cursor: pointer;
	background-color: #ccc;
	color: #000;
	transition: background-color 1s ease, color 0.5s ease;
}

.aH3 > .contentBox > .tabBody > .rTab5:checked ~ .tabBox > .tBox5 {
	display: block;
	background-color: #353;
}



.aH3 > .contentBox > .tabBody > .rTab6:checked ~ .bTab6 {
	background: #435;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab6:checked ~ .tabBox > .tBox6 {
	display: block;
	background-color: #435;
}


.aH3 > .contentBox > .tabBody > .rTab7:checked ~ .bTab7 {
	background: #535;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab7:checked ~ .tabBox > .tBox7 {
	display: block;
	background-color: #535;
}


.aH3 > .contentBox > .tabBody > .rTab8:checked ~ .bTab8 {
	background: #534;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab8:checked ~ .tabBox > .tBox8 {
	display: block;
	background-color: #534;
}


.aH3 > .contentBox > .tabBody > .rTab9:checked ~ .bTab9 {
	background: #533;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab9:checked ~ .tabBox > .tBox9 {
	display: block;
	background-color: #533;
}


.aH3 > .contentBox > .tabBody > .rTab10:checked ~ .bTab10 {
	background: #531;
	color: #fff;
	cursor: default;
}

.aH3 > .contentBox > .tabBody > .rTab10:checked ~ .tabBox > .tBox10 {
	display: block;
	background-color: #531;
}

/* ===================== h3TBoxCBoxExr ====================== */

.aH3 > .contentBox > .tabBody > .tabBox > .colorBox .extraBox {
	margin: 0 3vmin;
	padding: 2.5vmin 0;
	line-height: 1.3em;
	text-align: left;
	background-color: #344;
	box-shadow: #111111 0.7vmin 0.7vmin 1vmin;
	overflow: hidden;
}

/* -------------------------------------------------------------
-------------------------- h3CBoxEBox --------------------------
------------------------------------------------------------- */

.aH3 > .contentBox > .colorBox .extraBox {
	margin: 0 3vmin;
	padding: 2.5vmin 0;
	line-height: 1.3em;
	text-align: left;
	background-color: #344;
	box-shadow: #111111 0.7vmin 0.7vmin 1vmin;
	overflow: hidden;
}

/* =============================================================
============================ table =============================
============================================================= */

table {
	color: #fff;
	background-color: transparent;
	border: solid 1px #fff;
	border-collapse: collapse;
	margin: 0 auto 5vmin;
	width: 90%;
}

table th {
	line-height: 1.8em;
	text-align: center;
	vertical-align: middle;
	border: dashed 1px #fff;
	background-color: #333;
	padding: 0.5rem 1rem;
	word-break: keep-all;
}

table td {
	line-height: 1.8em;
	text-align: left;
	vertical-align: middle;
	border: dashed 1px #fff;
	background-color: #555;
	padding: 0.5rem 1rem;
	word-break: break-all;
}

/* ======================== tdCenter ======================== */

.tdCenter td {
	text-align: center;
}

/* -------------------------------------------------------------
---------------------------- cBoxPA ----------------------------
------------------------------------------------------------- */

.articleBody > .contentBox > p > a {
	display: block;
	text-align: right;
}

/* =============================================================
========================= forOverFlow ==========================
============================================================= */

/* -------------------------------------------------------------
-------------------------- notifBox ----------------------------
------------------------------------------------------------- */

.articleBody > .contentBox > .notifBox {
	display: block;
	margin: 0 3vmin;
	padding: 2vmin 0;
	line-height: 1.3rem;
	text-align: center;
	background-color: #171717;
	box-shadow: inset #000000 0 0 1.5vmin 0;
	overflow: hidden;
}

/* -------------------------------------------------------------
-------------------------- iframeBox ---------------------------
------------------------------------------------------------- */

.articleBody > .contentBox > .iframeBox {
	text-align: center;
	margin: 0 2.5vmin 2.5vmin;
	overflow: hidden;
	background-color: transparent;
}

iframe {

}

/* =============================================================
============================ form ==============================
============================================================= */

.formBody {
	margin: 0;
	padding: 1vmin 3vmin;
	background: url(../Introduction_svg/darkgray_border_hzntal_cat_desk1.svg) no-repeat;
	background-size: 100%;
	background-position: 50% 90%;
}

.formBox {
	margin: 0 auto;
	border-top: 1px dashed #ddd;
	padding: 3vmin 0;
	display: flex;
	align-items: center;
}

.formBox:nth-child(1) {
	border-top: none;
	padding-top: 0;
}

.formLabel {
	width: 100%;
	max-width: 10rem;
	font-weight: 500;
}

.fLabel {
	padding-left: 2rem;
	background: url(../Introduction_svg/white_nikukyuu.svg) no-repeat;
	background-size: 1.3rem;
	background-position: 0.3rem 0;
}

.formInput {
	opacity: 0.8;
	border: 2px solid #fff;
	border-radius: 2vmin;
	margin-left: 3rem;
	padding: 2vmin 3vmin;
	flex: 1;
	width: 100%;
	background: #333;
}

.formTextarea {
	opacity: 0.8;
	border: 2px solid #fff;
	border-radius: 2vmin;
	margin-left: 3rem;
	padding: 2vmin 3vmin;
	flex: 1;
	width: 100%;
	background: #333;
	height: 30vmin;
}

.formBtn {
	border-radius: 2vmin;
	margin: 10vmin auto 1vmin;
	padding: 1vmin 10vmin;
	display: block;
	background: #337;
	color: #fff;
	font-weight: 500;
	box-shadow: #000000 0.4vmin 0.4vmin 0.6vmin;
}

/* -------------------------------------------------------------
---------------------- form#canvasConfig -----------------------
------------------------------------------------------------- */

#canvasConfig input {
	color: #000;
	width: 100%;
}

/* =============================================================
========================== juggling ===========================
============================================================= */

/* -------------------------------------------------------------
----------------------------- pptx -----------------------------
------------------------------------------------------------- */

/* -------------------------------------------------------------
-------------------------- adjustment --------------------------
------------------------------------------------------------- */

.padNone {
	padding: 0 !important;
}

.postageSVG {
	display: block;
	margin-right: 3vmin;
	padding: 3vmin 5vmin;
	overflow: hidden;
	background: url(../Introduction_svg/darkgray_atmark.svg) no-repeat;
	background-size: 25vmin;
	background-position: 100% 50%;
}

/* [S] width="610px" height="367px" [M] width="962px" height="565px" [L] width="1186px" height="691px" */

/* #############################################################
========================== reference ==========================
############################################################# */

/* ------------------------- MEMO -----------------------------
◆リストマーカーをbackground-imageで挿入している理由。
∵list-style-imageを使用すると、画像サイズが変更できないため。
------------------------------------------------------------- */

details > ol > li {
	padding-left: 1.3rem;
	background: url(../Introduction_svg/white_nikukyuu.svg) no-repeat;
	background-size: 1em auto;
}

details > ol > li > ul > li {
	padding-left: 1.3rem;
	background: url(../Introduction_svg/white_ridgeStar.svg) no-repeat;
	background-size: 1em auto;
}

/* #############################################################
========================== pageFooter ==========================
############################################################# */

small {
	display: block;
	text-align: center;
}

