@charset "utf-8";
/*************************************************************
 *
 * Copyright (c) 2022 ysrock Co., Ltd.	<info@ysrock.co.jp>
 * Copyright (c) 2022 Yasuo Sugano	<sugano@ysrock.co.jp>
 *
 * Version	: 1.0.0
 * Update	: 2022.09.15
 *
 *************************************************************/

:root{
	--while: 255 255 255;
	--black: 0 0 0;
	--blue: 0 122 255;
	--red: 255 0 122;
	--green: 0 122 0;
}

@media print, screen and (min-width: 1025px){
	:root{
		--theme_nav-height:57px;
		--theme_frame_list-width:355px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	:root{
		--theme_nav-height:7.125vw;
		--theme_frame_list-width:34.6341vw;
	}
}
@media screen and (max-width: 640px){
	:root{
		--theme_nav-height:16.2857vw;
		--theme_frame_list-width:100vw;
	}
}


/***** アイコン *****/
span[class^="icon-"],
span[class*=" icon-"]{
	margin-right:.5em;
}



/**************************************************
 *
 * タブ：共通
 *
 **************************************************/
div.theme_tab{
	position:relative;
	overflow-x:auto;
	overflow-y:hidden;
}
div.theme_tab::-webkit-scrollbar{
    display:none
}
div.theme_tab.right{
	text-align:right;
}
div.theme_tab > ul{
	display:inline-block;
	cursor:pointer;
	white-space:nowrap;
	position:relative;
}
div.theme_tab > ul > li{
	display:inline-block;
	line-height:1em;
	cursor:pointer;
	white-space:nowrap;
	position:relative;
	z-index:2;
	user-select:none;
}
div.theme_tab > ul > li.this{
	font-weight:bold;
}
div.theme_tab > ul > li > a{
	color:rgb(var(--black));
	text-decoration:none;
}

@media print, screen and (min-width: 1025px){
	/* px */
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8 */
}
@media screen and (max-width: 640px){
	/* px/4 */
}
/********** END タブ：共通 ********************/



/**************************************************
 *
 * タブ：ボタン型
 *
 **************************************************/
div.theme_tab.button > ul{
	background-color:#eee;
}
div.theme_tab.button > div.white_box{
	position:absolute;
	top:0;
	bottom:0;
	z-index:1;
	margin-top:auto;
	margin-bottom:auto;
	display:inline-block;
	background-color:rgb(var(--while));
	transition:left .1s linear;
}

@media print, screen and (min-width: 1025px){
	/* px */

	div.theme_tab.button > ul{
		border-radius:8px;
		padding:3px;
	}
	div.theme_tab.button > ul > li{
		padding:6px 30px;
		font-size:14px;
	}
	div.theme_tab.button > div.white_box{
		border-radius:8px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	div.theme_tab.button > ul{
		border-radius:0.9367vw;
		padding:0.3512vw;
	}
	div.theme_tab.button > ul > li{
		padding:0.7025vw 3.5128vw;
		font-size:1.6393vw;
	}
	div.theme_tab.button > div.white_box{
		border-radius:0.9367vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	div.theme_tab.button > ul{
		border-radius:2vw;
		padding:0.75vw;
	}
	div.theme_tab.button > ul > li{
		padding:1.5vw 7.5vw;
		font-size:3.5vw;
	}
	div.theme_tab.button > div.white_box{
		border-radius:2vw;
	}
}
/********** END タブ：ボタン型 ********************/



/**************************************************
 *
 * タブ：線型
 *
 **************************************************/
div.theme_tab.border{
	border-bottom-style:solid;
	border-bottom-color:#c7c7c7;
}
div.theme_tab.border > ul > li{
	color:rgb(var(--black));
}
div.theme_tab.border > ul > li.this{
	border-bottom-style:solid;
	border-bottom-color:rgb(var(--blue));
}
div.theme_tab.border > ul > li > a{
	color:rgb(var(--black));
}
@media print, screen and (min-width: 1025px){
	/* px */

	div.theme_tab.border{
		border-bottom-width:1px;
	}
	div.theme_tab.border > ul > li{
		margin-bottom:-1px;
		padding:8px 12px 9px;
		font-size:14px;
	}
	div.theme_tab.border > ul > li.this{
		padding-bottom:8px;
		border-bottom-width:2px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	div.theme_tab.border{
		border-bottom-width:0.117vw;
	}
	div.theme_tab.border > ul > li{
		margin-bottom:-0.117vw;
		padding:0.9367vw 1.4051vw 1.0538vw;
		font-size:1.6393vw;
	}
	div.theme_tab.border > ul > li.this{
		padding-bottom:0.9367vw;
		border-bottom-width:0.2341vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	div.theme_tab.border{
		border-bottom-width:0.25vw;
	}
	div.theme_tab.border > ul > li{
		margin-bottom:-0.25vw;
		padding:2vw 3vw 2.25vw;
		font-size:3.5vw;
	}
	div.theme_tab.border > ul > li.this{
		padding-bottom:2vw;
		border-bottom-width:0.5vw;
	}
}
/********** END タブ：線型 ********************/



/**************************************************
 *
 * メニュー：リスト型
 *
 **************************************************/
div.theme_menu.list > ul{
	display:inline-block;
	max-width:100%;
	background-color:rgb(var(--while));
}
div.theme_menu.list > ul > li{
	position:relative;
	text-overflow:ellipsis;
	overflow:hidden;
	user-select:none;
}
div.theme_menu.list > ul > li:active{
	background-color:#e8e8e8;
}
div.theme_menu.list > ul > li:not(:last-of-type)::after{
	content:"";
	position:absolute;
	bottom:0;
	right:0;
	display:inline-block;
	background-color:#c7c7c7;
}

@media print, screen and (min-width: 1025px){
	/* px */

	div.theme_menu.list > ul{
		border-radius:10px;
	}
	div.theme_menu.list > ul > li{
		padding:10px;
		font-size:14px;
	}
	div.theme_menu.list > ul > li::after{
		width:calc(100% - 10px);
		height:1px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	div.theme_menu.list > ul{
		border-radius:1.1709vw;
	}
	div.theme_menu.list > ul > li{
		padding:1.1709vw;
		font-size:1.6393vw;
	}
	div.theme_menu.list > ul > li::after{
		width:calc(100% - 1.1709vw);
		height:0.117vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	div.theme_menu.list > ul{
		border-radius:2.5vw;
	}
	div.theme_menu.list > ul > li{
		padding:2.5vw;
		font-size:3.5vw;
	}
	div.theme_menu.list > ul > li::after{
		width:calc(100% - 2.5vw);
		height:0.25vw;
	}
}
/********** END メニュー：リスト型 ********************/



/**************************************************
 *
 * ボタン
 *
 **************************************************/
button.theme_button{
	-webkit-appearance:none;
	border:0;
	background-color:rgb(var(--while));
	line-height:1em;
	font-weight:bold;
	color:rgb(var(--blue));
	outline:0;
	cursor:pointer;
	transition:opacity .3s linear;
	user-select:none;
}
button.theme_button:not(:disabled):active{
	opacity:.5;
}
button.theme_button:disabled{
	opacity:.5;
	cursor:default;
}
button.theme_button.gray{
	background-color:#e9e9ea;
}
button.theme_button.tinted{
	background-color:#d9ebff;
}
button.theme_button.filled{
	background-color:rgb(var(--blue));
	color:rgb(var(--while));
}

@media print, screen and (min-width: 1025px){
	/* px */

	button.theme_button{
		border-radius:20px;
		padding:8px 12px;
		font-size:12px;
	}
	button.theme_button.medium{
		border-radius:20px;
		padding:10px 16px;
		font-size:14px;
	}
	button.theme_button.large{
		border-radius:10px;
		padding:16px 18px;
		font-size:16px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	button.theme_button{
		border-radius:2.3419vw;
		padding:0.9367vw 1.4051vw;
		font-size:1.4051vw;
	}
	button.theme_button.medium{
		border-radius:2.3419vw;
		padding:1.1709vw 1.8735vw;
		font-size:1.6393vw;
	}
	button.theme_button.large{
		border-radius:1.6393vw;
		padding:1.8735vw 2.1077vw;
		font-size:1.8735vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	button.theme_button{
		border-radius:5vw;
		padding:2vw 3vw;
		font-size:3vw;
	}
	button.theme_button.medium{
		border-radius:5vw;
		padding:2.5vw 4vw;
		font-size:3.5vw;
	}
	button.theme_button.large{
		border-radius:3.5vw;
		padding:4vw 4.5vw;
		font-size:4vw;
	}
}
/********** END ボタン ********************/



/**************************************************
 *
 * テキストボックス
 *
 **************************************************/
input.theme_textbox{
	border:0;
	background-color:#eee;
	line-height:1em;
	outline:0;
}
input.theme_textbox::placeholder{
	color:#919196;
}

span.theme_textbox_label{
	display:inline-block;
	text-overflow:ellipsis;
	overflow:hidden;
	white-space:nowrap;
	position:relative;
}
span.theme_textbox_label > label{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	z-index:1;
	font-weight:bold;
}

div.theme_textbox_wrap > ul{
	display:inline-block;
	max-width:100%;
}
div.theme_textbox_wrap > ul > li{
	display:block;
	position:relative;
}
div.theme_textbox_wrap > ul > li::after{
	content:"";
	position:absolute;
	bottom:0;
	right:0;
	display:inline-block;
	background-color:#c7c7c7;
}
div.theme_textbox_wrap > ul > li:last-of-type::after{
	content:initial;
}
div.theme_textbox_wrap > ul > li > input.theme_textbox{
	border-radius:0;
}
@media print, screen and (min-width: 1025px){
	/* px */

	input.theme_textbox{
		border-radius:8px;
		padding:12px 18px;
		font-size:16px;
	}

	span.theme_textbox_label > label{
		width:100px;
		padding-left:10px;
		padding-right:10px;
		font-size:14px;
	}
	span.theme_textbox_label > input{
		padding-left:100px;
	}

	div.theme_textbox_wrap > ul > li::after{
		width:calc(100% - 10px);
		height:1px;
	}
	div.theme_textbox_wrap > ul > li:first-of-type > input.theme_textbox{
		border-top-left-radius:8px;
		border-top-right-radius:8px;
	}
	div.theme_textbox_wrap > ul > li:last-of-type > input.theme_textbox{
		border-bottom-left-radius:8px;
		border-bottom-right-radius:8px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	input.theme_textbox{
		border-radius:0.9367vw;
		padding:0.9367vw 1.4051vw;
		font-size:1.6393vw;
	}
	span.theme_textbox_label > label{
		width:11.7096vw;
		padding-left:1.1709vw;
		padding-right:1.1709vw;
		font-size:1.6393vw;
	}
	span.theme_textbox_label > input{
		padding-left:11.7096vw;
	}

	div.theme_textbox_wrap > ul > li::after{
		width:calc(100% - 1.1709vw);
		height:0.117vw;
	}
	div.theme_textbox_wrap > ul > li:first-of-type > input.theme_textbox{
		border-top-left-radius:0.9367vw;
		border-top-right-radius:0.9367vw;
	}
	div.theme_textbox_wrap > ul > li:last-of-type > input.theme_textbox{
		border-bottom-left-radius:0.9367vw;
		border-bottom-right-radius:0.9367vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	input.theme_textbox{
		border-radius:2vw;
		padding:2vw 3vw;
		font-size:3.5vw;
	}
	span.theme_textbox_label > label{
		width:25vw;
		padding-left:2.5vw;
		padding-right:2.5vw;
		font-size:3.5vw;
	}
	span.theme_textbox_label > input{
		padding-left:25vw;
	}

	div.theme_textbox_wrap > ul > li::after{
		width:calc(100% - 2.5vw);
		height:0.25vw;
	}
	div.theme_textbox_wrap > ul > li:first-of-type > input.theme_textbox{
		border-top-left-radius:2vw;
		border-top-right-radius:2vw;
	}
	div.theme_textbox_wrap > ul > li:last-of-type > input.theme_textbox{
		border-bottom-left-radius:2vw;
		border-bottom-right-radius:2vw;
	}
}
/********** END テキストボックス ********************/



/**************************************************
 *
 * チェックボックス
 *
 **************************************************/
input.theme_checkbox{
	-webkit-appearance:none;
	appearance:none;
	border-style:solid;
	border-color:#c7c7c7;
	background-color:#eee;
	cursor:pointer;
	position:relative;
	transition:background-color .2s;
}
input.theme_checkbox:checked{
	background-color:rgb(var(--green));
}
input.theme_checkbox::after{
	content:"";
}
input.theme_checkbox::after{
	position:absolute;
	top:0;
	bottom:0;
	display:inline-block;
	margin-top:auto;
	margin-bottom:auto;
	border-radius:50%;
	border-style:solid;
	border-color:#c7c7c7;
	background-color:rgb(var(--while));
	transition:left .2s;
}

div.theme_checkbox_wrap{
	display:inline-block;
	position:relative;
	user-select:none;
}
div.theme_checkbox_wrap > input.theme_checkbox{
	position:absolute;
	width:100%;
}
div.theme_checkbox_wrap > span{
	position:relative;
	display:block;
	pointer-events:none;
	transition-property:opacity;
	transition-delay:.05s;
	transition-duration:.05s;
	opacity:1;
}
div.theme_checkbox_wrap > span.true{
	color:rgb(var(--while));
}
div.theme_checkbox_wrap > input:not(:checked) ~ span.true{
	opacity:0;
}
div.theme_checkbox_wrap > input:checked ~ span.false{
	opacity:0;
}

@media print, screen and (min-width: 1025px){
	/* px */

	input.theme_checkbox{
		min-width:55px;
		min-height:30px;
		border-width:1px;
		border-radius:15px;
	}
	input.theme_checkbox::after{
		width:24px;
		height:24px;
		border-width:1px;
		left:1px;
	}
	input.theme_checkbox:checked::after{
		left:calc(100% - 27px);
	}

	div.theme_checkbox_wrap > span{
		line-height:30px;
	}
	div.theme_checkbox_wrap > span:nth-of-type(2){
		top:-30px;
	}
	div.theme_checkbox_wrap > span.true{
		padding-left:10px;
		padding-right:40px;
	}
	div.theme_checkbox_wrap > span.false{
		padding-left:40px;
		padding-right:10px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8 */

	input.theme_checkbox{
		min-width:6.4402vw;
		min-height:3.5128vw;
		border-width:0.117vw;
		border-radius:1.7564vw;
	}
	input.theme_checkbox::after{
		width:2.8103vw;
		height:2.8103vw;
		border-width:0.117vw;
		left:0.117vw;
	}
	input.theme_checkbox:checked::after{
		left:calc(100% - 3.1615vw);
	}

	div.theme_checkbox_wrap > span{
		line-height:3.5128vw;
	}
	div.theme_checkbox_wrap > span:nth-of-type(2){
		top:-3.5128vw;
	}
	div.theme_checkbox_wrap > span.true{
		padding-left:1.1709vw;
		padding-right:4.6838vw;
	}
	div.theme_checkbox_wrap > span.false{
		padding-left:4.6838vw;
		padding-right:1.1709vw;
	}
}
@media screen and (max-width: 640px){
	/* px/3.5 */

	input.theme_checkbox{
		min-width:13.75vw;
		min-height:7.5vw;
		border-width:0.25vw;
		border-radius:3.75vw;
	}
	input.theme_checkbox::after{
		width:6vw;
		height:6vw;
		border-width:0.25vw;
		left:0.25vw;
	}
	input.theme_checkbox:checked::after{
		left:calc(100% - 6.75vw);
	}

	div.theme_checkbox_wrap > span{
		line-height:7.5vw;
	}
	div.theme_checkbox_wrap > span:nth-of-type(2){
		top:-7.5vw;
	}
	div.theme_checkbox_wrap > span.true{
		padding-left:2.5vw;
		padding-right:10vw;
	}
	div.theme_checkbox_wrap > span.false{
		padding-left:10vw;
		padding-right:2.5vw;
	}
}
/********** END チェックボックス ********************/



/**************************************************
 *
 * ラジオボックス
 *
 **************************************************/
div.theme_radiobox{
	display:inline-block;
	max-width:100%;
	background-color:rgb(var(--while));
}
div.theme_radiobox > label{
	display:block;
	position:relative;
	text-overflow:ellipsis;
	overflow:hidden;
	user-select:none;
}
div.theme_radiobox > label:active{
	background-color:#e8e8e8;
}
div.theme_radiobox > label:not(:last-of-type)::after{
	content:"";
	position:absolute;
	bottom:0;
	right:0;
	display:inline-block;
	background-color:#c7c7c7;
}
div.theme_radiobox > label > input.theme_radiobox{
	appearance:none;
	-webkit-appearance:none;
	border:0;
	position:absolute;
}
div.theme_radiobox > label > input.theme_radiobox:checked::before{
	content:"";
	position:absolute;
	top:16%;
	left:12%;
	display:inline-block;
	width:74%;
	height:36%;
	border-left-style:solid;
	border-left-color:rgb(var(--blue));
	border-bottom-style:solid;
	border-bottom-color:rgb(var(--blue));
	transform:rotate(317deg);
}

@media print, screen and (min-width: 1025px){
	/* px */

	div.theme_radiobox{
		border-radius:10px;
	}
	div.theme_radiobox > label{
		padding:10px 41px 10px 10px;
		font-size:14px;
	}
	div.theme_radiobox > label::after{
		width:calc(100% - 10px);
		height:1px;
	}
	div.theme_radiobox > label > input.theme_radiobox{
		width:21px;
		height:21px;
		top:10px;
		right:10px;
		vertical-align:middle;
	}
	div.theme_radiobox > label > input.theme_radiobox:checked::before{
		border-left-width:2px;
		border-bottom-width:2px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	div.theme_radiobox{
		border-radius:1.1709vw;
	}
	div.theme_radiobox > label{
		padding:1.1709vw 4.8009vw 1.1709vw 1.1709vw;
		font-size:1.6393vw;
	}
	div.theme_radiobox > label::after{
		width:calc(100% - 1.1709vw);
		height:0.117vw;
	}
	div.theme_radiobox > label > input.theme_radiobox{
		width:2.459vw;
		height:2.459vw;
		top:1.1709vw;
		right:1.1709vw;
		vertical-align:middle;
	}
	div.theme_radiobox > label > input.theme_radiobox:checked::before{
		border-left-width:0.2341vw;
		border-bottom-width:0.2341vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	div.theme_radiobox{
		border-radius:2.5vw;
	}
	div.theme_radiobox > label{
		padding:2.5vw 10.25vw 2.5vw 2.5vw;
		font-size:3.5vw;
	}
	div.theme_radiobox > label::after{
		width:calc(100% - 2.5vw);
		height:0.25vw;
	}
	div.theme_radiobox > label > input.theme_radiobox{
		width:5.25vw;
		height:5.25vw;
		top:2.5vw;
		right:2.5vw;
		vertical-align:middle;
	}
	div.theme_radiobox > label > input.theme_radiobox:checked::before{
		border-left-width:0.5vw;
		border-bottom-width:0.5vw;
	}
}
/********** END ラジオボックス ********************/





/**************************************************
 *
 * 基本フレーム
 *
 **************************************************/
#theme_body{
	background-color:rgb(var(--while));
	overflow:hidden;
}

@media print, screen and (min-width: 1025px){
	/* px */
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8 */
}
@media screen and (max-width: 640px){
	/* px/3.5 */
}
/********** END 基本フレーム ********************/



/**************************************************
 *
 * 基本フレーム：メニュー
 *
 **************************************************/
#theme_nav{
	position:fixed;
	left:0;
	bottom:0;
	border-top-style:solid;
	border-top-color:#e3e4e5;
	background-color:#f9fbfc;
	text-align:center;
	overflow-x:auto;
	overflow-y:hidden;
}
#theme_nav > ul{
	display:table;
	table-layout:fixed;
	height:100%;
}
#theme_nav > ul > li{
	display:table-cell;
	vertical-align:middle;
}
#theme_nav > ul > li > a{
	display:inline-block;
	width:100%;
	height:100%;
	color:#929292;
	text-decoration:none;
}

#theme_nav > ul > li > ul{
	display:none;
}

@media print, screen and (min-width: 1025px){
	/* px */

	#theme_nav{
		width:100%;
		height:var(--theme_nav-height);
		border-top-width:1px;
		line-height:var(--theme_nav-height);
	}
	#theme_nav > ul{
		min-width:90%;
		margin:0 5%;
	}
	#theme_nav > ul > li{
		min-width:15vw;
		font-size:16px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	#theme_nav{
		width:100vw;
		height:var(--theme_nav-height);
		border-top-width:0.125vw;
		line-height:var(--theme_nav-height);
	}
	#theme_nav > ul{
		min-width:90vw;
		margin:0 5%;
	}
	#theme_nav > ul > li{
		min-width:15vw;
		font-size:1.8735vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	#theme_nav{
		width:100vw;
		height:var(--theme_nav-height);
		border-top-width:0.2857vw;
		line-height:var(--theme_nav-height);
	}
	#theme_nav > ul{
		min-width:100vw;
	}
	#theme_nav > ul > li{
		min-width:27vw;
		font-size:4.5714vw;
		line-height:4.5714vw;
	}
	#theme_nav > ul > li > a{
		padding-top:3.5vw;
		font-size:2.75vw;
		line-height:2.75vw;
	}
	#theme_nav > ul > li > a > span[class^="icon-"],
	#theme_nav > ul > li > a > span[class*=" icon-"]{
		display:block;
		padding-bottom:1.8vw;
		font-size:5vw;
	}
}
/********** END 基本フレーム：メニュー ********************/



