@charset "UTF-8";

/* Site layout
-----------------------------------------*/
html{
font-family: 'M PLUS 1p', sans-serif, YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, Arial, 'メイリオ', Meiryo;
color:#161616;
font-size: 62.5%;
}

body{
background:#ffffff;
word-wrap: break-word;
}

html, body {
  height: 100%;
}

a,
a:link,
a:visited{
text-decoration: none;
}

a:hover{
-webkit-transition: all .3s;
transition: all .3s;
}

p{
line-height: 1.8;
font-size: 1.6rem;
}

h1,h2,h3,h4,h5,h6{
margin:0;
padding:0;
line-height: 1.6;
font-weight: 500;
}

h1{font-size:3.2rem;}
h2{font-size:2.4rem;}
h3{font-size:2.1rem;}
h4{font-size:1.8rem;}
h5{font-size:1.6rem;}

ul li{font-size:1.6rem;line-height: 1.6;}

dl dt,
dl dd{
font-size:1.6rem;
line-height: 1.6;
font-weight: normal;
}

table{
width:100%;
border:0;
border-collapse:collapse;
}

table th,
table td{
font-size:1.6rem;
line-height: 1.6;
}

figcaption{
font-size: 1.4rem;
margin-top:10px;
}

.pagenailink{
padding-top: 82px;
margin-top: -82px;
}

#mainCon img{
display: block;
width:100%;
height: auto;
}

.text_c{text-align: center;}
.text_l{text-align: left;}
.text_r{text-align: right;}

.cl_1{color:#D82425;}
.cl_2{color:#D82425;}
.cl_3{color:#ffffff;}

.txtblock{display:block;}

.f_w400{font-weight:400;}
.f_w500{font-weight:500;}
.f_w600{font-weight:600;}
.f_w700{font-weight:700;}

.font_sz14{font-size:1.4rem;}
.font_sz18{font-size:1.8rem;}
.font_sz20{font-size:2.0rem;}

.flow_con{overflow: hidden;}
.clear{clear: both;}

.indent{
text-indent: -1em;
margin-left: 1em;
}

.indent_2{
text-indent: -2.0em;
margin-left: 2.0em;
}

.mark::before{
content: '●';
color:#161616;
}

.bdr_line{
width:100%;
height: 6px;
padding:5px 0;
border-bottom:1px solid #161616;
}

.l_line_b{
width:auto;
height:1px;
background:#CCCCCC;
margin:0 40px;
}

.mb05{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb25{margin-bottom:25px;}
.mb30{margin-bottom:30px;}
.mb35{margin-bottom:35px;}
.mb40{margin-bottom:40px;}
.mb45{margin-bottom:45px;}
.mb50{margin-bottom:50px;}
.mb55{margin-bottom:55px;}
.mb60{margin-bottom:60px;}
.mb65{margin-bottom:65px;}
.mb70{margin-bottom:70px;}

.imgblock{
display: block;
margin:0 auto;
max-width: 100%;
}

.imgblock_2{
display: block;
margin:0 auto;
max-width: 70%;
}

#wrap.top{padding:0;}
#wrap{padding:120px 20px 0;}
#mainCon{position: relative;}
#mainCon .contents{
max-width:1180px;
margin:0 auto;
}
#mainCon .home.contents{max-width:100%;}

#mainCon .contents .boxInner,
#mainCon .contents .boxsearchInner{
padding:60px 0;
}

#mainCon .contents .boxSubInner{margin-bottom:70px;}
#mainCon .contents .boxSubInner.mb0{margin-bottom:0;}

body.movie #mainCon .contents,
body.book #mainCon .contents{
max-width:1200px;
}
body#contact #mainCon .contents .PageCol{
padding:30px 30px 20px;
margin-bottom:50px;
}

#mainCon .contents p a,
#mainCon .contents ul li a,
#mainCon .contents table td a{
display:inline;
position: relative;
text-decoration: underline;
font-weight:600;
color:#D82425;
}

#mainCon .contents ul li a:hover,
#mainCon .contents table td a:hover,
p a:hover{
text-decoration: none;
}

.twocolumn{
display: grid;
gap: 10px;
grid-template-columns:150px auto;
}
.twocolumn.v2{grid-template-columns:200px auto;}

#mainCon .contents .gridConBox{
display: grid;
grid-template-columns: repeat(2, 1fr);
justify-content: center;
gap:30px;
}

#mainCon .contents .gridConBox.v2{
grid-template-columns: repeat(3, 1fr);
gap:20px;
}




/* Font layout
-----------------------------------------*/

#mainCon h1.maintit{
font-size:3.8rem;
margin-bottom:50px;
color:#fff;
letter-spacing:0.1em;
}

#mainCon .contents h2{
font-size:3.2rem;
font-weight:500;
text-align: center;
margin-bottom:10px;
}

#mainCon .contents h2 span{
font-size:1.8rem;
display: block;
}

#mainCon .contents h3{
font-size:2.4rem;
margin-bottom:20px;
}

#mainCon .contents h3.tit_2{
font-size:1.8rem;
border-left:5px solid #D82425;
padding:0 0 0 20px;
margin-bottom:30px;
font-weight:400;
}


#mainCon .contents p.pgtit_1{
color: #D82425;
margin-bottom: 60px;
font-size:2.4rem;
font-weight:500;
}

#mainCon .contents p.pgtit_2{
margin-bottom: 30px;
font-size:2.4rem;
font-weight:500;
position: relative;
padding: 0 0 10px;
}

#mainCon .contents p.pgtit_2::before{
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 7px;
background: -webkit-repeating-linear-gradient(-45deg, #D82425, #ffe646 2px, #fff 2px, #fff 4px);
background: repeating-linear-gradient(-45deg, #D82425, #ffe646 2px, #fff 2px, #fff 4px);
}

#mainCon .contents p.pgtit_3{
padding:5px 10px;
margin-bottom:30px;
border-left: 3px solid #D82425;
font-size:2.1rem;
font-weight:500;
}

#mainCon .contents p.pgtit_4{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
font-weight: 500;
}

#mainCon .contents p.pgtit_4::before{
font-family: 'Material Symbols Sharp';
content: "\f816";
font-size:2.4rem;
color:#D82425;
margin-right:10px;
}

#mainCon .contents p.pgtit_5{
font-weight:600;
text-align: center;
font-size:1.8rem;
margin-bottom:10px;
}

#mainCon .contents p.pgtit_5.v2 span{font-family: "Noto Sans HK", sans-serif;font-weight:700;}

#mainCon .contents p.pgtit_6{
border-left: solid 5px #D82425;
padding:5px;
margin-bottom: 20px;
font-size:1.8rem;
font-weight:500;
}

#mainCon .contents p.pgtit_7{
padding:0px 0px 10px;
margin-bottom: 0px;
text-indent: -1.2em;
margin-left: 1.2em;
font-size:1.8rem;
font-weight:600;
}

#mainCon .contents p.pgtit_7::before{
counter-increment:titnum;
content: counter(titnum)".";
padding-right: 5px;
}

#mainCon .contents p.pgtit_8{
font-size:2.7rem;
line-height:1.4;
text-align: center;
}
#mainCon .contents p.pgtit_8 span{
font-weight:600;
font-size:4.2rem;
color:#D82425;
}
#mainCon .contents p.pgtit_8 span.v_2{font-size:3.6rem;}
#mainCon .contents p.pgtit_8.text_l{text-align:left;}

#mainCon .contents p.pgtit_9{
font-size:3.2rem;
text-align: center;
margin-bottom:50px;
font-weight: 700;
position: relative;
line-height:1;
}

#mainCon .contents p.pgtit_9 span{
font-size:5.0rem;
font-family:Helvetica,Arial, sans-serif;
color: #D82425;
}

#mainCon .contents p.pgtit_10{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
font-weight: 500;
font-size:2.1rem;
}

#mainCon .contents p.pgtit_10::before{
font-family: 'Material Symbols Sharp';
content: "\e2e6";
font-size:2.7rem;
color:#D82425;
margin-right:10px;
}

