/*

Common

Main Color: #f02314
Sub Color #8a8888

regular: 400
mediunm: 500
semibold: 600
bold: 600

*/

html {
	/* overflow: auto; */
	font-size: 14px !important;
}
body {
	position: relative;
	width: 100%;
	height: 100vh;
	font-family: 'Work Sans','Noto Sans JP','游ゴシック体','Yu Gothic',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック','MS PGothic',sans-serif;
	font-size: 14px !important;
	font-weight: 400;
	/* font-feature-settings: 'palt'; */
	letter-spacing: 0.07em;
	line-height: 1.86em;
	color: #000;
	background: #f1f6f6;
	overflow-x: hidden;
}
::selection {
	background: #ADB2BF;
}
::-moz-selection {
	background: #ADB2BF;
}
a {
	color: #000 !important;
	text-decoration: none;
}
a:hover {
	color: #000 !important;
	text-decoration: underline;
}
.inner {
	position: relative;
	margin: 0 auto;
	padding: 0 100px;
    max-width: 1200px;
    min-width: 900px;
	width: auto;
	box-sizing: border-box;
}
.inner.wider {
	padding: 0 50px;
	max-width: 100%;
	width: 100%;
}
.inset {
	max-width: 70%;
	width: 70%;
}
.section {
	position: relative;
	margin: 0 auto 6em auto;
}
.main {
	width: 66%;	
}
.side {
	width: 22%;
}
.error {
	text-align: center;
	padding: 4em 0 2em 0;
	font-size: 4.25em;
	color: #ddd;
}
#page_heading {
	padding-top: 4.3em;
	margin-bottom: 4em;
}

h2.heading {
	color: #f02314;
	font-size: 3em;
	font-weight: 600;
	line-height: 1.4em;
}
h2.heading a {
	color: #f02314 !important;
	text-decoration: none;
}
h3.heading {
	margin-bottom: 3em;
}
h3 .heading_en {
	margin-inline-end: 0.64em;
	color: #f02314;
	font-size: 2em;
	font-weight: 600;
}
h3 .heading_ja {
	color: #8a8888;
	font-size: 1em;
	font-feature-settings: "palt";
}
.summary p,
p.summary {
	font-size: 1.2em !important;
	line-height: 2.2em !important;
}
strong {
	font-weight: 500 !important;
}
img {
	width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
	-ms-interpolation-mode: nearest-neighbor;
}
svg {
	width: 100%;
	height: auto;
}
.astarisc {
	margin-left: 0.3em;
	color: #888;
}
hr {
	display: block;
	margin-top: 2.5em;
	margin-bottom: 2.5em;
	height: 1px;
	border: 0;
	background: #DDD;
}
.only_pc {
	display: none;
}
.only_sp {
	display: block;
}
.webfont {
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
}
.webfont.condense {
}
.webfont.serif {
}
.webfont.hand {
}
.thin {
	font-weight: 300 !important;
}
.thinner {
	font-weight: 100 !important;
}
.bold {
	font-weight: 500 !important;
}
.bolder {
	font-weight: 600 !important;
}
.italic {
	font-style: italic !important;
}
.serif {
	font-family: 'Noto Serif JP',"游明朝体","Yu Mincho",YuMincho,"ヒラギノ明朝 Pro W6","Hiragino Mincho Pro","小塚明朝R","小塚明朝 std R","Kozuka Mincho std","HGS明朝E","ＭＳ Ｐ明朝",serif;
}
.sans {
	font-family: 'Noto Sans JP',"游ゴシック体","Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"MS Pゴシック","MS PGothic",sans-serif;
}
.centering {
	text-align: center !important;
}
.hide {
	display: none !important;
}
p.note,
.note li {
	clear: both;
	margin-top: 1.5rem;
	font-size: 0.9em !important;
	color: #888;
}
.i_before {
	margin-right: 0.8em;
}
.i_after {
	margin-left: 0.8em;
}
.square {
	font-size: 0.7em;
	line-height: 1em;
	vertical-align: super;
}
p.empty {
	padding: 8em 0;
	text-align: center;
	color: #bbb;
	font-size: 1.1em;
}
.empty_tags {
	margin-top: 8em;
	margin-bottom: 1.5em;
	text-align: center;
	color: #bbb;
	font-size: 1.3em;
}
.empty_tags li {
	display: inline-block;
}

.link a {
	display: inline-block;
	color: #f02314 !important;
	text-decoration: none;
}
.link a:hover {
	text-decoration: underline !important;
}