/**************************************************
 *
 * 基本フレーム：メニュー：ポップアップ
 *
 **************************************************/
body > div.theme_nav_child > div.background{
	position:fixed;
	top:0;
	left:0;
	z-index:101;
	width:100vw;
	height:100vh;
	background-color:rgba(0, 0, 0, .2);
	transition:opacity .2s;
	opacity:1;
}
body > div.theme_nav_child.prepare > div.background{
	opacity:0;
}
body > div.theme_nav_child > div.wrap{
	position:fixed;
	left:0;
	right:0;
	z-index:102;
	margin-left:auto;
	margin-right:auto;
	background-color:#f2f2f2;
	transition:bottom .3s, opacity .3s;
	bottom:0;
	opacity:1;
}
body > div.theme_nav_child.prepare > div.wrap{
	bottom:-22vw;
	opacity:0;
}
body > div.theme_nav_child > div.wrap > div.header{
	display:table;
	table-layout:fixed;
	width:100%;
	background-color:#f5f6f8;
	border-bottom-style:solid;
	border-bottom-color:#c0c0c2;
}
body > div.theme_nav_child > div.wrap > div.header > div{
	display:table-cell;
}
body > div.theme_nav_child > div.wrap > div.header > div.left{
	text-align:left;
}
body > div.theme_nav_child > div.wrap > div.header > div.left > div.back{
	color:rgb(var(--blue));;
	line-height:1em;
	cursor:pointer;
}
body > div.theme_nav_child > div.wrap > div.header > div.left > div.back.hidden{
	display:none;
}
body > div.theme_nav_child > div.wrap > div.header > div.center{
	text-align:center;
	font-weight:bold;
}
body > div.theme_nav_child > div.wrap > div.header > div.right{
	text-align:right;
}
body > div.theme_nav_child > div.wrap > div.header > div.right > div.close{
	display:inline-block;
	color:rgb(var(--blue));;
	line-height:1em;
	cursor:pointer;
}
body > div.theme_nav_child > div.wrap > div.window_x{
	max-height:60vh;
	overflow-x:hidden;
	overflow-y:auto;
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y{
	overflow:hidden;
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns{
	display:table;
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul{
	display:table-cell;
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li{
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > a{
	display:inline-block;
	width:100%;
	border-top-style:solid;
	border-top-color:#c0c0c2;
	color:#0e0e0e;
	text-decoration:none;
	text-align:left;
	position:relative;
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li:first-of-type > a{
	border-top-width:0;
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > a:active{
	background-color:#e8e8e8;
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > ul + a::after{
	content:"\e921";
	position:absolute;
	top:0;
	bottom:0;
	margin-top:auto;
	margin-bottom:auto;
	font-family:'ysrock';
}
body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > ul{
	display:none;
}

body > div.theme_nav_child > div.wrap > div.footer{
	background-color:#f5f6f8;
	border-top-style:solid;
	border-top-color:#c0c0c2;
}

@media print, screen and (min-width: 1025px){
	/* px */

	body > div.theme_nav_child > div.wrap{
		width:40vw;
		border-top-left-radius:8px;
		border-top-right-radius:8px;
	}
	body > div.theme_nav_child > div.wrap > div.header{
		min-height:40px;
		border-top-left-radius:8px;
		border-top-right-radius:8px;
		border-bottom-width:1px;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.left > div.back{
		padding:10px;
		font-size:16px;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.center{
		font-size:18px;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.right > div.close{
		padding:11px;
		font-size:18px;
	}

	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul{
		width:40vw;
		min-width:40vw;
	}
	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > a{
		border-top-width:1px;
		padding:10px;
		font-size:16px;
	}
	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > ul + a::after{
		right:10px;
		height:16px;
	}

	body > div.theme_nav_child > div.wrap > div.footer{
		height:40px;
		border-top-width:1px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	body > div.theme_nav_child > div.wrap{
		width:50vw;
		border-top-left-radius:0.9367vw;
		border-top-right-radius:0.9367vw;
	}
	body > div.theme_nav_child > div.wrap > div.header{
		min-height:4.6838vw;
		border-top-left-radius:0.9367vw;
		border-top-right-radius:0.9367vw;
		border-bottom-width:0.117vw;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.left > div.back{
		padding:1.1709vw;
		font-size:1.8735vw;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.center{
		font-size:2.1077vw;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.right > div.close{
		padding:1.288vw;
		font-size:2.1077vw;
	}

	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul{
		width:50vw;
		min-width:50vw;
	}
	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > a{
		border-top-width:0.117vw;
		padding:1.1709vw;
		font-size:1.8735vw;
	}
	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > ul + a::after{
		right:1.1709vw;
		height:1.8735vw;
	}

	body > div.theme_nav_child > div.wrap > div.footer{
		height:4.6838vw;
		border-top-width:0.117vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	body > div.theme_nav_child > div.wrap{
		width:100vw;
		border-top-left-radius:2vw;
		border-top-right-radius:2vw;
	}
	body > div.theme_nav_child > div.wrap > div.header{
		min-height:10vw;
		border-top-left-radius:2vw;
		border-top-right-radius:2vw;
		border-bottom-width:0.25vw;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.left > div.back{
		padding:2.5vw;
		font-size:4vw;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.center{
		font-size:4.5vw;
	}
	body > div.theme_nav_child > div.wrap > div.header > div.right > div.close{
		padding:2.75vw;
		font-size:4.5vw;
	}

	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul{
		width:100vw;
		min-width:100vw;
	}
	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > a{
		border-top-width:0.25vw;
		padding:2.5vw;
		font-size:4vw;
	}
	body > div.theme_nav_child > div.wrap > div.window_x > div.window_y > div.columns > ul > li > ul + a::after{
		right:2.5vw;
		height:4vw;
	}

	body > div.theme_nav_child > div.wrap > div.footer{
		height:10vw;
		border-top-width:0.25vw;
	}
}
/********** END 基本フレーム：メニュー：ポップアップ ********************/



/**************************************************
 *
 * 基本フレーム：リスト
 *
 **************************************************/
#theme_frame_list{
	position:fixed;
	top:0;
	left:0;
	background-color:#fefefe;
	border-right-style:solid;
	border-right-color:#e7e8ea;
}
#theme_frame_list > div.header{
	display:table;
	table-layout:fixed;
	width:100%;
	background-color:#f5f6f8;
	border-bottom-style:solid;
	border-bottom-color:#d9dadc;
}
#theme_frame_list > div.header > div{
	display:table-cell;
	vertical-align:middle;
}
#theme_frame_list > div.header > div.left{
	text-align:left;
}
#theme_frame_list > div.header > div.center{
	text-align:center;
	color:rgb(var(--black));
}
#theme_frame_list > div.header > div.right{
	text-align:right;
}
#theme_frame_list > div.body{
	background-color:#f5f6f8;
	overflow-x:hidden;
	overflow-y:auto;
}
#theme_frame_list > div.body > dl > dt{
	color:#71787d;
}
#theme_frame_list > div.body > dl > dd{
	background-color:#fefefe;
}
#theme_frame_list > div.body > dl > dd:first-of-type{
	border-top-style:solid;
	border-top-color:#eaeaeb;
}
#theme_frame_list > div.body > dl > dd:last-of-type{
	border-bottom-style:solid;
	border-bottom-color:#eaeaeb;
}
#theme_frame_list > div.body > dl > dd > a{
	display:inline-block;
	width:100%;
	color:#2e3642;
	text-decoration:none;
	position:relative;
}
#theme_frame_list > div.body > dl > dd > a.active{
	background-color:#eefcfd;
}
#theme_frame_list > div.body > dl > dd > a::before{
	content:"";
	position:absolute;
	right:0;
	bottom:0;
	display:inline-block;
	background-color:#eaeaeb;
}
#theme_frame_list > div.body > dl > dd > a::after{
	position:absolute;
	top:0;
	bottom:0;
	margin-top:auto;
	margin-bottom:auto;
	font-family:'ysrock';
}
#theme_frame_list > div.body > dl > dd > a:not([target])::after{
	content:"\e921";
}
#theme_frame_list > div.body > dl > dd > a[target=_blank]::after{
	content:"\e91a";
}
#theme_frame_list > div.body > dl > dd > button{
	display:inline-block;
	width:100%;
	border:0;
	background-color:unset;
	color:#2e3642;
	cursor:pointer;
}