#mainCon .contents p.pgtit_11{
font-weight:600;
margin-bottom:10px;
border-bottom:1px solid #161616;
border-top:1px solid #161616;
padding:10px 0;
font-size:1.8rem;
}

#mainCon .contents h4.tit01{
padding:0px 0px 10px;
margin-bottom: 0px;
text-indent: -1.2em;
margin-left: 1.2em;
}

#mainCon .contents h4.tit01::before{
counter-increment:titnumber01;
content: counter(titnumber01)".";
padding-right: 5px;
}

body.calendar #mainCon .contents h4,
body.highlight #mainCon .contents h4{
padding:5px 10px;
margin-bottom:30px;
border-left: 2px solid #D82425;
}

body.policy #mainCon .contents{
counter-reset:titnumber01;
}

#ir-attentions{	
counter-reset:titnum;
}

#mainCon .contents h5{
color:#666666;
font-weight:600;
}

#mainCon .home.contents .tit_1,
#mainCon .maintit_1{
font-weight:600;
position: relative;
}
#mainCon .home.contents .tit_1{font-size:4.0rem;padding:0 0 0 4.2rem;}
#mainCon .maintit_1{font-size:2.7rem;padding:0 0 0 2.9rem}

#mainCon .home.contents .tit_1::before,
#mainCon .maintit_1::before{
content: "circle";
font-family: "Material Symbols Sharp" !important;
font-variation-settings:
'FILL' 1,   /* ←ここで塗り潰し指定 */
'wght' 400,
'GRAD' 0,
'opsz' 48;
position: absolute;
left: 0;
display: flex;
align-items: center;
color:#D82425;
}

#mainCon .contents p.tit_2{
text-align: center;
font-family: 'Sawarabi Mincho', serif;
font-size:4.0rem;
margin-bottom:20px;
}

#mainCon .contents p.tit_3{
font-size:1.8rem;
margin-bottom:20px;
font-weight:500;
}

#mainCon .contents p.tit_4{
font-size: 2.4rem;
font-weight: 600;
text-align: center;
margin-bottom: 50px;
position: relative;
}

#mainCon .contents p.tit_4::before{
content: "";
width: 40px;
height: 2px;
background:#D82425;
position: absolute;
bottom: -4px;
left: 0;
right: 0;
text-align: center;
margin: 0 auto;
}

#mainCon .contents p.tit_5{
font-size:2.2rem;
font-weight:500;
}



/* TOP layout
-----------------------------------------*/
#mainCon .home.contents #top-video{
position: relative;
width: 100%;
aspect-ratio: 16 / 9; /* 好きな比率でOK */
}

#mainCon .home.contents #top-video .fit-vo{
overflow: hidden;
width: 100%;
height: 100%;
margin-top:72px;
}

#mainCon .home.contents #top-video .fit-vo #mv-video,
#mainCon .home.contents #top-video .fit-vo #mv-img1{
opacity: 0;
pointer-events: none;
transition: opacity 0.6s ease; /* フェードしたい場合 */
position: absolute;            /* 上に重ねる用 */
inset: 0; 
width: 100%;
height: 100%;
object-fit: cover;
}

/* 表示状態 */
#mainCon .home.contents #top-video .fit-vo #mv-video.active-mv,
#mainCon .home.contents #top-video .fit-vo #mv-img1.active-mv {
opacity: 1;
pointer-events: auto;
}

#mainCon .contents .pg-scroll span.yj{
position: absolute;
bottom: 0;
left: 49.9%;
width: 1px;
height: 40px;
box-sizing: border-box;
background:#000;
}
#mainCon .contents .pg-scroll span.sk{
width: 8px;
height:8px;
background: #D82425;
border-radius: 50%;
position: absolute;
bottom:-2px;
}
#mainCon .contents .pg-scroll{
color:#161616;
text-align: center;
animation: flash 2s linear infinite;
position: relative;
margin:45px 0;
}
#mainCon .contents .pg-scroll span.y_txt{
text-align: center;
font-size:1.4rem;
color:#161616;
}
#mainCon .contents .pg-scroll .snk_anime{
display: flex;
justify-content: center;
}
#mainCon .contents .pg-scroll span.yj,
#mainCon .contents .pg-scroll span.sk{
display: inline-block;
animation: moveUpDown 1.5s infinite alternate;
}
@keyframes moveUpDown {
0% {
transform: translateY(0);
}
100% {
transform: translateY(3rem); /* 下に動く距離 */
}
}

.nano_b_bg {
position: relative;
overflow: hidden;
}
.nano_b_bg .float_cc {
position: absolute;
pointer-events: none;
z-index: -1;
}

.float_cc_pg{
position: fixed;
top:90px;
right:3%;
z-index:-1;
}

.blur-motion {
animation: chaosJelly 5s ease-in-out infinite;
display: inline-block;
}

@keyframes chaosJelly {
  0%   { transform: translate(0, 0) scale(1) rotate(0deg); }
  10%  { transform: translate(12px, -18px) scale(1.15) rotate(4deg); }
  25%  { transform: translate(-18px, 14px) scale(1.08) rotate(-6deg); }
  40%  { transform: translate(20px, 22px) scale(1.18) rotate(8deg); }
  55%  { transform: translate(-22px, -25px) scale(1.12) rotate(-5deg); }
  70%  { transform: translate(15px, 28px) scale(1.2) rotate(10deg); }
  85%  { transform: translate(-10px, -20px) scale(1.1) rotate(-4deg); }
  100% { transform: translate(0, 0) scale(1) rotate(0deg); }
}


#mainCon .contents .bl_bb_inner{
display: flex;
justify-content: center;
position: relative;
}
#mainCon .contents .bl_bb_inner.ft{margin-bottom:-90px;
}

#mainCon .contents .bl_bb_inner .bl_bb,
#mainCon .contents .bl_bb_inner figure.bl_bb_img{
display: inline-block;
}
#mainCon .contents .bl_bb_inner .bl_bb{
position: absolute;
top: 0px;
left: 50%;
width: 1px;
height: 64px;
background: #cccccc;
box-sizing: border-box;
z-index:2;
}
#mainCon .contents .bl_bb_inner figure.bl_bb_img{
position: relative;
z-index:1;
}

.TopInnerbg{background:#EFEFEF;}

#mainCon .home.contents .top-1{padding:80px 50px;}
#mainCon .home.contents .top-2{padding:0px 50px 40px;}
#mainCon .home.contents .newsInner{margin-bottom:60px;}
#mainCon .home.contents .flexNews{}
#mainCon .home.contents .top-3{
background: #e6f1ff;
padding:30px 0 40px;
}
#mainCon .home.contents .rinencon{padding:60px 20px 20px;}
#mainCon .home.contents .rinencon .rinenInner{}
#mainCon .home.contents .rinencon .rinenInner p.txt_1,
#mainCon .home.contents .rinencon .rinenInner,
#mainCon .home.contents .rinencon .rinenInner .btn.b_3{
width:100%;
padding:0 10px;
}

#mainCon .home.contents .rinencon .rinenInner p.txt_1{
text-align: center;
font-size:1.8rem;
font-family: 'Sawarabi Mincho', serif;
}

#mainCon .home.contents .sitecon {}
#mainCon .home.contents .sitecon .siteInner{
display: grid;
grid-template-columns: repeat(2, 1fr);
align-items: center;
max-width:1285px;
margin:0 auto;
}

