@charset "UTF-8";

.grecaptcha-badge { visibility: hidden; }

body
{
	-webkit-text-size-adjust: 100%; 
	color:rgb(50, 50, 50);
	line-height:1.75;
	font-size: 1rem;
	letter-spacing:0.025em;
	font-family: 'R-R', 'GG-R', sans-serif;
	font-weight: 400;
	word-wrap: break-word;
	position: relative;
}

body:not(.block-editor-iframe__body):before,
body:not(.block-editor-iframe__body):after
{
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    z-index: -1;
}
body:before
{
    top: -50vh;
	background-color: rgb(30, 30, 30);
}
body:after
{
    bottom: -50vh;
	background-color: rgb(30, 30, 30);
}

h1
{
	font-size: clamp(1.3rem, 4vw, 2rem);
}
h2
{
	font-size: clamp(1.2rem, 3vw, 1.5rem);
}
h3
{
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
}


h1, h2, h3, h4, h5
{
	font-family: 'Zen-B', serif;
	font-weight: 700;
	letter-spacing: 0em;
}

h2.l_c,
h1.l_c
{
	font-size: 1.75rem;
	text-align:center;
	margin-bottom: 1em;
}

a:link,
a:active,
a:visited
{
	color:rgb(0,0,0);
	text-decoration: none;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

a:not([class]):link,
a:not([class]):active,
a:not([class]):visited,
a:not([class]):hover
{
	font-family: 'R-B','GG-B', sans-serif;
	font-weight: 700;
/*	font-family: 'R-M','GG-M', sans-serif;
	font-weight: 550;*/
	margin: 0 .25em;
	color: #A03232;
	text-decoration: underline;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

body:not(.touch) a:not([class]):hover
{
	color:rgba(160, 50, 50, .5);
}

#allWrapper
{
	padding-left: 3.75rem;
	width: 100%;
	min-height: 100vh;
}

.max_page_width
{
	width: 100%;
	max-width: 1020px;
	margin: 0rem auto;
	padding: 0rem 2rem 3rem;
}

/**********************************************************************/
/***************************** 共通フレーム *****************************/
/**********************************************************************/

/* ボーダーローダー */
#loader
{
	position:fixed;
	height:100%;
	width:100%;
	top: 0px;
	left: 0px;
	background-color: rgb(255, 255, 255);
	z-index:9998;
}

/*#loader:after
{
	content: ""; 
	display: block;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	box-sizing:border-box;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 5px solid rgb(0, 0, 0);
	border-right-color: transparent;
	
	top: 50%;
	left: 50%;
	margin-top:-1.25rem;
	margin-left:-1.25rem; 

	animation: circle-spin 1s linear infinite;
}*/

/* くるくるローダー */
.loader
{
	position:absolute;
	height:100%;
	width:100%;
	top: 0px;
	left:0px;
}

.loader:after
{
	content: ""; 
	display: block;

	box-sizing:border-box;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 1px solid rgb(0, 0, 0);
	border-right-color: transparent;
	
	top: 50%;
	left: 50%;
	margin-top:-1.25rem;
	margin-left:-1.25rem; 

	animation: circle-spin 1s linear infinite; /*1秒毎にくるくる回転するアニメーション*/
}

@keyframes circle-spin
{
	0%
	{
		transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		filter:alpha(opacity=20);
		-moz-opacity: .2;
		opacity: .2;
	} /*0%の時は20％の透明度*/
	50%
	{
		transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	} /*50%の時は透明度なし*/
	100%
	{
		transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		filter:alpha(opacity=20);
		-moz-opacity: .2;
		opacity: .2;
	} /*100%の時に20％の透明度に戻る*/
}


/**********************************************************/
/*********************** Selector **************************/
/**********************************************************/

#selector
{
	pointer-events: none;
	width: 100%;
	
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1100;
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

#selector > div
{
	pointer-events: auto;
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items: center;
}
#header
{
	background-color:rgb(255, 255, 255);
	z-index: 1;
}

#selector .logo
{
	cursor:pointer;
	width: clamp(15rem, 50vw, 30rem);
	display: flex;
	flex-wrap:wrap;
	align-items: flex-end;
	justify-content:space-between;
	padding-right:clamp(1rem, 2vw, 2rem);
	padding-left:2rem;
}

#selector .logo > p
{
	overflow:hidden;
	background-size:contain;
	background-position: 50%;
	background-repeat: no-repeat;
}
#selector .logo > p > span
{
	position:absolute;
	top: -100vh;
	white-space:nowrap;
}

#selector .logo > p:nth-of-type(1)
{
	width:50%;
	aspect-ratio:50/7;
	pointer-events: auto;

	background-image: url(https://ko.dougukan.jp/_img/logo.svg);
}
#selector .logo > p:nth-of-type(2)
{
	width:48%;
	aspect-ratio:450/25;
	pointer-events: auto;
	transform: translateY(-30%);
	background-image: url(https://ko.dougukan.jp/_img/logo_en.svg);
}

#selector .info
{
	font-family: 'GG-M', sans-serif;
	font-weight: 500;
	display:flex;
/*	align-items:center;
	flex-shrink: 0;*/
}

#selector .info > div
{
	font-family: 'GG-M', sans-serif;
	font-weight: 500;
	display:flex;
	align-items:center;
	padding: .25rem 1rem;
	min-height: 2.5rem;
}

#selector .lang
{
	border-style: solid;
	border-color: rgb(200, 200, 200);
	border-width: 0;
	border-right-width: 1px;
}

#selector .lang .selector
{
	margin: .5em;
}

#selector .lang .selector label
{
	position: relative;		/* 選択ボックスの位置指定 */ 
	display: inline-block;			/* ブロックレベル要素化にする */ 
	box-sizing:border-box;
	width: auto;
	padding: .5em;
	color: rgb(50,50,50);
	border: 1px solid rgb(230,230,230);/* ボックスの境界線を実線で指定する */
	border-radius: .3em;
}

#selector .lang .selector label:before
{
	content: "";
	position: absolute;
	width: .4em;
	height: .4em;
	
	top: 50%;
	right: 1em;
	display: block;
	margin-top: -.3em;
	
	border-color: rgb(0, 0, 0);
	border-style: solid;
	border-width: 0 1px 1px 0;
	
	transform: rotate( 45deg );
	-ms-transform: rotate( 45deg );
}
#selector .lang .selector select
{
	font-size: .65em;
	text-transform: uppercase;
	cursor: pointer;
	color: rgb(50,50,50);
	padding: .2em 2em .2em .5em;
	box-sizing:border-box;
	-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
	-moz-appearance: none;	/* ベンダープレフィックス(Firefox用) */
	appearance: none;		/* 標準のスタイルを無効にする */ 
	display: block;			/* ブロックレベル要素化する */ 
	border: none;			/* 境界線をなしに指定する */
	background: transparent;/* 背景を透過指定する */
	
	width: 100%;
}

#selector #menu .lang .selector select
{
	font-size: 1em;
}

#selector .lang .selector select:focus
{
	outline: none;
}

::-ms-expand
{		/* select要素のデザインを無効にする（IE用） */
	display: none;
}

#selector div.day
{
	background-color:rgb(102, 86, 108);
/*	background-color:rgb(80, 80, 80);*/
	color: rgb(255, 255, 255);
	padding: .75rem 1rem;
	font-size: clamp(.9rem, 2vw, 1rem);
	line-height: 1.2;
	display:flex;
	justify-content:center;
	align-items:center;
}

#selector div.day._close
{
	background-color:rgb(180, 50, 50);
}

#selector div.day .open
{
	flex-direction:column;
	justify-content:center;
	align-items:center;
	white-space: nowrap;
}

#selector div.day .open p:nth-of-type(1) span:nth-of-type(1)
{
	font-size: .8em;
}

#selector div.day .open p:nth-of-type(2)
{
	border-top: 1px solid;
	margin-top: .2em;
	padding-top: .2em;
}

#selector div.day > span
{
	white-space:nowrap;
}

#selector div.day .today
{
	display:flex;
	flex-direction: column;
	justify-content:center;
	align-items:center;
	font-size: .8em;
	width: 3.5em;
	margin-right: 1rem;
	aspect-ratio: 1 / 1;
	line-height: 1;
	letter-spacing: 0;
}

#selector div.day .today span:nth-of-type(1)
{
	transform:translate(-.5em, -.1em);
}
#selector div.day .today span:nth-of-type(2)
{
	transform:translate(.8em, .1em);
}

#selector div.day .today:before
{
	content: "";
	position:absolute;
	left: 0;
	 top: 0;
	width: 100%;
	height: 100%;
	border: 1px solid rgb(255, 255, 255);
	border-radius: 50%;
}

#selector div.day .today:after
{
	content: "";
	position:absolute;
	width: 1px;
	height: calc(100% - 1rem);
	background-color: rgb(255, 255, 255);
	transform: rotate(45deg) translate(.1em,-.1em);
}

#links a.sns,
#selector a.sns
{
	display:block;
	overflow:hidden;
	width: 2rem;
	aspect-ratio: 1/1;
	background-size:cover;
	background-position: 50%;
	background-repeat: no-repeat;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

body:not(.touch) #links a.sns:hover,
body:not(.touch) #selector a.sns:hover
{
	filter:alpha(opacity=50);
	-moz-opacity: .5;
	opacity: .5;
}

#links a.sns > span,
#selector a.sns > span
{
	position:absolute;
	white-space:nowrap;
	top: -100%;
}
#links a.sns + a.sns,
#selector a.sns + a.sns
{
	margin-left: .5em;
}
#links .sns a.sns:nth-of-type(1),
#selector .sns a.sns:nth-of-type(1)
{
	background-image:url(https://ko.dougukan.jp/_img/sns_1.svg);
}
#links .sns a.sns:nth-of-type(2),
#selector .sns a.sns:nth-of-type(2)
{
	background-image:url(https://ko.dougukan.jp/_img/sns_2.svg);
}
#links .sns a.sns:nth-of-type(3),
#selector .sns a.sns:nth-of-type(3)
{
	background-image:url(https://ko.dougukan.jp/_img/sns_3.svg);
}
#links .sns a.sns:nth-of-type(4),
#selector .sns a.sns:nth-of-type(4)
{
	background-image:url(https://ko.dougukan.jp/_img/sns_4.svg);
	margin-left: .75em;
}

#menu
{
	background-color:rgb(50, 50, 50);
	top: -4rem;
	pointer-events: none;
	z-index: 0;
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

body.hamburgerOpen #menu
{
	pointer-events: auto;
	top:0rem;
}

body #menu a:hover > span
{
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
body:not(.touch) #menu a:hover > span
{
	filter:alpha(opacity=50);
	-moz-opacity: .5;
	opacity: .5;
}

#menu > div
{
	display:flex;
}

#selector #menu .day
{
	display:none;
}

#menu .other
{
	background-image: url(https://ko.dougukan.jp/_img/bg.jpg);
	background-size: contain;
	display:none;
	border-radius: 5px;
}

#menu > div.links
{
	width: 100%;
	justify-content:space-between;
	flex-wrap:wrap;
}

#menu > div.links > a
{
	width:calc(100% / 7);
	font-size: 1rem;
	padding: .5em;
	border-radius: 5px;
	border: 1px solid;
	background-image: url(https://ko.dougukan.jp/_img/bg.jpg);
	background-size: contain;
	
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap: nowrap;
	
	white-space: nowrap;
	font-family: 'Zen-B', serif;
	font-weight: 700;
}

.en #menu > div.links > a
{
	width:calc(100% / 6);
}

.zh #menu > div.links > a,
.kr #menu > div.links > a
{
	width:calc(100% / 3);
}

/*#menu > div.links > a:nth-of-type(1)
{
	border-left-width: 0;
	border-radius: 0px 5px 5px 0;
}
#menu > div.links > a:nth-of-type(6)
{
	border-right-width: 0;
	border-radius: 5px 0px 0px 5px;
}*/

#menu > div.links > a + a
{
	border-left-width: 0px;
}

#menu > div.links > a:before
{
	content:'';
	display:block;
	width: 2.5em;
	margin-right: 1em;
	aspect-ratio: 1/1;
	background-size:cover;
}

#menu > div.links > a._1:before
{
	background-image:url(https://ko.dougukan.jp/_img/menu_1.svg);
	margin-right: .5em;
}
#menu > div.links > a._2:before
{
	background-image:url(https://ko.dougukan.jp/_img/menu_2.svg);
}
#menu > div.links > a._3:before
{
	background-image:url(https://ko.dougukan.jp/_img/menu_3.svg);
	margin-right: .75em;
}
#menu > div.links > a._4:before
{
	background-image:url(https://ko.dougukan.jp/_img/menu_4.svg);
}
#menu > div.links > a._5:before
{
	background-image:url(https://ko.dougukan.jp/_img/menu_7.svg);
	margin-right: .5em;
}
#menu > div.links > a._6:before
{
	background-image:url(https://ko.dougukan.jp/_img/menu_6.svg);
}

#menu > div.links > a._7:before
{
	background-image:url(https://ko.dougukan.jp/_img/menu_5.svg);
}

/**********************************************************/
/******************* Hamburger Menu **********************/
/**********************************************************/


/*##############################
########## Touch Screen #########
##############################*/


body.touch #selector
{
	background-color: white;
}

#selector #selectorBts{display:none;}
#selectorSubBts{display: none;}

body.touch #selector .logoWrapper
{
	margin-left: 5rem;
}

/*##############################
############ Menu Bt ###########
##############################*/

#selector .info > div.hamburgerWrapper
{
	cursor: pointer;
	padding-right:1rem;
	background-color:rgb(50, 50, 50);
}

.hamburgerOpen #selector .info > div.hamburgerWrapper > span
{
	transform:scale(0, 0);
}

.hamburger
{
	display:block;
	cursor: pointer;
	height: 2rem;
	width: 2rem;
}
.hamburger span
{
	top: 1rem;
	width: 2rem;
	left: calc(50% - 1rem);
	height: 2px;
	display: block;
	position: absolute;
	background: rgb(255, 255, 255);
	
	transform-origin:center;
	
	-webkit-transition: transform .3s ease;
	-moz-transition: transform .3s ease;
	-ms-transition: transform .3s ease;
	-o-transition: transform .3s ease;
	transition: transform .3s ease;
}

.hamburger p.text
{
	white-space: nowrap;
	font-size: .6em;
	text-align: center;
	position: absolute;
	bottom: .5em;
	width: 100%;
}

.hamburger .t
{
	transform: translateY(-.5rem);
}
.hamburger .m
{
	transform: translateY(0);
}
.hamburger .b
{
	transform: translateY(.5rem);
}

body:not(.hamburgerOpen):not(.touch) .hamburgerWrapper:hover .hamburger .t
{
	transform: translateY(-.55rem);
}
body:not(.hamburgerOpen):not(.touch) .hamburgerWrapper:hover .hamburger .m
{
	transform: translateY(0rem);
}
body:not(.hamburgerOpen):not(.touch) .hamburgerWrapper:hover .hamburger .b
{
	transform: translateY(.55rem);
}

.hamburgerWrapper.open .hamburger .t
{
	transform: rotate(-45deg) translateX(0rem) translateY(0rem);
}

.hamburgerWrapper.open .hamburger .m
{
	transform: rotate(0deg) scale(0);
}

.hamburgerWrapper.open .hamburger .b
{
	transform: rotate(45deg) translateX(0rem) translateY(0rem);
}

/**********************************************************/
/*********************** Go Top Bt *************************/
/**********************************************************/

#goTopBt
{
	position: fixed;
	z-index:1000;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	cursor:pointer;
	width: calc(1.5rem * 2.5);
	height: calc(1.5rem * 2.5);
	bottom: calc(-1.5rem * 2.5);
	left: 0;
	background-color: rgb(102, 86, 108);
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}

.sc #goTopBt
{
	bottom: 0;
}

#goTopBt:before,
#goTopBt:after
{
	content:"";
	display:block;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

#goTopBt:after
{
	height:30%;
	width:1px;
	background-color: rgb(255, 255, 255);
}

#goTopBt:before
{
	background-size:cover;
	background-position:50%;
	height:20%;
	max-height:  8px;
	aspect-ratio: 12 / 9;
	background-image:url(https://ko.dougukan.jp/_img/anchor_w.svg);
}

body:not(.touch) #goTopBt:hover:before,
body:not(.touch) #goTopBt:hover:after
{
	transform: translateY(-.2em);
}

.pageContainer
{
/*	margin: 0rem auto;*/
	
	-webkit-transition: width .7s ease;
	-moz-transition: width .7s ease;
	-ms-transition: width .7s ease;
	-o-transition: width .7s ease;
	transition: width .7s ease;
}
/*.pageContainer:not(#titleWrapper){overflow-x: hidden;}*/

.pageContainer .transY
{
	transform: translateY(5rem);
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: transform .7s ease, opacity .7s ease;
	-moz-transition: transform .7s ease, opacity .7s ease;
	-ms-transition: transform .7s ease, opacity .7s ease;
	-o-transition: transform .7s ease, opacity .7s ease;
	transition: transform .7s ease, opacity .7s ease;
}
.pageContainer.end .transY
{
	transform: translateY(0rem);
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pageContainer .marginY
{
	margin-top: 5rem;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: margin-top .7s ease, opacity .7s ease;
	-moz-transition: margin-top .7s ease, opacity .7s ease;
	-ms-transition: margin-top .7s ease, opacity .7s ease;
	-o-transition: margin-top .7s ease, opacity .7s ease;
	transition: margin-top .7s ease, opacity .7s ease;
}
.pageContainer.end .marginY
{
	margin-top: 0rem;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pageContainer .transX
{
	transform: translateX(2rem);
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: transform .7s ease, opacity .7s ease;
	-moz-transition: transform .7s ease, opacity .7s ease;
	-ms-transition: transform .7s ease, opacity .7s ease;
	-o-transition: transform .7s ease, opacity .7s ease;
	transition: transform .7s ease, opacity .7s ease;
}
.pageContainer.end .transXR
{
	transform: translateX(0rem);
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pageContainer .transXR
{
	transform: translateX(-5rem);
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: transform .7s ease, opacity .7s ease;
	-moz-transition: transform .7s ease, opacity .7s ease;
	-ms-transition: transform .7s ease, opacity .7s ease;
	-o-transition: transform .7s ease, opacity .7s ease;
	transition: transform .7s ease, opacity .7s ease;
}
.pageContainer.end .transX
{
	transform: translateX(0rem);
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pageContainer .transBlur
{
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-filter: blur(10px);
	filter: blur(10px);
	
	-webkit-transition: -webkit-filter .7s ease, opacity .7s ease;
	-moz-transition: -moz-filter .7s ease, -moz-opacity .7s ease;
	-ms-transition: -ms-filter .7s ease, opacity .7s ease;
	-o-transition: -o-filter .7s ease, opacity .7s ease;
	transition: filter .7s ease, opacity .7s ease;
}
.pageContainer.end .transBlur
{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	
	-webkit-filter: blur(0px);
	filter: blur(0px);
}

/**********************************************************/
/************************** LI TAG *************************/
/**********************************************************/

ul:not([class]):not([id])
{
	list-style: none;
}

ul:not([class]):not([id]) li
{
	padding-left: 1em;
	line-height: 1.3;
	
}
ul:not([class]):not([id]) li + li
{
	margin-top: .5em;
}
ul:not([class]):not([id]) li:before
{
	content:'';
	display:block;
	position:absolute;
	top: .4em;
	left:.2em;
	width:.5em;
	height:.5em;
	border-radius:50%;
	background-color: rgb(50, 50, 50);
}

/**********************************************************/
/************************** A TAG **************************/
/**********************************************************/

a._dir,
p._dir
{
	cursor:pointer;
	display:flex;
	flex-wrap:nowrap;
	justify-content: space-between;
	border-bottom-width: 0px;
	
	font-family: 'R-M','GG-M', sans-serif;
	font-weight: 550;
}

p._dir
{
	cursor:default;
}

a._dir._b,
p._dir._b
{
	justify-content: flex-start;
	border-bottom: 1px solid;
}


a._dir span.dir,
p._dir span.dir
{
	width: 1.5rem;
	margin-left: 1rem;
	flex-shrink: 0;
	display:flex;
	align-items:center;
	transform:translateX(-.5rem);
	border-bottom-width: 0px;
	
	transition-delay: 3s;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
a._dir span.dir:after,
a._dir span.dir:before,
p._dir span.dir:after,
p._dir span.dir:before
{
	content:"";
	display:block;
}

a._dir span.dir:before,
p._dir span.dir:before
{
	width:100%;
	height:1px;
	background-color: rgb(50, 50, 50);
}

a._dir span.dir:after,
p._dir span.dir:after
{
	background-size:cover;
	background-position:50%;
	width:12px;
	aspect-ratio: 9 / 12;
	background-image:url(https://ko.dougukan.jp/_img/anchor.svg);
}

body:not(.touch) a._dir:hover span.dir
{
	transform:translateX(0rem);
}

a.box
{
	cursor: pointer;
	display:inline-block;
	white-space:nowrap;
	color: rgb(255, 255, 255);
	font-size: .9em;
	font-family: 'R-M','GG-M', sans-serif;
	font-weight: 550;
	line-height: 1;
	text-transform: uppercase;
	padding: .5em 1em;
	
	background-color: rgb(50, 50, 50);
	border-radius: 1em;
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
body:not(.touch) a.box:hover
{
	background-color: rgb(100, 100, 100);
}

.more_bt
{
	font-family: 'EG-M', serif;
	font-weight: 500;
	text-transform: uppercase;
	display:inline-block;
	margin-top: 3rem;
	font-size: .9rem;
	border-bottom: 1px solid;
}

/**********************************************************/
/************************ secTitle *************************/
/**********************************************************/

.secTitle
{
	display:flex;
	align-items: center;
	margin-bottom: 3rem;
}
.secTitle > h2,
.secTitle > h3
{
	font-size: clamp(2rem, 5vw, 2.5rem);
	font-family: 'EG-M', 'Zen-B', serif;
	font-weight: 550;
}
.secTitle > h2 > span + span,
.secTitle > h3 > span + span
{
	position:absolute;
	width: 24px;
	bottom: -6px;
	left: 0;
	border-bottom: 1px solid;
	
	transition-delay: 3s;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.end .secTitle > h2 > span + span,
.end .secTitle > h3 > span + span
{
	width: 100%;
}

.secTitle > h2 > span + span:after,
.secTitle > h2 > span + span:before,
.secTitle > h3 > span + span:after,
.secTitle > h3 > span + span:before
{
	content:"";
	display:block;
	position:absolute;
	background-size:cover;
	background-position:50%;
	width: 6px;
	height: 10px;
	top: -4.5px;
	background-image:url(https://ko.dougukan.jp/_img/anchor.svg);
}

.secTitle > h2 > span + span:after,
.secTitle > h3 > span + span:after
{
	right:0;
	transform:rotate(180deg);
	transform-origin:center;
}

.page_dir
{
	flex-direction:column;
	align-items: center;
	justify-content: flex-end;
}

.page_dir > div
{
	display:flex;
	justify-content:space-between;
	align-items: center;
}

.page_dir span,
.page_dir a
{
	display:block;
}

.page_dir span._l + span,
.page_dir a._l + span
{
	height: 2rem;
	width: 1px;
	background-color: rgb(50, 50, 50);
}

.page_dir span._l,
.page_dir span._r,
.page_dir a._l,
.page_dir a._r
{
	width: 3rem;
	margin: 1rem;
	display:flex;
	align-items:center;
	
	filter:alpha(opacity=30);
	-moz-opacity: .3;
	opacity: .3;
	
	transition-delay: 3s;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
.page_dir span._l._s,
.page_dir span._r._s,
.page_dir a._l._s,
.page_dir a._r._s
{
	cursor:pointer;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.page_dir span._l:after,
.page_dir span._r:after,
.page_dir span._l:before,
.page_dir span._r:before,
.page_dir a._l:after,
.page_dir a._r:after,
.page_dir a._l:before,
.page_dir a._r:before
{
	content:"";
	display:block;
}

.page_dir span._l:before,
.page_dir span._r:before,
.page_dir a._l:before,
.page_dir a._r:before
{
	width:100%;
	height:1px;
	background-color: rgb(50, 50, 50);
}

.page_dir span._l:after,
.page_dir span._r:after,
.page_dir a._l:after,
.page_dir a._r:after
{
	background-size:cover;
	background-position:50%;
	width:12px;
	aspect-ratio: 9 / 12;
	background-image:url(https://ko.dougukan.jp/_img/anchor.svg);
}

.page_dir span._r,
.page_dir a._r
{
	transform:translateX(-.5rem);
}
.page_dir span._l,
.page_dir a._l
{
	transform:translateX(.5rem) rotate(180deg);
}

body:not(.touch) .page_dir span._r._s:hover,
body:not(.touch) .page_dir a._r._s:hover
{
	transform:translateX(0rem);
}
body:not(.touch) .page_dir span._l._s:hover,
body:not(.touch) .page_dir a._l._s:hover
{
	transform:translateX(0) rotate(180deg);
}

.page_dir > p
{
	font-size: .8rem;
	text-align:center;
	font-family: 'EG-M', serif;
	font-weight: 500;
}


/*********************************************************************/
/**************************** SUB MENU ******************************/
/*********************************************************************/

ul#top_menu
{
	font-size: 1.5rem;
	font-family: 'Roboto-M', 'GG-M', sans-serif;
	font-weight: 550;
	
	line-height: 1.25;
	list-style: none;
	list-style: none;
	position: absolute;
	top: 0;
	display: flex;
	height: 100vh;
	flex-direction: column;
	justify-content: center;
	
	position:fixed;
	z-index: 999;
	
	padding-top: 2em;
}

ul#top_menu:before
{
	content:"";
	display:block;
	position:absolute;
	left:0;
	top: 0;
	height:100%;
	width:2.5em;
	background-color: rgb(30, 30, 30);
}

ul#top_menu a
{
	display:flex;
	align-items:center;
	padding: max(3vh, 1rem) .75rem;
}

ul#top_menu a > p
{
	display:flex;
	flex-wrap:wrap;
	overflow:hidden;
	pointer-events: none;
	position: absolute;
	left: 2.5em;
}

ul#top_menu a span
{
	display:block;
	line-height: 1;
	font-size: .8rem;
	width: 10.5em;
	padding: .5em;
	background-color: rgb(255, 255, 255);
	margin-left:-10.5em;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

body:not(.touch) ul#top_menu a:hover span
{
	margin-left:0em;
}

ul#top_menu a:before
{
	content:'';
	display:block;
	width: 1.5em;
	aspect-ratio: 1/1;
	background-size:cover;
}

ul#top_menu a._1:before
{
	background-image:url(https://ko.dougukan.jp/_img/link_1.svg)
}
ul#top_menu a._2:before
{
	background-image:url(https://ko.dougukan.jp/_img/link_2.svg)
}
ul#top_menu a._3:before
{
	background-image:url(https://ko.dougukan.jp/_img/link_3.svg)
}
ul#top_menu a._4:before
{
	background-image:url(https://ko.dougukan.jp/_img/link_4.svg)
}
ul#top_menu a._5:before
{
	background-image:url(https://ko.dougukan.jp/_img/link_5.svg)
}

/*********************************************************************/
/****************************** LINKS ********************************/
/*********************************************************************/

#links
{
	width: 100%;
	background-color: rgb(255, 255, 255);
	padding: 5rem 2rem 3rem 2rem;
}

#links > div
{
	max-width: calc(1500px + 4rem);
	margin: 0 auto;
}

#links .line
{
	display:flex;
	justify-content:center;
	align-items:center;
	margin-bottom: 3rem;
}
#links .line > span
{
	display:block;
	width: 24px;
	border-bottom: 1px solid;
	
	transition-delay: 3s;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

#links.end .line > span
{
	width: 100%;
}

#links .line:after,
#links .line:before
{
	content:"";
	display:block;
	background-size:cover;
	background-position:50%;
	width: 6px;
	height: 10px;
	top: -4.5px;
	background-image:url(https://ko.dougukan.jp/_img/anchor.svg);
}

#links .line:after
{
	right:0;
	transform:rotate(180deg);
	transform-origin:center;
}

#links .container
{
	display:flex;
	flex-wrap:wrap;
	margin: -1rem;
}

#links .container > div
{
	margin: 1rem;
	width: calc(100% / 7 - 2rem);
}

#links a
{
	white-space:nowrap;
}

#links a > span
{
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

body:not(.touch) #links a:hover > span
{
	filter:alpha(opacity=50);
	-moz-opacity: .5;
	opacity: .5;
}

#links .accshow
{
	margin-top: .5em;
	font-size: .9em;
	display:flex;
	flex-direction:column;
}

#links .container .accshow a:last-child
{
	margin-bottom: 1rem;
}

#links .other
{
	margin-top: 3rem;
	font-size: .8em;
	flex-direction:row;
	justify-content:flex-end;
	flex-wrap:wrap;
}
#links .other > a
{
	margin-bottom: 0;
	line-height: 1;
}
#links .other > a + a
{
	margin-left: 1em;
	padding-left: 1em;
}
#links .other > a + a:before
{
	content:"";
	position:absolute;
	display:block;
	width: 1px;
	height: 100%;
	background-color: rgb(50, 50, 50);
	left: 0;
}

#links .links
{
	width: 100%;
}

#links .accbox label, #links .links.sub > p
{
	color: rgb(50, 50, 50);
	padding-right: 2em;
	font-family: 'Roboto-M', 'GG-M', sans-serif;
	font-weight: 550;
	white-space: nowrap;
	border-bottom: 1px solid;
}

#links .accbox label
{
	display: none;
	border-style: solid;
	border-width: 1px 0 0 0;
}

#links .accbox label, #links .links.sub > p
{
	color: rgb(50, 50, 50);
	padding-right: 2em;
	font-family: 'Roboto-M', 'GG-M', sans-serif;
	font-weight: 550;
	white-space: nowrap;
	border-bottom: 1px solid;
}

#links .accbox label
{
	display: none;
	border-style: solid;
	border-width: 1px 0 0 0;
}

#links .accbox
{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;

	-moz-flex-direction: column-reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

body:not(.touch) .archives.accbox a:hover
{
	color: rgb(0, 0, 0);
}

#links .cssacc + .accshow + label:before
{
	content: "";
	display: block;
	position: absolute;
    width: 1em;
    height: 2px;
	top: calc(50% - 2px + .25em);
	right: 0;
	background-color: rgb(50, 50, 50);

	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
}

#links .cssacc:checked + .accshow + label:before
{
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#links .cssacc + .accshow + label:after
{
	content: "";
	display: block;
	position: absolute;
    width: 1em;
    height: 2px;
	top: calc(50% - 2px + .25em);
	right: 0;
	background-color: rgb(50, 50, 50);
	
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}

#links .cssacc:checked + .accshow + label:after
{
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

#links div.sns
{
	display:none;
}

/*********************************************************************/
/****************************** Footer ********************************/
/*********************************************************************/

#footer_2024
{
	position:sticky;
	top: 100%;
	width: 100%;
	color: rgb(255, 255, 255);
	background-color: rgb(50, 50, 50);
	padding:2rem 0;
}

#footer_2024 .logo
{
	display:block;
	width: clamp(8rem, 50%, 10rem);
	aspect-ratio: 250/100;
	background-image:url(https://ko.dougukan.jp/_img/footer_logo.svg);
	background-size: cover;
	background-position: 50%;
	margin-bottom: 2rem;
}

.credits
{
	font-size: .6rem;
	padding: 0rem 2rem 2rem 2rem;
	
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	flex-wrap:wrap;
}

/*//////////////////////////////////////////////////////////////////////////////////
///=///////////////////////////////// Loadign //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/


.pace
{
	-webkit-pointer-events: none;
	pointer-events: none;

	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;

	display:flex;
	align-content:center;
	justify-content:center;
	flex-direction: column;

	z-index: 9999;
	position: fixed;
	margin: auto;
	padding: 5rem 2rem 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 100%;

	overflow: hidden;
/*	background: linear-gradient(to right, rgb(125, 204, 243) 0%, rgb(84, 144, 117) 100%);*/
	background: rgb(255, 255, 255);
}

.pace:after
{
	content: attr(data-progress-text);
	font-family: serif;
	font-weight: 400;
	
	display: inline-block;
	
	text-align: center;
	font-size: 1rem;
}

.pace:before
{
	content:"";
	display: none;
	
	width: 100%;
	position: fixed;
	z-index: 9999;
	position: absolute;
	top: calc(50% + 4vw);
	left: 0;
	height: 1px;
	background: rgba(210, 210, 210, 1);
}


.pace .pace-progress
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;

	width: 0;
	z-index: 9999;
	display: block;
	height: 1px;
	background: rgb(50, 50, 50);
	margin: 0 auto 2rem;
}

.pace .pace-progress:after,
.pace .pace-progress:before
{
	content:"";
	display:block;
	position:absolute;
	background-size:cover;
	background-position:50%;
	width: 6px;
	height: 10px;
	top: -4.5px;
	background-image:url(https://ko.dougukan.jp/_img/anchor.svg);
}

.pace .pace-progress:after
{
	right:0;
	transform:rotate(180deg);
	transform-origin:center;
}

.pace .logo_anim
{
	display:none;
	height: 100%;
	width: 100%;
	
	justify-content: center;
	-webkit-justify-content: center;
	
	-webkit-align-items: center;
	align-items: center;
}

.pace .logo_anim > div > svg
{
	top: 0vw;
	width: 8vw;
	min-width: 200px;
	height: 2vw;
	min-height: 50px;
	z-index: 10;
}

.pace.pace-inactive, .loaded .pace
{
	display: none;
}

/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// ANKER LINK ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

.anker-link
{
	text-decoration: underline 1px !important;
}

.anker-link:hover
{
	color: rgb(130, 130, 130);
}


/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// MEDIA SCREEN ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

@media screen and (max-width: 1800px) and (min-width:1301px)
{
	.en #menu > div.links > a
	{
		font-size: min(1rem, .9vw);
	}
}

@media screen and (max-width: 1300px) and (min-width:801px)
{
/*	#menu
	{
		top:-8rem;
	}
	.en #menu > div.links > a
	{
		width:calc(100% / 3);
	}
	.en #menu > div.links > a:nth-of-type(4)
	{
		border-left-width: 1px;
	}
	.en #menu > div.links > a:nth-of-type(4),
	.en #menu > div.links > a:nth-of-type(5),
	.en #menu > div.links > a:nth-of-type(6)
	{
		border-top-width: 0;
	}*/

	.en #menu > div.links > a span
	{
		min-width: 11em;
	}
	.en #menu > div.links > a
	{
		width:calc(100% / 1);
	}
	.en #menu > div.links > a._1:before
	{
		margin-right: 1em;
	}
	.en #menu > div.links > a._3:before
	{
		margin-right: 1em;
	}
	.en #menu > div.links > a._5:before
	{
		margin-right: 1em;
	}
	
	.en #menu
	{
		top: min(-150vh, -150vw);
	}
	
	.en #menu > div.links > a:nth-of-type(1),
	.en #menu > div.links > a:nth-of-type(2),
	.en #menu > div.links > a:nth-of-type(3),
	.en #menu > div.links > a:nth-of-type(4),
	.en #menu > div.links > a:nth-of-type(5),
	.en #menu > div.links > a:nth-of-type(6),
	.en #menu > div.links > a:nth-of-type(7)
	{
		border-left-width: 1px;
	}
	.en #menu > div.links > a:nth-of-type(2),
	.en #menu > div.links > a:nth-of-type(3),
	.en #menu > div.links > a:nth-of-type(4),
	.en #menu > div.links > a:nth-of-type(5),
	.en #menu > div.links > a:nth-of-type(6),
	.en #menu > div.links > a:nth-of-type(7)
	{
		border-top-width: 0;
	}
	
}

@media screen and (max-width: 1520px)
{
	#links .container > div
	{
		width: calc(100% / 6 - 2rem);
	}
}
@media screen and (max-width: 1320px)
{
	#links .container > div
	{
		width: calc(100% / 5 - 2rem);
	}
}
@media screen and (max-width: 1120px)
{
	#links .container > div
	{
		width: calc(100% / 4 - 2rem);
	}
}
@media screen and (max-width: 900px)
{
	#links .container > div
	{
		width: calc(100% / 3 - 2rem);
	}
}
@media screen and (max-width: 700px)
{
	#links .container > div
	{
		width: calc(100% / 2 - 2rem);
	}
}

@media screen and (max-width: 1120px)
{
	#selector .logo
	{
		flex-direction:column;
		width: clamp(15rem, 20vw, 20rem);
	}
	#selector .logo > p:nth-of-type(1),
	#selector .logo > p:nth-of-type(2)
	{
		width: 100%;
	}
	#selector .logo > p:nth-of-type(2)
	{
		transform:translateY(0);
		margin-top: 2%;
	}
}

@media screen and (max-width: 1200px)
{
/*	#menu
	{
		top:-8rem;
	}
	#menu > div.links > a
	{
		width:calc(100% / 3);
	}
	#menu > div.links > a:nth-of-type(4)
	{
		border-left-width: 1px;
	}
	#menu > div.links > a:nth-of-type(4),
	#menu > div.links > a:nth-of-type(5),
	#menu > div.links > a:nth-of-type(6)
	{
		border-top-width: 0;
	}*/
	
	#menu > div.links > a span
	{
		min-width: 7.5em;
	}
	.en #menu > div.links > a span
	{
		min-width: 11em;
	}
	.zh #menu > div.links > a span
	{
		min-width: 9em;
	}
	.kr #menu > div.links > a span
	{
		min-width: 11.5em;
	}
	.zh #menu > div.links > a,
	.kr #menu > div.links > a,
	#menu > div.links > a
	{
		width:calc(100% / 1);
	}
	#menu > div.links > a._1:before
	{
		margin-right: 1em;
	}
	#menu > div.links > a._3:before
	{
		margin-right: 1em;
	}
	#menu > div.links > a._5:before
	{
		margin-right: 1em;
	}
	
	#selector a.sns
	{
		width:clamp(2rem, 16vw, 3rem);
	}
	
	#menu
	{
		top: min(-150vh, -150vw);
	}
	
	#menu > div.links > a:nth-of-type(1),
	#menu > div.links > a:nth-of-type(2),
	#menu > div.links > a:nth-of-type(3),
	#menu > div.links > a:nth-of-type(4),
	#menu > div.links > a:nth-of-type(5),
	#menu > div.links > a:nth-of-type(6),
	#menu > div.links > a:nth-of-type(7)
	{
		border-left-width: 1px;
	}
	#menu > div.links > a:nth-of-type(2),
	#menu > div.links > a:nth-of-type(3),
	#menu > div.links > a:nth-of-type(4),
	#menu > div.links > a:nth-of-type(5),
	#menu > div.links > a:nth-of-type(6),
	#menu > div.links > a:nth-of-type(7)
	{
		border-top-width: 0;
	}
}

@media screen and (max-width: 800px)
{
	#selector .logo
	{
		padding-left: 1rem;
	}

	#selector .info > div.sns,
	#selector .info > div.lang
	{
		display:none;
	}
	
	body.hamburgerOpen
	{
		overflow-y: hidden;
	}
	
	body.hamburgerOpen #selector
	{
		height:100vh;
		overflow-y:auto;
		display:flex;
		flex-direction:column;
	}
	
	#menu
	{
		flex-grow: 1;
		top: min(-150vh, -150vw);
		flex-direction: column;
		min-height: calc(100vh - 5rem);
		overflow: auto;
	}
	#menu > div.links
	{
		flex-grow: 1;
		flex-direction:column;
		justify-content: flex-start;
	}
	
	#menu > div.links > a span
	{
		min-width: 7.5em;
	}
	.en #menu > div.links > a span
	{
		min-width: 11em;
	}
	.zh #menu > div.links > a span
	{
		min-width: 9em;
	}
	.kr #menu > div.links > a span
	{
		min-width: 11.5em;
	}
	.en #menu > div.links > a,
	.zh #menu > div.links > a,
	.kr #menu > div.links > a,
	#menu > div.links > a
	{
		width:calc(100% / 1);
		font-size: clamp(1rem, 8vw, 1.5rem);
		flex-grow: 1;
	}
	#menu > div.links > a._1:before
	{
		margin-right: 1em;
	}
	#menu > div.links > a._3:before
	{
		margin-right: 1em;
	}
	#menu > div.links > a._5:before
	{
		margin-right: 1em;
	}
	
	#selector a.sns
	{
		width:clamp(2rem, 16vw, 3rem);
	}
	
	#menu > div.links > a:nth-of-type(1),
	#menu > div.links > a:nth-of-type(2),
	#menu > div.links > a:nth-of-type(3),
	#menu > div.links > a:nth-of-type(4),
	#menu > div.links > a:nth-of-type(5),
	#menu > div.links > a:nth-of-type(6),
	#menu > div.links > a:nth-of-type(7)
	{
		border-left-width: 1px;
		flex-grow: 1;
	}
	#menu > div.links > a:nth-of-type(2),
	#menu > div.links > a:nth-of-type(3),
	#menu > div.links > a:nth-of-type(4),
	#menu > div.links > a:nth-of-type(5),
	#menu > div.links > a:nth-of-type(6),
	#menu > div.links > a:nth-of-type(7)
	{
		border-top-width: 0;
		flex-grow: 1;
	}
	
	#menu .other
	{
		width: 100%;
		display:flex;
		flex-direction: column;
		align-items: center;
		padding-top: 1rem;
		border-style: solid;
	}
	#menu .other._a
	{
		padding-top: 1.5rem;
		padding-bottom: 1rem;
		border-width: 1px 1px 0;
		flex-grow: 1;
		align-items: center;
		justify-content: center;
	}
	#menu .other._b
	{
		padding-bottom: 1rem;
		border-width: 0px 1px 1px;
		flex-grow: 1;
		align-items: center;
		justify-content: center;
	}
	
	#menu div.sns
	{
		width:100%;
		display:flex;
		justify-content:center;
		align-items: center;
	}
	#selector #menu .lang
	{
		border-right-width: 0px;
	}
	#selector .lang .selector
	{
		font-size: 1em;
	}
	#selector .lang .selector label
	{
		border: 1px solid rgb(50,50,50);
	}
	
	#links div.sns
	{
		display:flex;
		justify-content:flex-start;
		flex-wrap:wrap;
		margin: 2rem 0;
	}
}

@media screen and (max-width: 750px)
{
	#links .other
	{
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#links .other > a
	{
		font-size: .9rem;
		line-height: 1.75;
	}
	#links .other > a + a
	{
		margin-left: 0;
		padding-left: 0;
	}
	#links .other > a + a:before
	{
		content:"";
		position:absolute;
		display:none;
	}
}

@media screen and (min-width: 651px)
{
	#links .accbox .accshow
	{
		opacity: 1;
		height: auto;
	}
}

@media screen and (max-width: 650px)
{
	#links .container > div
	{
		width: auto;
	}
	
	#links .container
	{
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	#links .container .linksWrapper:nth-of-type(1) label
	{
		border-top-width: 0;
	}
	
	#links .accbox label, #links .links.sub > p
	{
		padding-top: .5rem;
	}
	
	#links .accbox label
	{
		display: block;
	}
	
	#links .container > div.linksWrapper
	{
		margin: 0 1rem;
	}
	
	#links .linksWrapper .links.sub > p
	{
		display: none;
	}
	
	#links a.sns
	{
		width: 2.5rem;
	}
	#links a.sns + a.sns
	{
		margin-left: .75em;
	}
	#links .sns a.sns:nth-of-type(4)
	{
		margin-left: 1em;
	}
}

@media screen and (max-width: 600px), (max-height: 600px)
{
	#allWrapper
	{
		padding-left: 0;
	}
	
	#links
	{
		padding: 5rem 2rem 5rem 2rem;
	}
	#footer_2024
	{
		padding-top: 1rem;
	}
	.credits
	{
		padding: 0rem 2rem 3rem 2rem;
	}

	ul#top_menu
	{
		bottom: 0;
		top: auto;
		flex-direction: row;
		height: auto;
		justify-content: center;
		width: 100%;
		padding-top: 0;
	}
	ul#top_menu:before
	{
		width:100%;
		height:100%;
	}
	ul#top_menu a
	{
		padding: .5rem 1rem;
	}
	ul#top_menu a:before
	{
		margin-right:0;
	}
	ul#top_menu a > p
	{
		display:none;
	}
	
	#goTopBt
	{
		width: calc(1.3rem * 2.5);
		height: calc(1.3rem * 2.5);
		right: 0;
		left:auto;
	}
	.sc #goTopBt
	{
		bottom: 0;
	}
}

@media screen and (max-width: 450px)
{
	#goTopBt
	{
		width: calc(1rem * 2.5);
		height: calc(1rem * 2.5);
		z-index:999;
	}
	.sc #goTopBt
	{
		bottom: calc(1.3rem * 2.5);
	}
}