@media print, screen and (min-width: 1025px){
	/* px */

	#theme_frame_list{
		width:var(--theme_frame_list-width);
		height:100%;
		border-right-width:1px;
	}
	#theme_nav + #theme_frame_list{
		height:calc(100% - var(--theme_nav-height));
	}
	#theme_frame_list > div.header{
		height:45px;
		border-bottom-width:1px;
	}
	#theme_frame_list > div.header > div.center{
		font-size:16px;
	}
	#theme_frame_list > div.body{
		height:calc(100% - 45px);
	}
	#theme_frame_list > div.body > dl > dt{
		padding:5px 15px;
		font-size:12px;
	}
	#theme_frame_list > div.body > dl > dd:first-of-type{
		border-top-width:1px;
	}
	#theme_frame_list > div.body > dl > dd:last-of-type{
		border-bottom-width:1px;
	}
	#theme_frame_list > div.body > dl > dd > a{
		padding:12px;
		font-size:14px;
	}
	#theme_frame_list > div.body > dl > dd > a::before{
		width:calc(100% - 15px);
		height:1px;
	}
	#theme_frame_list > div.body > dl > dd > a{
		padding-right:36px;
	}
	#theme_frame_list > div.body > dl > dd > a::after{
		height:14px;
		right:12px;
	}
	#theme_frame_list > div.body > dl > dd > button{
		padding:12px;
		font-size:14px;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	#theme_frame_list{
		width:var(--theme_frame_list-width);
		height:100%;
		border-right-width:0.117vw;
	}
	#theme_nav + #theme_frame_list{
		height:calc(100% - var(--theme_nav-height));
	}
	#theme_frame_list > div.header{
		height:5.2693vw;
		border-bottom-width:0.117vw;
	}
	#theme_frame_list > div.header > div.center{
		font-size:1.8735vw;
	}
	#theme_frame_list > div.body{
		height:calc(100% - 5.2693vw);
	}
	#theme_frame_list > div.body > dl > dt{
		padding:0.5854vw 1.7564vw;
		font-size:1.4051vw;
	}
	#theme_frame_list > div.body > dl > dd:first-of-type{
		border-top-width:0.117vw;
	}
	#theme_frame_list > div.body > dl > dd:last-of-type{
		border-bottom-width:0.117vw;
	}
	#theme_frame_list > div.body > dl > dd > a{
		padding:1.4051vw;
		font-size:1.6393vw;
	}
	#theme_frame_list > div.body > dl > dd > a::before{
		width:calc(100% - 1.7564vw);
		height:0.117vw;
	}
	#theme_frame_list > div.body > dl > dd > a{
		padding-right:4.2154vw;
	}
	#theme_frame_list > div.body > dl > dd > a::after{
		height:1.6393vw;
		right:1.4051vw;
	}
	#theme_frame_list > div.body > dl > dd > button{
		padding:1.4051vw;
		font-size:1.6393vw;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	#theme_frame_list{
		width:var(--theme_frame_list-width);
		height:100%;
		border-right-width:0;
	}
	#theme_nav + #theme_frame_list{
		height:calc(100% - var(--theme_nav-height));
	}
	#theme_frame_list > div.header{
		height:11.25vw;
		border-bottom-width:0.25vw;
	}
	#theme_frame_list > div.header > div.center{
		font-size:4vw;
	}
	#theme_frame_list > div.body{
		height:calc(100% - 11.25vw);
	}
	#theme_frame_list > div.body > dl > dt{
		padding:1.25vw 3.75vw;
		font-size:3vw;
	}
	#theme_frame_list > div.body > dl > dd:first-of-type{
		border-top-width:0.25vw;
	}
	#theme_frame_list > div.body > dl > dd:last-of-type{
		border-bottom-width:0.25vw;
	}
	#theme_frame_list > div.body > dl > dd > a{
		padding:3vw;
		font-size:3.5vw;
	}
	#theme_frame_list > div.body > dl > dd > a::before{
		width:calc(100% - 3.75vw);
		height:0.25vw;
	}
	#theme_frame_list > div.body > dl > dd > a{
		padding-right:9vw;
	}
	#theme_frame_list > div.body > dl > dd > a::after{
		height:3.5vw;
		right:3vw;
	}
	#theme_frame_list > div.body > dl > dd > button{
		padding:3vw;
		font-size:3.5vw;
	}
}
/********** END 基本フレーム：リスト ********************/