#mainCon .home.contents .sitecon .siteInner.s_v_1{padding: 80px 0 0;}
#mainCon .home.contents .sitecon .siteInner.s_v_2{padding: 0 0 80px;}
#mainCon .home.contents .sitecon .siteInner.s_v_3{padding:0 0 80px;}
#mainCon .home.contents .sitecon .siteInner.v2{grid-template-columns: repeat(1, 1fr);margin-bottom: 60px;}
#mainCon .home.contents .sitecon .siteInner .sitebox{padding:20px 40px;}
#mainCon .home.contents .sitecon .siteInner .sitebox p.s_t_txt{
font-size:1.6rem;
margin-bottom:30px;
}
#mainCon .home.contents .sitecon .siteInner .siteimg.v4 .s_t_img{
padding:30px 40px;
margin:0 auto;
max-width:460px;
}
#mainCon .home.contents .sitecon .siteCompany{padding:0 0 80px;}
#mainCon .home.contents .sitecon .siteCompany .linklist{
display: grid;
grid-template-columns: repeat(3, 1fr);
gap:30px;
padding:30px 30px 0;
max-width:1500px;
margin:0 auto 40px;
}
#mainCon .home.contents .sitecon .siteCompany .linklist .btn_2 a{max-width:100%;margin-bottom:0;}

.TopInnercmy{margin-top:-2px;}

#mainCon .home.contents .bm_top{
  background:#000;
  padding:80px 50px 150px;
}
#mainCon .home.contents .bm_top h2{color:#fff;}
#mainCon .home.contents .bm_top .box01{
background:none;
color:#fff;
max-width:840px;
margin:0 auto;
}
#mainCon .home.contents .topicscon{padding:80px 0;}




/* NEWS layout
-----------------------------------------*/
.newscon{padding:30px;}
#mainCon .home.contents .newscon{margin-bottom:0;}

body.newspaper .newscon,
body.lecture .newscon{
margin-bottom:0px;
padding:0px;
}

.newscon .newsInner .newsbox{
border-bottom:1px solid #ccc;
padding-bottom:13px;
margin-bottom:13px;
}

.newscon .newsInner .newsbox:last-child{
border-bottom:none;
}

.newscon .newsInner .newsbox .ir_data,
.newscon .newsInner .newsbox .nw_data{
font-size:1.6rem;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom:13px;
}

/* .newscon .newsInner .newsbox .ir_con,
.newscon .newsInner .newsbox .nw_con{
width:78%;
} */

.newscon .newsInner .newsbox .nw_con{
font-size:1.6rem;
line-height:1.6;
}

.newscon .newsInner .newsbox .nw_con a{
font-size:1.6rem;
line-height:1.6;
color:#D82425;
text-decoration: underline;
display: block;
font-weight:600;
}

.newscon .newsInner .newsbox .nw_con a:hover{
text-decoration:none;
}

.newscon .newsInner .newsbox .ir_con a{
font-size:1.6rem;
line-height:1.6;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.newscon .newsInner .newsbox .ir_con a:hover{
color:#D82425;
text-decoration: underline;
}

.newscon .newsInner .newsbox .ir_con .fa-file-pdf{
margin:0 5px;
}

.newscon .newsInner .newsbox .ir_con .fa-file-pdf::before{
font-family: 'Material Symbols Sharp';
content: "\e415";
font-style:normal;
font-size:2.1rem;
color:#AE2502;
}

body.account #hyobox td{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

body.account #hyobox td .fa-file-pdf{
margin:0 5px;
}

body.account #hyobox td .fa-file-pdf::before{
font-family: 'Material Symbols Sharp';
content: "\e415";
font-style:normal;
font-size:2.1rem;
color:#AE2502;
}

.newscon .newsInner .newsbox .ir_data span.tag,
.newscon .newsInner .newsbox .nw_data span{
width:100px;
text-align: center;
font-size:1.3rem;
background:#169c93;
color: #fff;
padding:5px;
border-radius:10px;
display: block;
margin:0 0 0 10px;
}

.newscon .newsInner .newsbox .nw_data span{
width:auto;
padding:5px 10px;
}

.newscon .newsInner .newsbox .ir_data span.irtag{
background:#2e479b;
}
.newscon .newsInner .newsbox .ir_data span.tanshintag{
background:#41bbc7;
}
.newscon .newsInner .newsbox .ir_data span.yuhotag{
background:#D82425;
}
.newscon .newsInner .newsbox .ir_data span.releasetag{
background: #5ab87d;
}
.newscon .newsInner .newsbox .ir_data span.infotag{
background: #D82425;
}
.newscon .newsInner .newsbox .ir_data span.prtag{
background: #a73b8f;
}

.newscon .newsInner .newsbox .nw_data span.c_1{
background:#D82425;
}
.newscon .newsInner .newsbox .nw_data span.syuten{
background:#566CB9;
}
.newscon .newsInner .newsbox .nw_data span.kikou{
background:#6c4698;
}
.newscon .newsInner .newsbox .nw_data span.hapihyo{
background:#e85a89;
}
.newscon .newsInner .newsbox .nw_data span.kouen{
background:#7ab54a;
}
.newscon .newsInner .newsbox .nw_data span.shipitu{
background:#A55900;
}

.newscon .newsInner .tabs{
width:100%;
margin:0 auto;
position:relative;
}
.newscon .newsInner .tab-buttons span{
cursor:pointer;
border-bottom:5px solid #DADADA;
display:block;
width:20%;
float:left;
text-align:center;
height:48px;
line-height:48px;
font-size: 1.4rem;
background: #e7e7e7;
color:#000;
}

.newscon .newsInner .tab-content{
display:inline-block;
color:#333;
width: 100%;
padding:30px 0;
}
.newscon .newsInner .tablist01,
.newscon .newsInner .tablist02,
.newscon .newsInner .tablist03,
.newscon .newsInner .tablist04,
.newscon .newsInner .tablist05{
width: 100%;
}
#lamp{
width:20%;
height:2px;
display:block;
position:absolute;
top:50px;
transition: all .3s ease-in;
-o-transition: all .3s ease-in;
-webkit-transition: all .3s ease-in;
-moz-transition: all .3s ease-in;
background: #D82425;

}
#lamp.tablist01{
left:0;
}
#lamp.tablist02{
left:20%;
}
#lamp.tablist03{
left:40%;
}
#lamp.tablist04{
left:60%;
}
#lamp.tablist05{
left:80%;
}

.irconlinkarea{
margin-bottom:20px;
}

.irconlinkarea ul{
display:-webkit-box;
display:-moz-box;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:flex;
flex-wrap: wrap;
border-top:1px solid #ccc;
border-left:1px solid #ccc;
}

.irconlinkarea ul li{width: 25%;}

#mainCon .contents .irconlinkarea ul li a{
display: block;
text-align: center;
padding: 15px 8px;
font-size: 1.4rem;
border-bottom:1px solid #ccc;
border-right:1px solid #ccc;
text-decoration: none;
color:#161616;
}

#mainCon .contents .irconlinkarea ul li a:hover{
color:#fff;
background: #D82425;
}

#mainCon .contents .irconlinkarea ul li a.active{
color:#fff;
background: #D82425;
}

/* TOPICS layout
-----------------------------------------*/

.topicscon .topicsInner .topicsbox{
background:#ffffff;
box-shadow: 0px 2px 9px -3px #bcbcbc;
width:100%;
margin:0px auto 20px;
position: relative;
}
.topicscon .topicsInner .topicsbox .t_p_b{
padding:20px 15px 15px;
}
.topicscon .topicsInner .topicsbox .t_p_b span{
color:#fff;
padding:5px 8px;
border-radius:5px;
position: absolute;
top:-12px;
left:8px;
font-size:1.4rem;
}
.topicscon .topicsInner .topicsbox .t_p_b .year{
font-size:1.6rem;
margin-bottom:20px;
}

.topicscon .topicsInner .topicsbox .t_p_b .tp_img{
display: block;
width:100%;
margin-bottom:20px;
}

.topicscon .topicsInner .topicsbox .t_p_b .tp_link{
margin-bottom:20px;
font-size:1.6rem;
line-height:1.8;
}

.topicscon .topicsInner .topicsbox .t_p_b .tp_link figure{
position: relative;
width:100%;
height:100%;
/* padding-top: 56.25%; */
margin-bottom:20px;
}

#mainCon .topicscon .topicsInner .topicsbox .t_p_b .tp_link figure img{
width: 100%;
aspect-ratio: 4 / 3;
object-fit: cover;
display: block;
}



.topicscon .topicsInner .topicsbox .t_p_b .tp_link img{
/* object-fit: cover;
font-family: 'object-fit: cover;';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%; */
}