.fading {
	padding-top: 24px;
		filter: alpha(opacity=0);
		-moz-opacity: 0;
	opacity: 0;
}
.floating {
	width: 47.5%;
}
.floating:nth-of-type(odd) {
	float: left;
}
.floating:nth-of-type(even) {
	float: right;
}
.clear {
	clear: both !important;
}
.text p:last-of-type {
	margin-bottom: 1em;
}
.button {
	margin-top: 2.35em;
	text-align: center;
}
.button a {
	display: inline-block;
	padding: 1.65em 6.55em 1.63em 6.55em;
	font-size: 1.43em;
	line-height: 1.2em;
	color: #fff !important;
	background: #f02314;
	font-weight: 600;
	border-radius: 50vh;
	overflow: hidden;
	text-decoration: none;
	transition: all 200ms linear;
}
.button a:hover {
	transform: scale(1.05);
	transition: all 220ms linear;
}


/** Switch **/

#menu_switch {
	display: block;
	position: fixed;
	right: 30px;
	top: 49px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	cursor: pointer;
		-webkit-tap-highlight-color: transparent !important;
	background: #f02314;
	border: 1px solid #fff;
	z-index: 20000;
}
#menu_switch p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	width: 30px;
	height: 14px;
	z-index: 10;
}
.switch_bar {
	display: block;
	position: absolute;
	left: 0;
	width: 30px;
	height: 2px;
	background: #fff;
	border-radius: 100px;
	transition: all 140ms linear;
}
#menu_switch #switch_top {
	top: 0;
}
#menu_switch #switch_bottom {
	bottom: 0;
}
.expanded #menu_switch #switch_top {
	top: 5px;
	transform: rotate(45deg);
	transition: all 120ms ease-in;
}
.expanded #menu_switch #switch_bottom {
	bottom: 7px;
	transform: rotate(-45deg);
	transition: all 120ms ease-in;
}
#heading_vertical {
	position: fixed;
	top: 122px;
	right: 45px;
	font-size: 1em;
		-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	z-index: 20000;
}
.expanded #heading_vertical {
	color: #fff;
}
#heading_vertical span {
	display: inline-block;
	vertical-align: middle;
}
#heading_vertical .heading {
	padding: 0 0.3em 0.7em 0.3em;
	margin-bottom: 0.8em;
	font-size: 0.71em;
	line-height: 1.2em;
	border-bottom: 1px solid #000;
}
.expanded #heading_vertical .heading {
	border-bottom: 1px solid #fff;
}
#heading_vertical .acronym {
	font-size: 1em;
	font-weight: 600;
}


/** More_button **/

.more_button p {
	text-align: right;
}
.more_button p a {
	position: relative;
}
.more_button p a::before {
	content: '　';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	left: -70px;
	width: 60px;
	height: 60px;
	background: url(../images/common/arrow_icon.png) no-repeat center center / contain;
}


/* Sp_button */

#header_sp_button {
	position: fixed;
	padding: 1.5em;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #fedc5e;
	font-size: 1.5em;
	letter-spacing: 0.2em;
	font-weight: bold;
	text-align: center;
	z-index: 20000;
}


/** Post **/

.post p {
	margin-bottom: 1.35em;
}
.post ol {
	margin: 2em 0 !important;
}
.post li {
	list-style-position: inside !important;
	list-style: decimal;
}
.post ul {
	margin: 2em 0 !important;
}
.post a {
	text-decoration: underline;
}
.post ul li {
	list-style: disc;
	list-style-position: inside !important;
}
.post img {
	display: inline-block;
	margin-bottom: 1.75em;
	opacity: 0;
	max-width: 100% !important;
}
.post img.fit {
	width: 100% !important;
	height: auto;
}
.post img.nonfit {
	width: auto;
	height: auto;
}
.post b,
.post strong {
	font-weight: bold;
}
.post em {
	font-style: italic;
}
.post .issue_image {
	margin: 1em 0;
}


/** Paging **/

#paging {
	clear: both;
	margin-top: 2em;
	overflow: hidden;
}
#paging ul {
	position: relative;
	float: left;
	left: 50%;
}
#_paging_next {
	float: left;
}
#_paging_prev {
	float: right;
}
#paging li {
	position: relative;
	left: -50%;
	float: left;
	margin: 0 1em;
	font-size: 0.98em;
	font-size: 1.1em;
	line-height: 35px;
	overflow: hidden;
}
#paging li a {
	display: block;
	text-align: center;
	color: #787878 !important;
	font-weight: 500;
	font-size: 1.1em;
	text-decoration: none !important;
}
#paging li span.current {
	text-align: center;
	color: #f02314 !important;
}
#paging li > span.dots {
	text-align: center;
	color: #000 !important;
	background: none;
}

/** Single_paging */

#single_paging {
	margin-top: 7em;
	margin-bottom: 8.5em;
}
#single_paging ul {
	position: relative;
	width: 100%;
	text-align: center;
}
#single_paging li {
	display: inline-block;
}
#single_paging li a {
	font-size: 1.1em;
	font-weight: 500;
	text-decoration: none;
}
#single_paging li#paging_next a,
#single_paging li#paging_prev a {
	display: block;
	width: 31px;
	height: 31px;
}
#single_paging #paging_next {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(180deg);
}
#single_paging #paging_prev {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(180deg);
}
#paging_list {
	width: 45px;
}