/**************************************************
 *
 * 詳細ページ
 *
 **************************************************/
body > div.theme_frame_page{
	position:fixed;
	top:0;
	right:0;
	height:100%;
	background-color:#f4f6f8;
	overflow-x:hidden;
	overflow-y:auto;
}
body > div.theme_frame_page > div.header{
	display:table;
	table-layout:fixed;
	width:100%;
	background-color:#f5f6f8;
	border-bottom-style:solid;
	border-bottom-color:#d9dadc;
}
body > div.theme_frame_page > div.header > div{
	display:table-cell;
	vertical-align:middle;
}
body > div.theme_frame_page > div.header > div.left{
	text-align:left;
}
body > div.theme_frame_page > div.header > div.center{
	text-align:center;
	color:rgb(var(--black));
}
body > div.theme_frame_page > div.header > div.right{
	text-align:right;
}
body > div.theme_frame_page > div.body{
	background-color:rgb(var(--while));
	overflow-x:hidden;
	overflow-y:auto;
}

body > div.theme_frame_page > div.body > dl{
	background-color:rgb(var(--while));
}
body > div.theme_frame_page > div.body > dl > dt{
	line-height:1em;
	color:#999;
}
body > div.theme_frame_page > div.body > dl > dd{
	border-bottom-style:solid;
	border-bottom-color:#ccc;
	color:#101b29;
}