.topicscon .topicsInner .topicsbox .t_p_b .tp_link a{
font-size:1.6rem;
line-height:1.6;
color:#D82425;
font-weight:500;
text-decoration: underline;
}

.topicscon .topicsInner .topicsbox .t_p_b .tp_link p.link_none{
font-size:1.6rem;
line-height:1.6;
font-weight:500;
}

/*Slide swiper*/
#mainCon .home.contents .swiper-container{
position: relative;
padding:0 25px 25px;
}

#mainCon .home.contents .swiper-container .swiper-wrapper{
position: relative;
}

#mainCon .home.contents .swiper-slide{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
background:#ffffff;
box-shadow: 0px 2px 9px -3px #bcbcbc;
width:100%;
margin:20px auto 20px;
position: relative;
}

/*Slide pagination*/
#mainCon .contents .m_board_flex .tit_4{margin-bottom:0;}
#mainCon .home.contents .m_board_flex{
display: flex;
align-items: center;
gap:40px;
}
#mainCon .home.contents .topicscon .pagination{
display: flex;
padding: 20px 0;
gap: 10px;
}
#mainCon .home.contents .m_board_flex{padding:0px 50px;}
#mainCon .home.contents .topicscon .btn.b_1{padding:40px 50px 0;}

#mainCon .home.contents .swiper-button-next,
#mainCon .home.contents .swiper-button-prev{
position: static;
top: auto;
right: auto;
left: auto;
width: auto;
height: auto;
margin-top: 0;
display: block;
color: #161616;
}
#mainCon .home.contents .swiper-button-next:hover,
#mainCon .home.contents .swiper-button-prev:hover{
color: #CCCCCC;
}
#mainCon .home.contents .swiper-button-next:after,
#mainCon .home.contents .swiper-button-prev:after {
font-family: 'Material Symbols Sharp';
font-weight:300;
font-size:3.4rem;
}
#mainCon .home.contents .swiper-button-next:after,
#mainCon .home.contents .swiper-container-rtl .swiper-button-prev:after {
content: '\eaa7';
}
#mainCon .home.contents .swiper-button-prev:after,
#mainCon .home.contents .swiper-container-rtl .swiper-button-next:after{
content: '\eaaa';
}

#mainCon .home.contents .topicscon .topicsInner{
margin-left:30px;
}

#mainCon .home.contents .topicscon .topicsInner .topicsbox{
background:none;
box-shadow:none;
width:100%;
margin:0;
position: relative;
}




/* Tab area
-----------------------------------------*/
.flexNews .tab-container{position: relative;transition: height 0.35s ease;}
.flexNews .tab-content {
opacity: 0;
visibility: hidden;
transition: opacity 0.4s ease;
height: 0;
overflow: hidden;
}
.flexNews .tab-content.active{
opacity: 1;
visibility: visible;
height: auto;
overflow: visible;
}
.flexNews .tab-button.active{
cursor: pointer;outline: none;opacity:1;
}
.flexNews  .tab-group .tabs{display: flex;}

.flexNews .tab-group .tabs{
justify-content: center;
flex-wrap: wrap;
gap:20px;
margin-bottom:40px;
}

.flexNews .tab-button{
background:#EFEFEF;
color:#161616;
padding:16px 20px;
border-radius:60px;
font-size:1.8rem;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
width:220px;
text-align: center;
}

.flexNews .tab-button.active{background:#D82425;color:#fff;}
.flexNews .tab-button.active:hover{background:#D82425;}
.flexNews .tab-button:hover{background:#f5f5f5;}



/* Anime layout
-----------------------------------------*/
.fade-in,.rotate-in,.slide-up,.slide-down,.rotate-forward{opacity: 0;}
/* フェードイン */
@keyframes fadeIn {
0% { opacity: 0; transform: translateY(10px); }
100% { opacity: 1; transform: translateY(0); }
}
.fade-in.visible{animation: fadeIn 1s ease-out forwards;}
/* 下からスライドアップ */
@keyframes slideUp {
0% { opacity: 0; transform: translateY(50px); }
100% { opacity: 1; transform: translateY(0); }}
.slide-up.visible {animation: slideUp 1s ease-out forwards;}
/* 上からスライドアップ */
@keyframes slideDown {
0% { opacity: 0; transform: translateY(-50px); }
100% { opacity: 1; transform: translateY(0); }}
.slide-down.visible {animation: slideDown 1s ease-out forwards;}
/* くるっと回転 */
@keyframes rotateIn {
0% { opacity: 0; transform: rotate(-90deg) scale(0.8); }
100% { opacity: 1; transform: rotate(0deg) scale(1); }}
.rotate-in.visible {animation: rotateIn 1s ease-out forwards;}
/* 手前に回転しながら登場 */
.rotate-forward { transform: rotateX(90deg) translateY(50px) scale(0.8);}
@keyframes rotateForward {
0% {
opacity: 0;
transform: rotateX(90deg) translateY(50px) scale(0.8);
}
100% {
opacity: 1;
transform: rotateX(0deg) translateY(0) scale(1);
}}
.rotate-forward.visible {animation: rotateForward 1s ease-out forwards;}


/* link layout
-----------------------------------------*/
.btn{padding:40px 0;}

.btn a{
background:#fff;
color:#161616;
border-radius:60px;
font-size:1.4rem;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
position: relative;
padding: 1.2rem 6.0rem 1.2rem 2.0rem;
}

.btn a::before{
font-family: 'Material Symbols Sharp';
content: "\e5df";
position: absolute;
right: 10px;
top:0;
bottom:0;
display: flex;
align-items: center;
color:#D82425;
}

.btn a:hover{background:#bcbcbc;}

.btn.b_1 {display: flex;justify-content: end;}

.btn_2 a{
background:#EFEFEF;
color:#161616;
border-radius:60px;
font-size:1.4rem;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
position: relative;
padding: 2.0rem 6.0rem 2.0rem 2.0rem;
display: block;
margin-bottom:20px;
max-width:300px;
}

.btn_2 a::before{
font-family: 'Material Symbols Sharp';
content: "\e5df";
position: absolute;
right: 10px;
top:0;
bottom:0;
display: flex;
align-items: center;
color:#D82425;
font-size:20px;
}

.btn_2 a:hover{background:#ebdcdc;}
.btn_2.v2 a{border-radius:10px; padding: 2.0rem 4.0rem 2.0rem 2.0rem;}
.btn_2.v3 a{max-width:100%;}


/* list layout
-----------------------------------------*/

ul.list01 li{
text-indent:-1em;
margin-left: 1em;
margin-bottom:5px;
}

ul.list01 li::before{
content: '・';
}

ul.list02{
counter-reset:number01;
}

ul.list02 li{
text-indent: -3em;
margin-left: 3em;
}

ul.list02 li::before{
counter-increment:number01;
content:"（"counter(number01)"）";
padding-right: 5px;
}

ul.list02 li ul.list02_2 li{
text-indent: 0em;
margin-left: 0em;
}

ul.list02 li ul.list02_2 li::before{
display: none;
}

ul.list02 li ul.list02_2 li ul.list02_3{
counter-reset:number01;
margin-left:30px;
}

ul.list02 li ul.list02_2 li ul.list02_3 li{
text-indent: -1.5em;
margin-left: 1.5em;
}

ul.list02 li ul.list02_2 li ul.list02_3 li::before{
display: inline-block;
}

ul.list02.vl_lt li{
font-size:1.8rem;
font-weight:500;
}

ul.list02.vl_lt li::before{
background: rgb(31, 55, 74);
background: linear-gradient(15deg, rgba(237,122,36,1) 30%, rgba(255,230,70,1) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

ul.list03 li{
text-indent:-1em;
margin-left: 1em;
margin-bottom:5px;
}

ul.list03 li::before{
content: '●';
color:#D82425;
}

ul.searchlist,
p.searchtxt{
margin-bottom:40px;
}

ul.searchlist li,
p.searchtxt{
position: relative;
padding:0 0 5px 20px;
}

#mainCon .contents .boxsearchInner{

}

#mainCon .contents ul.searchlist li a,
#mainCon .contents p.searchtxt{
display: block;
}

ul.searchlist li::before,
p.searchtxt::before{
content: "・";
position: absolute;
top: 0px;
left: 1px;
color: #161616;
}


/* Page layout
-----------------------------------------*/

.tobiraInner{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap:30px;
  padding-bottom:40px;
}
.tobiraInner.bdrbb_line{border-bottom: 1px solid #CCCCCC;margin-bottom:40px;}







#mainCon .contents .rinen{
position: relative;
width: 100%;
padding:40px 0 10px;
}

#mainCon .contents .rinen .rinentext{
overflow: hidden;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
}

#mainCon .contents .rinen .rinentext video{
position: absolute;
top: 0;
left: 0;
width: auto;
height: auto;
min-width: 100%;
min-height: 100%;
background: url('../img/top/r-mv.jpg') no-repeat;
background-size: cover;
z-index: -1;
}

#mainCon .contents .rinen .boxsubInner{
background:rgba(255, 255, 255,0.8);
padding:40px 20px;
margin:0 40px 40px;
position: relative;
z-index:3;
}

#mainCon .contents .rinen .nmbtn{
position: relative;
z-index:3;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}



#mainCon .contents .rinen .boxsubInner.rinenpoint{
background:rgba(41, 36, 139,0.8);
padding:40px;
margin:20px 0px 0px;
}