/* Archives_pane */

.archives_pane a {
    display: block;
    text-decoration: none;
	transition: all 100ms linear;
}
.archives_pane_image {
    margin-bottom: 0.5em;
    margin-bottom: 1em;
	aspect-ratio: 3/2;
	overflow: hidden;
}
.archives_pane_image p {
    height: 100%;
}
.archives_pane_image a {
	display: block;
    height: 100%;
}
.archives_pane h4 {
	margin-bottom: 0.5em;
    font-size: 1.14em;
    font-weight: 600;
    line-height: 1.75em;
	font-feature-settings: "palt";
	transition: all 100ms linear;
}
.archives_pane h4 a:hover,
.archives_pane h4.hover a {
	color: #f02314 !important;
	transition: all 120ms linear;
}


/* Tags */

ul.tags li {
	float: left;
	position: relative;
	color: #787878;
	line-height: 2em;
	font-size: 0.9em;
}
ul.tags li:not(:first-of-type) {
	margin-left: 0.5em;
	padding-left: 1em;
}
ul.tags li:not(:first-of-type)::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '/';
	color: #bebebe;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
}
ul.tags li a {
	color: #f02314 !important;
	line-height: 2em;
	text-decoration: none;
}
ul.tags li a:hover {
	text-decoration: underline !important;
}


/* Header */

#header {
	position: relative;
	/* margin-bottom: 3em; */
	transition: all 100ms ease-in-out;
	z-index: 10000;
}
#header #header_inner {
	padding: 18px 30px;
}
h1#header_logo {
	float: left;
	font-size: 1em;
	line-height: 1.2em;
}
#header_logo a {
	display: block;
	text-decoration: none;
}
#header_logo a span {
	display: block;
}
#header_logo a .heading_en {
	font-size: 0.86em;
	margin-bottom: 0.3em;
}
#header_logo a .heading_ja {
	font-size: 1em;
	font-weight: 600;
}
#header_links {
	float: right;
}
#header_links ul li {
	float: left;
	position: relative;
}
#header_links ul li:not(:first-of-type) {
	margin-left: 1em;
	padding-left: 1.3em;
}
#header_links ul li:not(:first-of-type)::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '/';
	color: #bebebe;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
}
#header_links ul li a {
	display: block;
	font-size: 0.86em;
	text-decoration: none;
}

#menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #f02314;
	z-index: 10002;
}
#menu .menu_inner {
	position: relative;
	padding-top: 13.2em;
	margin-inline: auto;
	width: fit-content;
}
#menu .menu_global {
	float: left;
	margin-inline-end: 124px;
}
#menu .menu_global li {
	margin-bottom: 3em;
}
#menu .menu_global li a {
	color: #fff !important;
	font-size: 3em;
	font-weight: 600;
	text-decoration: none;
}
#menu .menu_links {
	float: right;
}
#menu .menu_links li {
	margin-bottom: 1em;
}
#menu .menu_links li a {
	color: #fff !important;
	font-size: 1em;
	text-decoration: none;
}



/* Footer */

#footer {
	padding-top: 30px;
	padding-bottom: 60px;
	margin-top: 12.57em;
	border-top: 1px solid #fff;
}
#footer_inner {
	padding: 0 30px;
}
#footer_menu {
	margin-bottom: 5.92em;
}
#footer_menu .menu_global {
	float: left;
}
#footer_menu .menu_links {
	float: right;
}
#footer_menu ul li {
	float: left;
	position: relative;
}
#footer_menu ul li:not(:first-of-type) {
	margin-left: 1em;
	padding-left: 1.3em;
}
#footer_menu ul li:not(:first-of-type)::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '/';
	color: #bebebe;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
}
#footer_menu ul li a {
	display: block;
	font-size: 1em;
	text-decoration: none;
	transition: all 100ms linear;
}
#footer_menu ul li a:hover {
	color: #f02314 !important;
	transition: all 120ms linear;
}
#footer_data {
	margin-bottom: 2.85em;
}
#footer_data h1 {
	margin-bottom: 0.3em;
	font-size: 1em;
	font-weight: 600;
}
#footer_data ul li {
	font-size: 0.86em;
	line-height: 1.9em;
}
#footer_data ul li a {
	text-decoration: none;
}
#copyright {
	text-align: right;
	font-size: 0.86em;
}


@media screen and (max-width: 1100px) and (min-width: 601px) {

	.inner {
		padding: 0 77px;
	}

	#menu_switch {
		right: 12px;
	}
	#heading_vertical {
		right: 27px;
	}

}