@media print, screen and (min-width: 1025px){
	/* px */

	#theme_frame_list ~ div.theme_frame_page{
		width:calc(100% - var(--theme_frame_list-width));
		transition:opacity .3s;
		opacity:1;
	}
	#theme_frame_list ~ div.theme_frame_page.prepare{
		opacity:0;
	}
	#theme_nav ~ div.theme_frame_page{
		height:calc(100% - var(--theme_nav-height));
	}
	body > div.theme_frame_page > div.header{
		height:45px;
		border-bottom-width:1px;
	}
	body > div.theme_frame_page > div.header > div.center{
		font-size:16px;
	}
	body > div.theme_frame_page > div.body{
		height:calc(100% - 45px);
	}
	body > div.theme_frame_page > div.body > dl{
		padding-left:20px;
	}
	body > div.theme_frame_page > div.body > dl > dt{
		padding-top:10px;
		font-size:11px;
	}
	body > div.theme_frame_page > div.body > dl > dd{
		border-bottom-width:1px;
		padding:8px 0 8px;
		font-size:16px;
		line-height:1.2em;
	}
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

	#theme_frame_list ~ div.theme_frame_page{
		width:calc(100% - var(--theme_frame_list-width));
		transition:opacity .3s;
		opacity:1;
	}
	#theme_frame_list ~ div.theme_frame_page.prepare{
		opacity:0;
	}
	#theme_nav ~ div.theme_frame_page{
		height:calc(100% - 6.6744vw);
	}

	body > div.theme_frame_page > div.header{
		height:5.2693vw;
		border-bottom-width:0.117vw;
	}
	body > div.theme_frame_page > div.header > div.center{
		font-size:1.8735vw;
	}
	body > div.theme_frame_page > div.body{
		height:calc(100% - 5.2693vw);
	}
	body > div.theme_frame_page > div.body > dl{
		padding-left:2.3419vw;
	}
	body > div.theme_frame_page > div.body > dl > dt{
		padding-top:1.1709vw;
		font-size:1.4051vw;
	}
	body > div.theme_frame_page > div.body > dl > dd{
		border-bottom-width:0.117vw;
		padding:0.9367vw 0 0.9367vw;
		line-height:1.2em;
	}
}
@media screen and (max-width: 640px){
	/* px/4 */

	#theme_frame_list ~ div.theme_frame_page{
		position:fixed;
		top:0;
		transition:left .3s;
		left:0;
		width:100vw;
	}
	#theme_frame_list ~ div.theme_frame_page.sp_hidden{
		display:none;
	}
	#theme_frame_list ~ div.theme_frame_page.prepare{
		left:100vw;
	}

	#theme_nav ~ div.theme_frame_page{
		height:calc(100% - 14.25vw);
	}
	body > div.theme_frame_page > div.header{
		height:11.25vw;
		border-bottom-width:0.25vw;
	}
	body > div.theme_frame_page > div.header > div.center{
		font-size:4vw;
	}
	body > div.theme_frame_page > div.body{
		height:calc(100% - 11.25vw);
	}
	body > div.theme_frame_page > div.body > dl{
		padding-left:5vw;
	}
	body > div.theme_frame_page > div.body > dl > dt{
		padding-top:2.5vw;
		font-size:3vw;
	}
	body > div.theme_frame_page > div.body > dl > dd{
		border-bottom-width:0.25vw;
		padding:2vw 0 2vw;
		line-height:1.2em;
	}
}
/********** END 詳細ページ ********************/



/**************************************************
 *
 * テンプレート
 *
 **************************************************/

@media print, screen and (min-width: 1025px){
	/* px */
}
@media print, screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8 */
}
@media screen and (max-width: 640px){
	/* px/3.5 */
}
/********** END テンプレート ********************/