#mainCon .contents .rinen .boxsubInner.rinenpoint p{
color:#fff;
font-weight:600;
font-size:2.0rem;
}

#hyolist{
width: 100%;
border-top: 1px solid #bdbdbd;
border-right: 1px solid #bdbdbd;
}

#hyolist th,
#hyolist td{
border-bottom: 1px solid #bdbdbd;
border-left: 1px solid #bdbdbd;
padding:10px 15px;
text-align: left;
vertical-align: middle;
}

#hyolist th{
width: 100px;
background: #888888;
color: #fff;
}

#hyolist td{
width:35%;
line-height: 1.5;
}

#hyobox{
width: 100%;
border-left:1px solid #ccc;
border-top:1px solid #ccc;
}

#hyobox th,
#hyobox td{
padding:10px 15px;
vertical-align: middle;
border-right:1px solid #ccc;
border-bottom:1px solid #ccc;
background:#fff;
}

#hyobox th{
background: #f7f7f7;
}

#hyobox td{
text-align: left;
}

#hyobox02{
width: 100%;
border-left:1px solid #ccc;
border-top:1px solid #ccc;
}

#hyobox02 th,
#hyobox02 td{
padding: 10px 15px;
vertical-align: middle;
border-right:1px solid #ccc;
border-bottom:1px solid #ccc;
background:#fff;
}

#hyobox02 td{
text-align: left;
}

.hyolist01 #hyobox{
border-left:none;
border-top:1px solid #ccc;
margin:20px 0px 0;
}

.hyolist01 #hyobox th,
.hyolist01 #hyobox td{
border-right:none;
border-bottom:1px solid #ccc;
font-size: 1.4rem;
background:#fff;
}

.hyolist01 #hyobox th{
background: #fff;
width: auto;
text-align:left;
font-weight: bold;
}

body.account #hyobox th{
width:165px;
text-align: center;
}

.analyst #hyobox02 th{
text-align: left;

}

.analyst #hyobox02 th.anatit{
background:#D82425;
color: #fff;
}

body.calendar #mainCon .contents .hyolist01 #hyobox{
margin-bottom:40px;
}

#historybox{
margin-bottom: 20px;
}

#historybox tr{
border-bottom:20px solid transparent;
}

#historybox th,
#historybox td{
font-size: 1.6rem;
padding:10px 10px 20px;
}

#historybox th{
width: auto;
text-align:left;
border-right:2px solid #D82425;
font-weight: bold;
width: 60px;
text-align: right;
}

#historybox th.historytit{
border-right:none;
color: #161616;
font-size: 1.6rem;
padding:15px 10px;
text-align: left;
}

#historybox th.historytit::before{
font-family: 'Material Symbols Sharp';
content: "\e889";
font-weight: 400;
padding-right: 5px;
color:#D82425;
font-size:2.4rem;
}

.memberbox{
padding:20px;
margin-bottom:20px;
width:auto;
border:1px solid #ccc;
height: 100%;
background:#fff;
}

.memberbox .biographycon{
display: none;
}

.memberbox .biography{
font-size:1.4rem;
cursor: pointer;
padding:20px;
margin:0 auto 10px;
position: relative;
display:grid;
align-items: center;
border-radius:30px;
max-width:120px;
background:#EFEFEF;
color:#161616;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
}


.memberbox .biography:hover {
background:#f5f5f5;
-webkit-transition: all .3s;
transition: all .3s;
}

.memberbox .biography::after{
position: absolute;
right:10px;
font-family: 'Material Symbols Sharp';
content: "\f70e";
color:#D82425;
font-size: 2.0rem;
}

.memberbox .biography.clecked::after{
font-family: 'Material Symbols Sharp';
content: '\f71a';
}

.googlemapare{
border:1px solid #ccc;
}

.sphyoslide{
margin-bottom: 20px;
}

#mainCon .contents .irareatop .irtoptitimg{
position: relative;
}

#mainCon .contents .irareatop .irtoptitimg h4.tit02{
position: absolute;
bottom:10px;
width:50%;
padding:10px;
background:rgba(255, 255, 255,0.9);
color:#D82425;
}

#mainCon .contents .videoInner,
#mainCon .home.contents .movielist,
#mainCon .contents .movielist{display: grid;gap:30px;}
#mainCon .contents .videoInner .vdbox{padding:20px;}
#mainCon .contents .videoInner{grid-template-columns: repeat(2, 1fr);}
#mainCon .home.contents .movielist{grid-template-columns: repeat(3, 1fr);}

#mainCon .contents .videoInner .vdbox figure,
#mainCon .home.contents .movielist .vdbox figure,
#mainCon .contents .movielist .vdbox figure{
position: relative;
width:100%;
height:0;
padding-top: 56.25%;
box-shadow: 5px 5px 9px -6px #bcbcbc;
}

#mainCon .contents .videoInner video,
#mainCon .contents .videoInner iframe,
#mainCon .home.contents .movielist video,
#mainCon .home.contents .movielist iframe,
#mainCon .contents .movielist video,
#mainCon .contents .movielist iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#mainCon .contents .irbookInner{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: center;
-moz-justify-content: center;
justify-content: center;
}

#mainCon .contents .irbooklist{
width:30%;
margin:0 10px 20px;
background:#efefef;
position: relative;
padding:20px;
border:3px solid #efefef;
}

#mainCon .contents .irbooklist:hover{
border: 3px solid #D82425;
border-image-slice: 1;
}

#mainCon .contents .irbooklist a{
position: absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:2;
}

#mainCon .contents .irbooklist figure{
margin-bottom:20px;
}

#mainCon .contents .irbooklist  span.irbooktit,
#mainCon .contents .irbooklist  span.irbooktxt{
display:block;
font-size:1.8rem;
}

#mainCon .contents .irbooklist span.irbooktit{
border-left: solid 5px #D82425;
margin-bottom: 20px;
padding:0 10px;
}

#mainCon .contents .irbooklist  span.irbooktxt{
position: relative;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
font-weight: 600;
font-size:1.6rem;
}

#mainCon .contents .irbooklist span.irbooktxt::before{
font-family: 'Material Symbols Sharp';
content: "\ea19";
font-size:2.4rem;
margin-right:5px;
color:#D82425;
}

.highlightlink{padding:60px 0 0;}

#mainCon .contents .highlightlink ul{
display: flex;
gap:20px;
flex-wrap: wrap;
justify-content:center;
}

#mainCon .contents .highlightlink ul li a{
background:#EFEFEF;
color:#161616;
border-radius:60px;
font-size:1.4rem;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
position: relative;
padding: 2.0rem 6.0rem 2.0rem 2.0rem;
display: block;
text-decoration: none;
}

#mainCon .contents .highlightlink ul li a::before{
font-family: 'Material Symbols Sharp';
content: "\e5c5";
position: absolute;
right: 10px;
top:0;
bottom:0;
display: flex;
align-items: center;
color:#D82425;
font-size:20px;
}
#mainCon .contents .highlightlink ul li a:hover{background:#ebdcdc;}
#mainCon .contents .highlightlink ul li a.active{color:#fff;background: #D82425;}

.custom-table{margin-bottom: 10px;}

.custom-table table{
width: 100%;
border-top: 1px solid #bdbdbd;
border-right: 1px solid #bdbdbd;
}

.custom-table table td{
border-bottom: 1px solid #bdbdbd;
border-left: 1px solid #bdbdbd;
padding: 15px 10px;
text-align: right;
vertical-align: middle;
font-size: 1.6rem;
line-height: 1.6;;
background:#fff;
}

.custom-table table .r1 td{
background:#D82425;
color: #fff;
text-align: center;
}

.custom-table table .r2 td.c1,
.custom-table table .r3 td.c1,
.custom-table table .r4 td.c1,
.custom-table table .r5 td.c1,
.custom-table table .r6 td.c1{
background:#efefef;
color: #161616;
text-align: center;
}

#mainCon .contents .faqbox{
margin-bottom:30px;

}

#mainCon .contents .faqbox .q_box{
padding:10px 20px;
background:#efefef;
border: 1px solid #D82425;
}

#mainCon .contents .faqbox .q_box p.q_area{
font-weight:600;
}

#mainCon .contents .faqbox .a_box{
padding:20px;
border-bottom: 1px solid #666666;
border-left: 1px solid #666666;
border-right: 1px solid #666666;
}

#mainCon .contents .faqbox .a_box p.a_area{}

#mainCon .contents .faqbox .q_box p.q_area::before{
content: "\e887";
color:#D82425;
font-weight:400;
}

#mainCon .contents .faqbox .a_box p.a_area::before{
content: "\e8ce";
color:#666666;
font-weight:400;
}


#mainCon .contents .faqbox .q_box p.q_area,
#mainCon .contents .faqbox .a_box p.a_area{
position: relative;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

#mainCon .contents .faqbox .q_box p.q_area::before,
#mainCon .contents .faqbox .a_box p.a_area::before{
font-family: 'Material Symbols Sharp';
font-size:3.0rem;
margin-right:5px;
}









/* Contact area
-----------------------------------------*/
#info_hyo{
width: 100%;
border-top: 1px solid #bdbdbd;
}

#info_hyo th,
#info_hyo td{
border-bottom: 1px solid #bdbdbd;
padding: 10px;
text-align: left;
vertical-align: middle;
line-height: 1.8;
font-size: 1.4rem;/*14px*/
}

#info_hyo th{
background: #EFEFEF;
color: #888;
text-align: center;
}

.info_sendbox{
background: #fafafa;
padding: 20px;
}

.formarea{
padding: 30px;
margin-bottom: 30px;
background: #f4f4f4;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
border-radius: 30px;
}

.formarea .point-info{
font-size: 0.813em;/*13px*/
margin-bottom: 10px;
}

.formarea .form_contents{
width: 100%;
margin: 0px 10px;
}

.formarea .formbox{
margin-bottom: 20px;
clear: both;
clear: both;
max-width: 600px;
margin: 0 auto 40px;
}

.formarea .formbox .mb0{margin-bottom:0;}

.formarea .formbox h5{
color: #333;
border-left: solid 5px #D82425;
padding: 8px 15px;
margin-bottom: 20px;
}

.formarea span.point{
color: #b21919;
}

.formarea span.required{
color: #b21919;
font-size: 1.3em;
margin-left: 5px;
}

.formarea .setsumei{
color: #161616;
font-size: 1.4rem;
display: block;
margin-bottom: 5px;
line-height: 1.6;
}

.formarea span.error{
color: #b21919;
font-size: 1.4rem;
display: block;
margin-bottom:10px;
}

.formarea .formbox input{
border:1px solid #bdbdbd;
background:#fff;
padding: 15px 10px;
border-radius: 5px;
width: 100%;
font-size: 1.6rem;
}

.formarea .formbox input#nensyu-id{width:100px;}
.formarea .formbox input#age-id{width:80px;}
.formarea .formbox input#zip{width:150px;}

.formarea .formbox .filenotes{
text-indent:-1em;
margin-left:1em;
}

.formarea .formbox select{
background: #FFF;
border: 1px solid #bdbdbd;
border-radius: 5px;
height: 40px;
line-height: 40px;
text-align: left;
text-indent: 5px;
vertical-align: middle;
margin-bottom: 10px;
width: 100%;
font-size: 1.6rem;
}

.formarea .formbox textarea{
background: #FFF;
border: 1px solid #bdbdbd;
border-radius: 5px;
padding: 15px 10px;
width: 100%;
font-size: 1.6rem;
margin-bottom: 10px;
font-weight: normal;
line-height: 1.6;
}

.mw-wp-form_file a{
display: block;
padding:10px;
border-radius:10px;
color: #D82425;
border:1px solid #D82425;
margin-bottom:10px;
}

.mw-wp-form_file a:hover{
text-decoration: underline;
}

.formarea .formBtn{
max-width:350px;
margin:0 auto;
}

.formarea .formBtn input {
width: 100%;
background:#D82425;
color:#fff;
border-radius:60px;
font-size:1.6rem;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
position: relative;
padding: 2.0rem;
display: block;
font-weight:600;
text-align: center;
}

.formarea .formBtn input:hover {
background:#EFEFEF;
color:#161616;
-webkit-transition: all .3s;
transition: all .3s;
}

.formarea .formBtn input[type="submit"] {
/* -webkit-appearance: none; */
border-radius: 50px;
}

.formarea input,
.formarea select,
.formarea textarea{
border: none;
outline: none;
box-sizing: border-box;
}

.formarea span.mwform-tel-field{display: flex;align-items: center;gap: 10px;}


/* 確認用レイアウト */
.mw_wp_form_preview .required,
.mw_wp_form_preview .rei,
.mw_wp_form_preview .mojinone,
.mw_wp_form_preview .point{
display: none;
}

.mw_wp_form_preview .formbox{
margin-bottom: 30px;
line-height: 1.6;
background:#fff;
padding:10px;
font-size:1.6rem;
}

.mw_wp_form_preview .formBtn input {margin: 0px auto 20px auto;}
.mw_wp_form_complete{display: none;}


/* Sitemap area
-----------------------------------------*/
#mainCon .contents .p_sitemapInner{
max-width:1200px;
margin:0 auto;
}

#mainCon .contents .p_sitemap{
display: grid;
grid-template-columns: repeat(2, 1fr);
justify-content: center;
gap:30px;
}

#mainCon .contents .p_sitemap .sitemap_box{padding:30px;}

#mainCon .contents .p_sitemap .sitemap_box div.sitemap_tit{margin-bottom:20px;}
#mainCon .contents .p_sitemap .sitemap_box div.sitemap_tit.mb0{margin-bottom:0px;}

#mainCon .contents .p_sitemap .sitemap_box div.sitemap_tit a{
background:#EFEFEF;
color:#161616;
border-radius:60px;
font-size:1.4rem;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
position: relative;
padding: 2.0rem 6.0rem 2.0rem 2.0rem;
display: block;
margin-bottom:20px;
}

#mainCon .contents .p_sitemap .sitemap_box div.sitemap_tit a:hover{background:#ebdcdc;}

#mainCon .contents .p_sitemap .sitemap_box div.sitemap_tit a::before{
font-family: 'Material Symbols Sharp';
content: "\e5df";
position: absolute;
right: 10px;
top:0;
bottom:0;
display: flex;
align-items: center;
color:#D82425;
font-size:20px;
}

#mainCon .contents .p_sitemap .sitemap_box ul.sitemap_list li{
margin-bottom:10px;
position: relative;
}

#mainCon .contents .p_sitemap .sitemap_box ul.sitemap_list li:last-child{
margin-bottom:0px;
}

#mainCon .contents .p_sitemap .sitemap_box ul.sitemap_list li::before{
content: "・";
position: absolute;
top: 1px;
left: 1px;
color:#D82425;
}

#mainCon .contents .p_sitemap .sitemap_box ul.sitemap_list li a{
color:#161616;
display: block;
line-height:1.4;
margin-left: 15px;
text-decoration: none;
font-weight:400;
}

#mainCon .contents .p_sitemap .sitemap_box ul.sitemap_list li a:hover{
text-decoration: underline;
color:#D82425;
}

/* Loading area
-----------------------------------------*/
#loading{
width: 100vw;
height: 100vh;
transition: all 1s;
position: fixed;
top: 0;
left: 0;
z-index: 9999999999999;
display: flex;
align-items: center;
justify-content: center;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
overflow: hidden;
z-index:9999999999999999;
}

#loading{background:#EFEFEF;}

#loading .loadpage img{
display: block;
margin:0 auto;
width:250px;
animation:rotate-y01 2s infinite;
-webkit-animation:rotate-y01 2s infinite;
}

@keyframes rotate-y01{
0%{transform:rotateY(0deg);}
100%{transform:rotateY(360deg);}
}

.loaded{
opacity: 0;
visibility: hidden;
}

/* Common Box area
-----------------------------------------*/
#mainCon .contents .box01 {
position: relative;
padding: 40px;
background:#EFEFEF;
}
/* 左上 */
#mainCon .contents .box01::before {
content: "";
position: absolute;
top:0;
left:0;
width: 20px;
height: 50px;
border-top: 5px solid #D82425;
border-left: 5px solid #D82425;
}
/* 右下 */
#mainCon .contents .box01::after {
content: "";
position: absolute;
bottom:0;
right:0;
width: 20px;
height: 50px;
border-bottom: 5px solid #D82425;
border-right: 5px solid #D82425;
}

#mainCon .contents .box01 .subpoint{background:#fff;padding:20px;}
#mainCon .contents .box02{
border:1px solid #D82425;
padding:40px;
position: relative;
margin-top:60px;
}
#mainCon .contents p.box_tit01{
background:#161616;
color:#fff;
display: inline-block;
padding:10px;
position: absolute;
top:-25px;
left:20px;
}
#mainCon .contents .box03,
#mainCon .contents .boxInner.box03 {
padding: 40px;
background:#fff;
border:1px solid #ccc;
margin-bottom:70px;
}

/* Company area
-----------------------------------------*/
#mainCon .contents .bm_board{position: relative;}
#mainCon .contents .bm_txtInner{
background:rgba(13, 13, 13, 0.8);
padding:30px 5% 30px;
display:inline-block;
position: absolute;
bottom:40px;
left:0;
width:auto;
}
#mainCon .contents .bm_txtInner p{
font-size:2.7rem;
line-height:1.8;
color:#fff;
}
#mainCon .contents .bm_txtInner p span{color:#D82425;}
#mainCon .contents .bm_board figure{padding:40px 40px 0;}
#mainCon .contents .bm_member{padding:40px 20px;}


/* Responsible area
-----------------------------------------*/

@media print, screen and (min-width:0px) and ( max-width:500px) {}

@media screen and (min-width:0px) and ( max-width:840px) {
h1{font-size:2.7rem;}
h2{font-size:2.1rem;}
h3,#mainCon .contents h3{font-size:2.0rem;}
h5 {font-size: 1.4rem;}
.PcB_sp{display: none;}
.ScB_sp{display: block;}
.twocolumn{grid-template-columns:0;display: block;}
.twocolumn span{display: block;}
#wrap{padding:90px 20px 0;}

/* Font layout
-----------------------------------------*/
#mainCon .contents p.tit_1{
font-size:3.0rem;
padding:0 0 0 3.2rem;
}

#mainCon .contents p.tit_2{font-size:2.4rem;}
#mainCon .contents p.tit_3{}
#mainCon .contents p.tit_4{}

#mainCon .contents p.pgtit_8{font-size:2.2rem;}
#mainCon .contents p.pgtit_8 span{font-size:3.4rem;}
#mainCon .contents p.pgtit_8 span.v_2{font-size:2.7rem;}

#mainCon .contents p.pgtit_9{
font-size:2.7rem;
}

/* TOP layout
-----------------------------------------*/
#mainCon .home.contents .top-1{padding:80px 20px;}
#mainCon .home.contents .top-2{padding:0px 20px 20px;}
#mainCon .home.contents .m_board_flex{padding:0px 20px;}
#mainCon .home.contents .topicscon .btn.b_1{padding:40px 20px 0;}
#mainCon .home.contents .rinencon .rinenInner p.txt_1{font-size: 1.6rem;}
#mainCon .home.contents .tit_1{font-size:2.7rem;padding:0 0 0 2.9rem;}
#mainCon .maintit_1{font-size:2.0rem;padding:0 0 0 2.2rem}
#mainCon .home.contents .m_board_flex{gap:20px;}
#mainCon .home.contents .sitecon .siteCompany .linklist{grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));}


/* link layout
-----------------------------------------*/
.btn.b_1 a,
.btn.b_2 a,
.btn.b_3 a{

}
.btn_2.pgbtn a{max-width:100%; width:100%;}
.nw_flex{display: block;}

.nw_flex .text_link{
width:100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
}

/* Page layout
-----------------------------------------*/

#mainCon .contents .tobiracon{
display: block;
margin:0 20px;
}

#mainCon .contents .tobiracon .tobirabox{
margin-bottom:40px;
width:100%;
}

#mainCon .contents .tobiracon .tobirabox:nth-child(2n){
margin:0 0px 30px 0;
}

#mainCon .contents .tobiracon .tobirabox .tobiraInner,
#mainCon .contents .tobiracon .tobirabox .tobira_all_link{
padding:20px;
}

#mainCon .contents .rinen .boxsubInner{
background:rgba(255, 255, 255,0.8);
padding:40px 20px;
margin:20px 0px 40px;
}

body#contact #mainCon .contents .PageCol{
padding:30px 20px 20px;
}

/* .topicscon .topicsInner .topicsbox{margin: 0px auto 30px;} */

/* NEWS layout
-----------------------------------------*/
.newscon .newsInner .newsbox .ir_data,
.newscon .newsInner .newsbox .nw_data{display:inline-block;}
.newscon .newsInner .newsbox .ir_data span.tag,
.newscon .newsInner .newsbox .nw_data span{margin:10px 0 0 0;}
.newscon .newsInner .tab-buttons span{
display:block;
width:100%;
height: 51px;
line-height: 51px;
}

#lamp{
width:100%;
}

#lamp.tablist01{
top:50px;
left:0;
}
#lamp.tablist02{
top:100px;
left:0;
}
#lamp.tablist03{
top:150px;
left:0;
}
#lamp.tablist04{
top:200px;
left:0;
}
#lamp.tablist05{
top:250px;
left:0;
}

#hyobox th,
#hyobox td{
display: block;
}

.calendar #hyobox th{
border-bottom:none;
padding:15px 15px 0px;
font-weight: bold;
}

body.account #hyobox th{
width:100%;
}

.sphyoslide {
padding-bottom:0px;
overflow: auto;
}
.sphyoslide::-webkit-scrollbar {
height: 5px;
}
.sphyoslide::-webkit-scrollbar-track {
background: #ddd;
}
.sphyoslide::-webkit-scrollbar-thumb {
background: #D82425;
}
.sphyoslide table th,
.sphyoslide table td {
white-space: nowrap;
}

/* list layout
-----------------------------------------*/
ul.list02.vl_lt li{
font-size:1.6rem;
}

/* Tab area
-----------------------------------------*/
.flexNews .tab-group .tabs{gap:10px; margin-bottom:40px;}
.flexNews .tab-button{font-size:1.4rem;padding:10px 20px;width: auto;}


/* Company area
-----------------------------------------*/
#mainCon .contents .bm_txtInner p{font-size:1.8rem;}

/* Sitemap area
-----------------------------------------*/
#mainCon .contents .p_sitemap{grid-template-columns: repeat(1, 1fr);}
#mainCon .contents .p_sitemap .sitemap_box{padding:30px 10px 0;}

}

@media print, screen and (min-width:841px){
.PcB_sp{display: block;}
.ScB_sp{display: none;}


/* Font layout
-----------------------------------------*/

/* TOP layout
-----------------------------------------*/

/* TOPICS layout
-----------------------------------------*/

.topicscon .topicsInner{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}

.topicscon .topicsInner .topicsbox{
width:48%;
}

/* Contact area
-----------------------------------------*/

.mwform-tel-field input[type="text"],
.mwform-zip-field input[type="text"]{
display: inline-block;
width: auto;
}

/* NEWS layout
-----------------------------------------*/
.irconlinkarea ul li{
width: 10%;
}

.newscon .newsInner .tab-buttons span.tab01,
.newscon .newsInner .tab-buttons span.tab02,
.newscon .newsInner .tab-buttons span.tab03,
.newscon .newsInner .tab-buttons span.tab04{
border-bottom:none;
width:100%;
float:none;
border-right: 1px solid #a6a6a6;
}

.newscon .newsInner .tab-buttons span.tab05{
border-bottom:none;
width:100%;
float:none;
}

.calendar .hyolist01 #hyobox th{
width:155px;
}


}

@media screen and (min-width:841px) and ( max-width:1023px) {

#wrap{padding:90px 40px 0;}
/* Company area
-----------------------------------------*/
#mainCon .contents .bm_txtInner p{font-size:2.4rem;}
}

@media screen and (max-width:1023px) {
.PcB{display: none;}
.ScB{display: block;}
.sp_mb10{margin-bottom:10px;}
.sp_mb15{margin-bottom:15px;}
.sp_mb20{margin-bottom:20px;}
.sp_ml10{margin-left:10px;}
.sp_ml15{margin-left:15px;}
.sp_ml20{margin-left:20px;}
.imgblock_2{max-width: 100%;}
.l_line_b{margin:0 20px;}
#mainCon .bnrsz{max-width:270px;}
#mainCon{}
#mainCon .contents .boxInner,
#mainCon .contents .boxsearchInner{
padding:30px 0;
}
#mainCon h1{padding:20px;}

#mainCon .contents .gridConBox{
grid-template-columns: repeat(1, 1fr);
}
#mainCon .contents .gridConBox.v2{
  grid-template-columns: repeat(1, 1fr);
}


/* TOP layout
-----------------------------------------*/
#mainCon .home.contents .sitecon .siteInner{
display: flex;
flex-wrap: wrap;
gap:0;
}
#mainCon .home.contents .sitecon .siteInner.s_v_1{padding: 60px 0 0;}
#mainCon .home.contents .sitecon .siteInner.s_v_2{padding:60px 0;}
#mainCon .home.contents .sitecon .siteInner.s_v_2 .sitebox{order:1;}
#mainCon .home.contents .sitecon .siteInner.s_v_2 .siteimg.v2{order:2;}
#mainCon .home.contents .sitecon .siteInner.s_v_3{padding:0 0 60px;}
#mainCon .home.contents .sitecon .siteCompany{padding:0 0 60px;}
#mainCon .home.contents .sitecon .siteInner .sitebox{
width:auto;
padding:20px;
}
#mainCon .home.contents .sitecon .siteimg .s_t_img{
display: flex;
justify-content: flex-end;
}
#mainCon .home.contents .sitecon .siteimg .s_t_img img{width:75%;}
#mainCon .home.contents .sitecon .siteInner .siteimg.v4 .s_t_img img{width:100%;}
#mainCon .home.contents .sitecon .siteInner.s_v_3{
display: flex;
justify-content: flex-end;
}
#mainCon .home.contents .sitecon .siteInner.s_v_3 .sitebox{order:1;width:75%;}
#mainCon .home.contents .sitecon .siteInner.s_v_3 .siteimg{order:2;}
#mainCon .home.contents .sitecon .siteInner.s_v_3 .siteimg .s_t_img{justify-content: flex-start;}
#mainCon .home.contents .sitecon .siteInner.v2{display:block;margin-bottom:30px;}
#mainCon .home.contents .sitecon .siteInner .siteimg.v4 .s_t_img{padding:20px;display: block;max-width:350px;margin:0 auto;}

#mainCon .contents .videoInner{grid-template-columns: repeat(1, 1fr);}
#mainCon .home.contents .movielist{grid-template-columns: repeat(2, 2fr);}
#mainCon .contents .videoInner .vdbox,
#mainCon .home.contents .movielist .vdbox,
#mainCon .contents .movielist .vdbox{
width:auto;
}
#mainCon .home.contents .bm_top{padding:50px 20px 100px;}
#mainCon .home.contents .sitecon .siteCompany .linklist .btn_2 a{font-size:1.3rem;}


#mainCon .contents .irbookInner{
display: block;
margin: 0 20px;
}
#mainCon .contents .irbooklist{
width:100%;
margin:0 0px 20px;
}


/* link layout
-----------------------------------------*/
.nw_flex{margin:0 0px 40px;}

/* Page layout
-----------------------------------------*/
.tobiraInner{grid-template-columns: repeat(1, 1fr);}

#mainCon .contents .box03,
#mainCon .contents .boxInner.box03 {padding: 40px 20px;}


/* Common Box area
-----------------------------------------*/
#mainCon .contents .box01{padding:30px 20px;}



/* Company area
-----------------------------------------*/
#mainCon .contents .bm_txtInner{
background:rgba(13, 13, 13, 1);
padding:30px 20px;
display: block;
position: static;
bottom:auto;
left:auto;
width:100%;
margin-bottom:20px;
}
#mainCon .contents .bm_txtInner p{text-align: center;}
#mainCon .contents .bm_board figure{padding:40px 20px 0;}


/* IR area
-----------------------------------------*/
.highlightlink{padding:30px 0;}
}

@media print, screen and (min-width:1024px) {
.PcB{display: block;}
.ScB{display: none;}
.pc_mb10{margin-bottom:10px;}
.pc_mb15{margin-bottom:15px;}
.pc_mb20{margin-bottom:20px;}
.pc_ml10{margin-left:10px;}
.pc_ml15{margin-left:15px;}
.pc_ml20{margin-left:20px;}
.float_r{float: right;}
.float_l{float: left;}
.w_box_1{width:50%;}
.w_box_1_2{width:33.333%;}
.w_box_2_1{width:calc(60% - 20px);}
.w_box_2_2{width:40%;}
.w_box_3_1{width:40%;}
.box-two{width: 49%;}
.box-two-73{width: 73%;}
.box-two-68{width: 68%;}
.box-two-50{width: 50%;}
.box-two-48{width: 48%;}
.box-two-45{width: 45%;}
.box-two-40{width: 40%;}
.box-two-30{width: 30%;}
.box-two-25{width: 25%;}
.box-two-15{width: 15%;}
.pagenailink{
padding-top: 120px;
margin-top: -120px;
}
#mainCon .bnrsz img{height: 70px; width:auto;}

#mainCon .contents .flexConBox_1{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

#mainCon .contents .flexConBox_2{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}

#mainCon .contents .flexConBox_3{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

#mainCon .contents .flexConBox_4{
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}


/* TOP layout
-----------------------------------------*/

#mainCon .home.contents .flex_top_link{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
}

#mainCon .home.contents .linklist{

}

/* Font layout
-----------------------------------------*/

/* table layout
-----------------------------------------*/
.tec_btn{
margin:0px 2px;
width:32.5%;
}
#company .hyolist01 #hyobox th{
width:100px;
padding:10px 5px;
}

}

@media print, screen and (min-width:1530px){
#mainCon .home.contents .sitecon .siteCompany .linklist{
grid-template-columns: repeat(5, 1fr);
}
}