@charset "utf-8";

/* =reset
------------------------------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,blockquote,th,td,header, section, article, footer, article, aside, time ,nav,a{
margin:0;
padding:0;
}

fieldset,img{
  border:0;
}
address,caption,cite,code,dfn,em,th,var{
font-style:normal;
font-weight:normal;
}
ol,ul{
list-style:none;
}
caption,th{
text-align:left;
}
h1,h2,h3,h4,h5,h6{
font-size:100%;
font-weight:normal;
}
q:before,q:after{
content:'';
}
abbr,acronym{
border:0;
}
p{
text-justify:inter-ideograph;
margin: 0;
}

header, section, article, footer, article, aside, time ,nav { display: block; }

ul{
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
-webkit-padding-start: 0;
}
figure {
display: block;
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
}

button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch; padding: 0;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
#cboxContent{margin-top:32px; overflow:visible; background:#fff;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{}
#cboxLoadingGraphic{background:url(../images/loading.gif) no-repeat center center;}
#cboxLoadingOverlay{background:#000;}
#cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
#cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:40px; height:20px; position:absolute; top:-30px; background:url(../images/controls4.png) no-repeat 0 0;}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

#cboxPrevious{background-position:0px 0px; right:44px;}
#cboxPrevious:hover{background-position:0px -25px;}
#cboxNext{background-position:-25px 0px; right:22px;}
#cboxNext:hover{background-position:-25px -25px;}
#cboxClose{ right:0;}
#cboxClose:hover{}
.cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious{right:66px;}
.cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
.cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}

/* =base
------------------------------------------------------------------------------------------*/
* { box-sizing: border-box; }
body { background: #fff; color: #000; counter-reset: number 0; /*font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;*/font-family: 'Noto Sans JP', 'Noto Sans JP IE', sans-serif; font-feature-settings : "palt"; font-size: 16px; line-height: 1.6em; overflow-x: hidden;}
img { vertical-align: bottom;}
a { color: #E61773; text-decoration: none; outline: none; }
a:hover { color: #E61773; text-decoration: none; opacity: .6;}
a:hover img { opacity: 0.8; filter: alpha(opacity=80); }
.section-wrap p:not(:last-of-type) { margin-bottom: 1em; }

  /* =ページトップ
------------------------------------------------------------------------------------------*/
.page_top { margin: 0; position: fixed; right: 100px; bottom: 50px; text-align: center; z-index: 10; }
.page_top a { background: rgba(255,255,255,.8); border: 1px solid #ccc; border-radius: 40px; color: #000; display: block; font-size: 11px; height: 80px; line-height: 80px; transition: all .2s; width: 80px; }

/* = sp nav
------------------------------------------------------------------------------------------*/
.sp-nav { display: none; }

/* = breadcrumb
------------------------------------------------------------------------------------------*/
.breadcrumb { margin: 30px auto ; max-width: 1000px; width: 92%; }
.breadcrumb li { color: #696969; display: inline; }
.breadcrumb li a { font-size: 14px; line-height: 1.2em; text-decoration: underline; }
.breadcrumb li:not(:last-child)::after { content: " > "; color: #696969; }

/* = parts
------------------------------------------------------------------------------------------*/
.pc-none { display: none; }
.sp-none { display: block; }

/* 横並びbox */
.clearfix::after,
.clearfix::before,
.float-box::after,
.float-box::before { content: ""; clear: both; display: block; }
.float-box { width: 102%; margin-bottom: -5%;}
.float-box .box01 { width: 98%; margin-bottom: 5%;}
.float-box .box02,
.float-box .box03,
.float-box .box04 { float: left; margin: 0 2% 5% 0; }
.float-box .box02 { width: 48%; }
.float-box .box03 { width: 31.3%; }
.float-box .box04 { width: 23%; }
.float-box .box01 img,
.float-box .box02 img,
.float-box .box03 img,
.float-box .box04 img { width: 100%; }
.table-box { display: table; width: 100%; }
.table-box .box02,
.table-box .box03,
.table-box .box04 { display: table-cell; vertical-align: middle; }
.table-box .box02 { width: 50%; }
.table-box .box03 { width: 33.3%; }
.table-box .box04 { width: 25%; }
.table-box .box02 img,
.table-box .box03 img,
.table-box .box04 img { width: 100%; }

/* font */
.moreless { font-size: .8em; line-height: 1.4em; }
.less { font-size: .9em; line-height: 1.4em; }
.mid { font-size: 1.1em; line-height: 1em; }
.big { font-size: 1.2em; line-height: 1em; }
.bigger { font-size: 1.3em; line-height: 1em; }
.biggest { font-size: 1.5em; line-height: 1em; }
.font-bold { font-weight: bold; }
.font-normal { font-weight: normal; }
.font-minchou { font-family: "ＭＳ 明朝",serif; font-weight: normal; }
.font-yu-minchou { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; font-weight: normal; }
.font-italic { font-style: italic; }
.copyright { font-size: 12px; line-height: 1.4em;}

/* textColor */
.text-red { color: #cc0000; }
.text-white { color: #fff; }
.text-black { color: #000; }
.sat { color: #0b5792; }
.sun { color: #a63646; }

/* textAlign */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

/* margin */
.mb-05vw { margin-bottom: .5vw !important; }
.mb-1vw { margin-bottom: 1vw !important; }
.mb-2vw { margin-bottom: 2vw !important; }
.mb-3vw { margin-bottom: 3vw !important; }
.mb-4vw { margin-bottom: 4vw !important; }
.mb-5vw { margin-bottom: 5vw !important; }
.mb-6vw { margin-bottom: 6vw !important; }
.mb-7vw { margin-bottom: 7vw !important; }
.mb-8vw { margin-bottom: 8vw !important; }
.mb-9vw { margin-bottom: 9vw !important; }
.mb-10vw { margin-bottom: 10vw !important; }
.mb-01em { margin-bottom: .1em !important; }
.mb-02em { margin-bottom: .2em !important; }
.mb-03em { margin-bottom: .3em !important; }
.mb-04em { margin-bottom: .4em !important; }
.mb-05em { margin-bottom: .5em !important; }
.mb-06em { margin-bottom: .6em !important; }
.mb-07em { margin-bottom: .7em !important; }
.mb-08em { margin-bottom: .8em !important; }
.mb-09em { margin-bottom: .9em !important; }
.mb-1em { margin-bottom: 1em !important; }
.mb-2em { margin-bottom: 2em !important; }

/* linkButtonBased */
.link-button a { box-sizing: border-box; text-decoration:none; display: block; border-radius: 100px; font-size: 22px; font-weight: bold; line-height: 1em; margin: 0 auto; padding: 1.5em .2em; position: relative; text-align: center; transition: .1s; width: 100%; max-width: 550px;}
.link-button a:hover { text-decoration: none; opacity: .8;}
.link-button a:active { box-shadow: none; }

/* linkButtonColor */
.link-button a { background: #e97611; color: #fff; }

/* 16:9 wrap(youteubeとか) */
.video-outer-wrap { margin: 0 auto; width: 100%; max-width: 550px;}
.video-wrap { overflow: hidden; padding-bottom: 56.25%; position: relative; height: 0px; width: 100%; }
.video-wrap iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }

/* periodBox */
.period-box { background: #f8f8f8; border: 1px solid #cc0000; box-sizing: border-box; color: #cc0000; font-size: 26px; font-weight: bold; line-height: 1.4em; margin: 0 auto 20px; padding: 25px 0; text-align: center; width: 80%; }

/* bottomLineBased */
.solid-line { border-bottom: 1px solid #000; }
.dotted-line { border-bottom: 1px dotted #000; }
.dashed-line { border-bottom: 1px dashed #000; }

/* bottomLinePadding */
.solid-line,
.dotted-line,
.dashed-line { padding-bottom: 16px; }

/* textList(div等で囲む) */
p.text-list,
.text-list ul li { padding: 0 0 0 1.1em; position: relative; }
p:not(:last-of-type).text-list { margin-bottom: 1em; }
.text-list ul li:not(:last-of-type) { margin-bottom: .2em; }
p.text-list::before,
.text-list ul li::before { content: "※"; position: absolute; left: 0; }
p.text-list-dotted::before,
.text-list-dotted ul li::before { content: "・"; }
p.text-list-circle::before,
.text-list-circle ul li::before { content: "●"; }
p.text-list-square::before,
.text-list-square ul li::before { content: "■"; }
p.text-list-counter,
.text-list-counter{ counter-reset: number 0;}
p.text-list-counter,
.text-list-counter ul li { padding-left: 2.1em; }
p.text-list-counter::before,
.text-list-counter ul li::before { counter-increment: number 1; content: "" counter(number) ""; }

/* linkOff */
.link-off a { background: #ccc!important; border: none!important; box-shadow: none!important; pointer-events: none!important; text-shadow: none!important;}
.link-off a::before,
.link-off a::after { display: none!important; }

/* smartphone
------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
  /* =base
  ------------------------------------------------------------------------------------------*/
  body { font-size: 14px; line-height: 1.6em; }

  /* =pagetop
  ------------------------------------------------------------------------------------------*/
  .page_top{ display: none; }

  /* = sp nav
  ------------------------------------------------------------------------------------------*/
  .sp-nav { display: block; }
  #toggle { background: #fff; position: fixed; top: 0; right: 0; height: 45px; width: 45px; transition: .2s; z-index: 101; }
  #toggle .button { background: #000; height: 4px; position: absolute; top: calc(50% - 2px); left: 20%; transition: .3s; width: 60%; }
  #toggle .button::before,
  #toggle .button::after { background: #000; content: ""; display: block; height: 4px; position: absolute; top: 50%; left: 0; transition: .3s; width: 100%; }
  #toggle .button::before { margin-top: -12px; }
  #toggle .button::after { margin-top: 8px; }
  #toggle .close { background: transparent; top: calc(50% - 4px); }
  #toggle .close::before,
  #toggle .close::after{ margin-top: 0; }
  #toggle .close::before{ transform: rotate(-45deg); }
  #toggle .close::after{ transform: rotate(-135deg); }
  #menu { opacity: 0; transition: .3s; display: none;}
  #menu.open { display: block !important; opacity: 1; transition: .1s; }
  .nav-menu { background: rgba(0,0,0,.8); height: 100%; height: 100vh; position: fixed; top: 0; transition: .3s; width: 100%; width: 100vw; z-index: 100; }
  .nav-menu li:first-child { border-bottom: 1px solid #666; height: 45px; }
  .nav-menu li a { border-bottom: 1px solid #666; color: #fff; display: inherit; font-size: 14px; line-height: 1em; padding: 14px 0; width: 100%; text-align: center; font-family: "Jost", "Noto Sans JP", serif; font-weight: bold;}

  /* = parts
  ------------------------------------------------------------------------------------------*/
  .pc-none { display: block; }
  .sp-none { display: none; }

  /* 横並びbox */
  .float-box,
  .float-box .box01,
  .float-box .box02,
  .float-box .box03 { width: 100%;}
  .float-box .box02,
  .float-box .box03 { float: none; margin: 0 0 5% 0; }
  .float-box .box04 { width: 48%; }
  .table-box .box02,
  .table-box .box03 { display: block; width: 100%; }
  .table-box .box04 { width: 50%; }

  /* textAlign */
  .sp-text-left { text-align: left; }
  .sp-text-right { text-align: right; }
  .sp-text-center { text-align: center; }

  /* margin */
  .sp-mb-05vw { margin-bottom: .5vw !important; }
  .sp-mb-1vw { margin-bottom: 1vw !important; }
  .sp-mb-2vw { margin-bottom: 2vw !important; }
  .sp-mb-3vw { margin-bottom: 3vw !important; }
  .sp-mb-4vw { margin-bottom: 4vw !important; }
  .sp-mb-5vw { margin-bottom: 5vw !important; }
  .sp-mb-6vw { margin-bottom: 6vw !important; }
  .sp-mb-7vw { margin-bottom: 7vw !important; }
  .sp-mb-8vw { margin-bottom: 8vw !important; }
  .sp-mb-9vw { margin-bottom: 9vw !important; }
  .sp-mb-10vw { margin-bottom: 10vw !important; }

  /* linkButton */
  .link-button a { font-size: 16px; width: 100%;}

  /* 16:9 wrap(youteubeとか) */
  .video-outer-wrap { width: 92%; }

  /* periodBox */
  .period-box { font-size: 18px; line-height: 1.2em; margin-bottom: 4vw; padding: .6em 0; width: 90%; }
}
/* css add*/

/* scroll-hint CSS */
.scroll-hint-icon{height: 85px;}
.scroll-hint-text{margin-top: 0!important; }


/* = FixedBg
------------------------------------------------------------------------------------------*/
/*body::before {content:""; display:block; position:fixed; top:0; left:0; z-index:-1; width:100%; height:100vh; background:url(../images/page_background.jpg) center top no-repeat #fff;  background-size:cover; }*/

/* = parts
------------------------------------------------------------------------------------------*/
.flex-box{ display: flex; flex-wrap: wrap; width: 100%; gap: 20px 2%;}
.flex-box .box01 { width: 100%;}
.flex-box .box02 { width: 49%;}
.flex-box .box03 { width: 32%;}
.flex-box .box04 { width: 23.5%;}
.text-link{text-decoration: underline;}
.text-link:hover{text-decoration: none;}
.big-text{font-size: 26px; line-height: 1.4em;}
.mid-text{font-size: 20px; line-height: 1.4em;}
.min-text{font-size: 14px; line-height: 1.4em;}
.marker-text{ background: linear-gradient(transparent 50%, #fffc00 0%);}
.indent-text{padding-left: 1.1em; text-indent: -1.1em; display: inline-block;}
.block-content{box-sizing: border-box; padding: 25px 30px; color: #000;}
.block-content.color-white{ background-color: #fff; border: 1px solid #000;}
.block-content.color-case{ background-color: #fff;}
.block-content.color-note{ background-color: #f0f0f0;}
.block-content.color-caution{background-color: #ffe3e4;}
.period-txt{font-size: 20px; line-height: 1.4em; text-align: center; font-weight: bold; margin-bottom: .6em; color: #fff; position: relative;}
.in-b{display: inline-block; white-space: pre-wrap;}
@media screen and (max-width: 768px) {
.flex-box{ gap: 15px 2%;}
.flex-box .box02,
.flex-box .box03 { width: 100%;}
.flex-box .box04 { width: 49%;}
.big-text{font-size: 22px;}
.mid-text{font-size: 16px;}
.min-text{font-size: 12px;}
.block-content{ padding: 20px 20px;}
.period-txt{font-size: 16px;}
}

/* = wrap
------------------------------------------------------------------------------------------*/
.main-wrap {display: block; width: 100%; overflow-x: hidden;}
.main-wrap img{width: 100%; width: 100%; max-width: 100%; height: auto;}
.wrap-1200px {max-width: 1200px; width: 92%; margin: 0 auto;}
.bg-color{position: relative; padding: 300px 0 250px;}
.bg-01{background-color: #FFFAF2; padding-top: 280px;}
.bg-02{background-color: #FFF3FC;}
.bg-03{background-color: #EEFFF4;}
.bg-04{background-color: #F0FBFF; padding-bottom: 100px;}
.bg-01::before,
.bg-02::before,
.bg-03::before,
.bg-04::before{position: absolute; content: ""; width: 1920px; left: 50%; transform: translate3d(-50%,0,0); background-size: contain; background-repeat: no-repeat; top: -130px;}
.bg-01::before{ background-image: url(../images/bg_yellow.png); height: 208px; top:0;}
.bg-02::before{ background-image: url(../images/bg_pink.png); height: 414px;}
.bg-03::before{ background-image: url(../images/bg_green.png); height: 414px;}
.bg-04::before{ background-image: url(../images/bg_blue.png); height: 414px;}
.bg-other{background-image: url(../images/bg.jpg); background-size: auto; background-repeat: repeat-y; background-position: top center; padding: 0 0 70px 0;}
.section-wrap:not(:last-of-type){margin-bottom: 130px;}
.content-wrap:not(:last-of-type){margin-bottom: 70px;}
.min-content-wrap:not(:last-of-type){margin-bottom: 45px;}
@media screen and (max-width: 768px) {
.bg-color{ padding: 10vw 0 37vw;}
.bg-01{ padding-top: 21vw;}
.bg-04{ padding-bottom: 50px;}
.bg-01::before,
.bg-02::before,
.bg-03::before,
.bg-04::before{ width: 100vw; top: -21vw;}
.bg-01::before{ width: 100vw; height: 11vw; top: 0;}
.bg-02::before{ width: 100vw; height: 21.7vw;}
.bg-03::before{ width: 100vw; height: 21.7vw;}
.bg-04::before{ width: 100vw; height: 21.7vw;}
.bg-other{ padding: 0 0 50px 0;}
.section-wrap:not(:last-of-type){margin-bottom: 80px;}
.content-wrap:not(:last-of-type){margin-bottom: 40px;}
.min-content-wrap:not(:last-of-type){margin-bottom: 25px;}
}

header img,
footer img{ width: 100%; max-width: 100%; height: auto;}

/* =CG_header
------------------------------------------------------------------------------------------*/
header.cg { background: #fff; display: table; position: relative; top: 0; width: 100%; z-index: 1; }
header.cg .header-wrap { display: table; margin: 0 auto; padding: 1em 1em .8em; width: 100%; }
header.cg h1 { color: #fff; width: 160px;}
header.cg h1 a{display: block;}
header.cg h1 a img{width: 100%;}
@media screen and (max-width: 768px) {
header .header-wrap { padding: .4em .6em .4em; }
header h1 {margin: .5em auto .5em 0;}
}

/* =SSO_header
------------------------------------------------------------------------------------------*/
header.sso { background: url(../images/main_background.jpg) center top no-repeat #fff; width: 100%; position: relative; padding-top: 30.1%; background-size: contain;}
header.sso .main-block{position: absolute; display: flex; flex-wrap: wrap; width: 50vw; max-width: 960px; right: 0; top: 50%; transform: translate3d(0,-50%,0);}
header.sso h1 { text-align: center; font-weight: 900; line-height: 1.5em; order: 2; max-width:960px; font-size: min(42px,2.1vw); margin: 0 auto; }
header.sso .logo{max-width: 650px; order: 1; margin: 0 auto 4%; width: 34vw;}
header.sso img { width: 100%; }
@media screen and (max-width: 768px) {
header.sso { background: url(../images/main_background_sp.jpg) center top no-repeat #fff; padding: 0 0 115%; background-size: contain;}
header.sso .main-block{ top: initial; transform: translate3d(-50%, 0, 0); left: 50%; bottom: 5%; width: 90%;}
header.sso h1 { font-size: min(42px, 4.2vw); width: 100%; }
header.sso .logo{ width: 64%;}
}

/* =EPLUS_header
------------------------------------------------------------------------------------------*/
header.eplus { background: #e95098; display: table; position: relative; top: 0; width: 100%; z-index: 1; }
header.eplus .header-wrap { display: table; margin: 0 auto; padding: 15px 20px; width: 100%; }
header.eplus .left { display: table-cell; line-height: 1em; vertical-align: middle; width: 16%; }
header.eplus .right { display: table-cell; margin: .5em 0; vertical-align: middle; width: 84%; }
header.eplus h1 { color: #fff; font-size: 10px; line-height: 1em; text-align: right; }
header.eplus .logo-eplus { width: 100px; height: 21px;}
header.eplus .logo-eplus img { width: 100%; }
@media screen and (max-width: 768px) {
header.eplus { border-top: solid 2px #e95098; }
header.eplus .header-wrap { padding: 8px 8px 10px; }
header.eplus .left,
header.eplus .right { display: block; width: 100%; }
header.eplus .left { margin-bottom: 10px; }
header.eplus .right { margin: 0; }
header.eplus h1 { text-align: left; line-height: 1.2em;}
header.eplus .logo-eplus { width: 60px; height: 12px;}
}

/* =CG_footer
-----------------------------------------------------------------------------------------*/
footer.cg { background: #e97611; color: #fff; margin: 0 auto; padding: 50px 0; text-align: center; width: 100%; }
footer.cg p { font-size: 12px; margin-bottom: .6em; }
footer.cg img { width: 41px; }
@media screen and (max-width: 768px) {
footer.cg { padding: 30px 0; }
}

/* =SSO_footer
-----------------------------------------------------------------------------------------*/
footer.sso { background: #fff; color: #000; margin: 0 auto; padding: 50px 0; text-align: center; width: 100%; }
footer.sso p { font-size: 12px; margin-bottom: .6em; }
footer.sso img { width: 41px; }
@media screen and (max-width: 768px) {
footer.sso { padding: 30px 0; }
}

/* =EPLUS_footer
-----------------------------------------------------------------------------------------*/
footer.eplus { background: #e95098; color: #fff; margin: 0 auto; padding: 50px 0; text-align: center; width: 100%; }
footer.eplus p { font-size: 12px; margin-bottom: .6em; }
footer.eplus img { width: 41px; }
@media screen and (max-width: 768px) {
footer.eplus { padding: 30px 0; }
}
/* = fixedButton
------------------------------------------------------------------------------------------*/
.bottomfix {position: fixed; bottom: 0; width: 100%; background-color: rgba(0, 0, 0, .7); z-index: 99; padding: 50px 0; box-sizing: border-box; transition-duration: .3s; opacity: 0; pointer-events: none;}
.bottomfix.active{opacity: 1; pointer-events: initial;}
.bottomfix .fixed-button a {background-color: #E61773; border: 5px solid #fff; color: #fff; font-weight: 900; text-shadow: 0px 3px 6px rgba(0, 0, 0, .7); border-radius: 15px; max-width: 750px; font-size: 26px; padding: 1.2em .2em; width: 92%;}
@media screen and (max-width: 768px){
.bottomfix { padding: 30px 0;}
.bottomfix .fixed-button a { border: 3px solid #fff; text-shadow: 0px 2px 5px rgba(0, 0, 0, .7); border-radius: 10px; font-size: 20px;}
}

/* = heading
------------------------------------------------------------------------------------------*/
.h-wrap{margin-bottom: 70px;}
.h-wrap.sub{margin-bottom: 50px;}
.sec-h{text-align: center; font-weight: bold; margin-bottom: .2em; line-height: 1em; font-size: 80px;font-family: "Jost", "Noto Sans JP", serif;}
.sub-txt{font-size: 34px; text-align: center; font-weight: bold; line-height: 1.4em;}
.note-txt{ text-align: center; margin-top: 1.5em;}
.note-txt li{padding-left: 1.1em; text-indent: -1.1em;}
.note-h{ background: #172988; color: #fff; font-size: 20px; font-weight: bold; line-height: 1em; margin-bottom: 1em; padding: .7em .8em .8em; width: 100%;}
.con-h{text-align: center;font-weight: bold;font-size: 32px; line-height: 1.4em; color: #fff;}
.con-h .inner{position: relative; background-color: #F59C00; display: inline-block; box-sizing: border-box; padding: .8em .7em;}
.con-h .inner::before,
.con-h .inner::after{position: absolute; content: ""; background-size: contain; height: 100%;background-repeat: no-repeat; background-image: url(../images/h_triangle.svg); top: 50%; transform: translate3d(0,-50%,0);aspect-ratio: 39 / 110;}
.con-h .inner::before{left: -34px;}
.con-h .inner::after{transform: scale(-1, 1)translate3d(0,-50%,0); right: -34px;}
@media screen and (max-width: 768px){
.h-wrap{margin-bottom: 40px;}
.h-wrap.sub{margin-bottom: 25px;}
.sec-h{ font-size: 42px;}
.sub-txt{font-size: 20px;}
.note-txt{ text-align: left;}
.note-h{ font-size: 16px;}
.con-h{font-size: 18px;}
.con-h .inner{}
.con-h .inner::before,
.con-h .inner::after{}
.con-h .inner::before{left: -18px;}
.con-h .inner::after{ right: -18px;}
}

/* = mainImage
------------------------------------------------------------------------------------------*/
#main-img {/*  background: url(../images/main_background.jpg) center top no-repeat #fff; width: 100%; position: relative; padding-top: 30.1%; background-size: contain; */}
#main-img .main-block{position: absolute; display: flex; flex-wrap: wrap; width: 50vw; max-width: 960px; right: 0; top: 50%; transform: translate3d(0,-50%,0);}
/* #main-img h2 { text-align: center; font-weight: 900; line-height: 1.5em; order: 2; max-width:960px; font-size: min(42px,2.1vw); margin: 0 auto; } */
#main-img h2 { max-width:1200px; margin: 0 auto; }
#main-img .logo{max-width: 650px; order: 1; margin: 0 auto 2%; width: 34vw;}
#main-img img { width: 100%; width: 100%; max-width: 100%; height: auto; }
#main-img .inv-txt{display: inline-block; margin: .3em auto 0;box-shadow: 3px 4px 0px 0px #000;
background: rgb(240,85,151);
background: linear-gradient(90deg, rgba(240,85,151,1) 0%, rgba(243,139,24,1) 32%, rgba(153,201,57,1) 64%, rgba(69,177,223,1) 100%);
}
#main-img .txt-in{display: inline-block; box-sizing: border-box; text-align: center; transform: skewX(-10deg); color: #fff;padding: 0.2em 1em;}
@media screen and (max-width: 768px) {
/* #main-img { background: url(../images/main_background_sp.jpg) center top no-repeat #fff; padding: 0 0 115%; background-size: contain;} */
#main-img .main-block{ top: initial; transform: translate3d(-50%, 0, 0); left: 50%; bottom: 5%; width: 90%;}
/* #main-img h2 { font-size: min(42px, 4.2vw); width: 100%; } */
#main-img .logo{ width: 64%;}
}

/* = schedule
------------------------------------------------------------------------------------------*/
#schedule .co{color: #F59C00;}
#schedule .sche-table{border-collapse: collapse; width: 100%;box-sizing: border-box;}
#schedule .sche-table th,
#schedule .sche-table td{ text-align: center;padding: 2em 0.3em; box-sizing: border-box;}
#schedule .sche-table th{font-weight: bold; border-bottom: 2px solid #000; }
#schedule .sche-table td{ border-bottom: 1px dashed #000;}
#schedule .sche-table .vs{width: 12%;}
#schedule .sche-table .place{width: 20%;}
#schedule .sche-table .date{width: 22%;}
#schedule .sche-table .period{width: 46%;}
#schedule .sche-table .rank-list{display: flex; flex-wrap: wrap; width: 100%;}
#schedule .sche-table .rank-list:not(:last-of-type){margin-bottom: .8em;}
#schedule .sche-table .rank-list dt{color: #fff; text-align: center; box-sizing: border-box; padding: .4em 1em; font-size: 14px; line-height: 1.4em; width: 240px; margin:0 2% 0 0;}
#schedule .sche-table .rank-list.gsgld dt{background-color: #7C6207;}
#schedule .sche-table .rank-list.slvkds dt{background-color: #464646;}
#schedule .sche-table .rank-list.sso dt{background-color: #664306;}
#schedule .sche-table .rank-list.ippan dt{background-color: #000;}
#schedule .sche-table .rank-list dd{width: calc(100% - 240px - 2%); text-align: left;}
#schedule .detail-list{border-bottom: 1px dashed #000; display: flex; flex-wrap: wrap; gap: 7px 4%; margin-bottom: 1em; padding-bottom: 1em; width: 100%;}
#schedule .detail-list dt,
#schedule .detail-list dd{font-size: 18px;line-height: 1.6em;}
#schedule .detail-list dt{font-weight: bold; width: 14%;}
#schedule .detail-list dd{width: 82%;}
@media screen and (max-width: 768px) {
#schedule .sp-scroll{ margin: 0 -4% 0 -4%;}
#schedule .sche-table{width: 750px; margin: 0 4% 0 4%;}
#schedule .sche-table th,
#schedule .sche-table td{ padding: 1em 0.3em;}
#schedule .sche-table .rank-list dt{ width: 100%; margin:0 0 .4em 0;}
#schedule .sche-table .rank-list dd{width: 100%; text-align: center;}
#schedule .detail-list dt,
#schedule .detail-list dd{font-size: 16px;}
#schedule .detail-list dt{width: 100%;}
#schedule .detail-list dd{width: 100%;}
}

/* = event
------------------------------------------------------------------------------------------*/
#event .event-box{display: flex; flex-wrap: wrap; width: 100%; background: #fff; box-sizing: border-box; padding: 35px 45px;}
#event .event-box .event-l{width: 54%; margin:0 4% 0 0; }
#event .event-box .event-r{width: 42%;}
#event .event-detail{color: #F59C00; font-size: 22px; font-weight: bold; line-height: 1.4em;border-bottom: 3px solid #F59C00; padding-bottom: .5em; margin-bottom: .7em;}
@media screen and (max-width: 768px) {
#event .event-box{ padding: 25px 20px;}
#event .event-box .event-l{width: 100%; margin:0 0 20px 0; }
#event .event-box .event-r{width: 100%;}
#event .event-detail{font-size: 18px;border-bottom: 2px solid #F59C00;}
}

/* = price
------------------------------------------------------------------------------------------*/
#price .co{color: #E61773;}
#price .list-tab{margin-bottom: 70px;}
#price .list-tab ul{display: flex;width: 100%; max-width: 1000px; flex-wrap: wrap; margin:0 auto; }
#price .list-tab .tab-button{cursor: pointer; width: 48%; color: #fff; font-weight: bold; padding: 0.8em 0.2em; text-align: center; font-size: 24px; line-height: 1em; transition-duration: .2s; box-sizing: border-box; margin:0 4% 0 0; background-color: #505050;}
#price .list-tab .tab-button:nth-of-type(2){margin:0 0 0 0; }
#price .list-tab .tab-button.current,
#price .list-tab .tab-button:hover{background-color: #E61773;}
#price .list-tab .tab-button.link-off{pointer-events: none; cursor: initial;}
#price .tab-wrap{display: none; opacity: 0;}
#price .tab-wrap.is-show{display: block!important; opacity: 1;animation-duration: 0.3s; animation-name: fade-in; -moz-animation-duration: 0.3s; -moz-animation-name: fade-in; -webkit-animation-duration: 0.3s; -webkit-animation-name: fade-in;}
@keyframes fade-in {0% {display: none; opacity: 0; } 1% {display: block; opacity: 0; } 100% {display: block; opacity: 1; } } @-moz-keyframes fade-in {0% {display: none; opacity: 0; } 1% {display: block; opacity: 0; } 100% {display: block; opacity: 1; } } @-webkit-keyframes fade-in {0% {display: none; opacity: 0; } 1% {display: block; opacity: 0; } 100% {display: block; opacity: 1; } }
#price .seatmap{ max-width: 1000px; margin:0 auto 40px; }
#price .seatmap-detail{text-align: center; margin-bottom: 40px;}
#price .price-table{width: 100%; border-collapse: collapse; margin-bottom: 10px;}
#price .price-table th,
#price .price-table td{ box-sizing: border-box; border:1px solid #000; }
#price .price-table th{background-color: #848484; color: #fff; font-weight: bold; text-align: center; padding: 1.6em .4em;}
#price .price-table td{background-color: #fff; text-align: center; padding: 1em .4em;}
#price .price-table .seat-name{text-align: center;}
#price .price-table.table-02 .seat-h{width: 50%;}
#price .price-table.table-02 .price-h{width: 50%;}
#price .price-table.table-05 .seat-h{width: 20%;}
#price .price-table.table-05 .price-h{width: 20%;}
#price .price-table.table-07 .seat-h{width: 14.285%;}
#price .price-table.table-07 .price-h{width: 14.285%;}
#price .price-table.table-09 .seat-h{width: 11.111%;}
#price .price-table.table-09 .price-h{width: 11.111%;}
@media screen and (max-width: 768px) {
#price .list-tab{margin-bottom: 40px;}
#price .list-tab ul{ margin:0 auto -20px; }
#price .list-tab .tab-button{ width: 100%; font-size: 18px; margin:0 0 20px 0;}
#price .list-tab .tab-button:nth-of-type(2){margin:0 0 20px 0; }
#price .price-table th{ padding: 1.2em .4em;}
#price .seatmap{ margin:0 auto 20px; }
#price .seatmap-detail{ margin-bottom: 20px;}
#price .sp-scroll{  margin: 0 -4% 0 -4%;}
/* #price .price-table{width: 1000px;  margin: 0 4% 7px 4%;} */
}

/* = seat
------------------------------------------------------------------------------------------*/
#seat .co{color: #23AB39;}
#seat .ph-list{display: flex; flex-wrap: wrap; width: 100%; margin-bottom: -25px;}
#seat .ph-list li{position: relative; width: 48%;  margin: 0 4% 25px 0;}
#seat .ph-list li:nth-of-type(2n){ margin: 0 0 25px 0;}
#seat .ph-list li .txt-block{position: absolute; bottom: 0; left: 0; box-sizing: border-box; width: 100%; padding: 8px 10px; background: rgba(0, 0, 0, 0.4); color: #fff;}
#seat .ph-list li .comment{}
#seat .ph-list li .name-price{}
#seat .ph-list li .name-price dt{font-weight: bold; font-size: 18px; line-height: 1.4em; margin-bottom: .2em;}
#seat .ph-list li .name-price dd{text-align: right;}
#seat .ph-list li img { aspect-ratio: 750 / 500; object-fit: contain; background-color: rgba(0, 0, 0, 0.4);}
@media screen and (max-width: 768px) {
#seat .ph-list{ margin-bottom: -20px;}
#seat .ph-list li{ width: 100%;  margin: 0 0 20px 0;}
#seat .ph-list li:nth-of-type(2n){ margin: 0 0 20px 0;}
#seat .ph-list li .name-price dt{font-size: 16px;}
}

/* = step
------------------------------------------------------------------------------------------*/
#step .co{color: #2DA7E0;}
#step{ counter-reset: number 0;}
#step .step-content-wrap{position: relative;}
#step .step-content-wrap:not(:last-of-type){margin-bottom: 60px;}
#step .step-content-wrap:not(:last-of-type)::before{position: absolute; content: ""; border-left: 5px dotted #4A4A4A; left: 42px; height: calc(100% + 60px); z-index: 0;}
#step .step-inner:not(:last-of-type){margin-bottom: 50px;}
#step .step-min-content:not(:last-of-type){margin-bottom: 35px;}
#step .heading-box {display: flex; margin-bottom: 50px; flex-wrap: wrap; align-items: center; box-sizing: border-box; background-color: #2DA7E0;}
#step .heading-box .h-beforebox { text-align: center; background-color: #172988; color: #fff; width: 90px; padding: 20px 0px 16px; position: relative;}
#step .heading-box .h-beforebox::before {background-image: url(../images/triangle.svg);width:40px; height:100%; position: absolute; content: "";right: -40px; top: 50%; transform: translate3d(0,-50%,0); background-repeat: no-repeat; background-size: contain;}
#step .heading-box .before-text {position: relative; color: #fff; font-size: 20px; line-height: 1.4em; display: inline-block; font-weight: bold;font-family: "Jost", "Noto Sans JP", serif;}
#step .heading-box .before-text .num::before{counter-increment: number 1; content: "" counter(number) ""; font-size: 50px; line-height: 1em; font-weight: bold;}
#step .heading-box h3 {width: calc(100% - 90px); font-weight: bold; font-size: 26px; line-height: 1.4em; padding:0 1em 0 2em; box-sizing: border-box; color: #fff;}
#step .inner-wrap {padding-left: 110px; }
#step .in-inner {padding: 0 30px; box-sizing: border-box;}
#step .icon-txt{position: relative; padding-left: 150px;}
#step .icon-txt::before{position: absolute; content: ""; top: 0; left: 0; background-repeat: no-repeat; background-size: contain;}
#step .icon-send::before{background-image: url(../images/icon_sendmail.png); width: 116px; height: 67px;}
#step .icon-catch::before{background-image: url(../images/icon_catchmail.png); width: 66px; height: 69px; left: 30px;}
#step .in-h{color: #fff; font-size: 20px; background-color: #172988; line-height: 1.4em; font-weight: bold; padding: 1em 2em; box-sizing: border-box; margin-bottom: 30px;}
#step .card-list{background: #fff; box-sizing: border-box; display: flex; flex-wrap: wrap; width: 100%; justify-content: center; padding:13px 10px; align-items: center; border: 1px solid #000; margin-bottom: -10px;}
#step .card-list li{margin: 0 5px 10px;}
#step .pay-step{display: flex; width: 100%; flex-wrap: wrap;}
#step .pay-step li{width: 28%; position: relative;}
#step .pay-step li:not(:last-of-type){margin-right: 8%;}
#step .pay-step li:not(:last-of-type)::before,
#step .pay-step li:not(:last-of-type)::after{content: ""; position: absolute;}
#step .pay-step li:not(:last-of-type)::before{width:0; height:0; border-style:solid; border-width: 10px 0 10px 20px; border-color: transparent transparent transparent #2DA7E0; right: -20%; top: 50%; transform: translate3d(0,-50%,0);}
#step .pay-txt{position: relative; font-size: 14px; line-height: 1.6em; padding-top: 100px;}
#step .pay-txt::before{position: absolute; content: ""; top: 0; left: 50%; transform: translate3d(-50%,0,0); background-repeat: no-repeat; background-size: contain;}
#step .icon-pay01::before{background-image: url(../images/icon_store_01.png); width: 162px; height: 54px;}
#step .icon-pay02::before{background-image: url(../images/icon_store_02.png); width: 91px; height: 76px;}
#step .icon-pay03::before{background-image: url(../images/icon_store_03.png); width: 101px; height: 73px;}
#step .case-h{font-size: 18px; line-height: 1.4em; font-weight: bold; margin-bottom: 1.2em; padding-left: 1.1em; position: relative;}
#step .case-h::before {position: absolute; content: "●"; font-size: 12px; left: 0; }
#step .case-list{counter-reset: number 0; margin-bottom: 25px;}
#step .case-list li{position: relative; padding-left: 50px;}
#step .case-list li:not(:last-of-type){margin-bottom: 1.5em;}
#step .case-list li::before,
#step .case-list li::after{content: ""; position: absolute; }
#step .case-list li::before{left: 0; display: inline-block; background-color: #2DA7E0; width: 34px; height: 34px; top: 0;}
#step .case-list li::after{counter-increment: number 1; content: "" counter(number) ""; color: #fff; top: 5px; left: 12px; font-size: 18px; font-weight: bold;}
#step .flow{ background-color: #E8E8E8; display: flex; flex-wrap: wrap; width: 100%; box-sizing: border-box; padding: 0 20px; }
#step .flow li{position: relative; font-size: 14px; line-height: 1.4em; z-index: 1; box-sizing: border-box; padding: 20px 0; padding-right: 2%;}
#step .flow li.box02{width: 48%; margin-right: 4%;}
#step .flow li.box02:nth-of-type(2n){margin-right: 0;}
#step .flow li.box05{width: 18%; margin-right: 2.5%;}
#step .flow li.box05:nth-of-type(5n){margin-right: 0;}
#step .flow li:not(:first-of-type){padding-right: 0; padding-left: 1.5%;}
#step .flow li:not(:first-of-type)::before{position: absolute; content: ""; background-image: url(../images/box_arrow.png); background-size: contain; background-repeat: no-repeat; height: 100%;width: 100%; top: 50%; transform: translate3d(0,-50%,0); z-index: -1;}
#step .flow li.box02:not(:first-of-type)::before{left: -12%;}
#step .flow li.box05:not(:first-of-type)::before{left: -21%;}
#step .howto-h{ font-size: 20px; line-height: 1em; margin-bottom: 1.2em; font-weight: bold; text-align: center; color: #000;}
#step .h-in{display: inline-block; background: #fef5eb; padding: 10px 20px 13px;}
#step .icon-qr::before{background-image: url(../images/icon_qr.png); width: 115px; height: 120px;}
#step .icon-paper::before{background-image: url(../images/icon_paper.png); width: 112px; height: 120px;}
#step .icon-txt{position: relative; padding-left: 150px;}
#step .icon-txt::before{position: absolute; content: ""; top: 0; left: 0; background-repeat: no-repeat; background-size: contain;}
#step .icon-exclamation{padding-left: 90px;}
#step .icon-exclamation::before{background-image: url(../images/icon_exclamation.png); width: 67px; height: 67px; top: 50%; transform: translate3d(0,-50%,0);}
@media screen and (max-width: 768px) {
#step .step-content-wrap:not(:last-of-type){margin-bottom: 30px;}
#step .step-content-wrap:not(:last-of-type)::before{content: none;}
#step .step-inner:not(:last-of-type){margin-bottom: 40px;}
#step .step-min-content:not(:last-of-type){margin-bottom: 30px;}
#step .heading-box {margin-bottom: 30px;}
#step .heading-box .h-beforebox { width: 100%; padding: 10px 0px 10px; }
#step .heading-box .h-beforebox::before{background-image: url(../images/triangle_sp.svg); width: 40px; height: 11px; left: 50%; right: initial; top: initial; bottom: -10px; transform: translate3d(-50%, 0, 0);}
#step .heading-box .before-text {font-size: 18px;}
#step .heading-box .before-text .num::before{font-size: 24px;}
#step .heading-box h3 {width: 100%; font-size: 20px; padding: 1.4em .4em 1em .4em; text-align: center;}
#step .inner-wrap {padding-left: 0; }
#step .in-inner {padding: 0;}
#step .icon-txt{position: relative; padding: 90px 0 0 0;}
#step .icon-txt::before{ top: 0; left: 50%; transform: translate3d(-50%,0,0);}
#step .in-h{font-size: 16px; margin-bottom: 20px;}
#step .card-list{ padding:20px 15px;}
#step .pay-step li{width: 100%;}
#step .pay-step li:not(:last-of-type){margin:0 0 70px 0;}
#step .pay-step li:not(:last-of-type)::before{ top: inherit; transform: translate3d(50%,0%,0) rotate(90deg); right: 50%; bottom: -45px;}
#step .pay-step li:not(:last-of-type)::after{transform: translate3d(50%,0%,0) rotate(135deg); top: inherit; right: 50%; bottom: -35px;}
#step .case-h{font-size: 15px;}
#step .case-list{margin-bottom: 20px;}
#step .flow{padding: 0 15px; }
#step .flow li{padding-right: 0%;}
#step .flow li.box02{width: 100%; margin-right: 0;}
#step .flow li.box02:nth-of-type(2n){margin-right: 0;}
#step .flow li.box05{width: 100%; margin-right: 0;}
#step .flow li.box05:nth-of-type(5n){margin-right: 0;}
#step .flow li:not(:first-of-type){ padding-left: 0;}
#step .flow li:not(:first-of-type)::before{background-image: none; height: 1px; top: 0; left: 50%; transform: translate3d(-50%,0,0); z-index: -1; background-color: #ccc;}
#step .flow li.box02:not(:first-of-type)::before{left: 50%;}
#step .flow li.box05:not(:first-of-type)::before{left: 50%;}
#step .howto-h{ font-size: 16px;}
#step .h-in{ padding: 10px 15px 13px;}
#step .icon-qr::before{ width: 67px; height: 70px;}
#step .icon-paper::before{width: 65px; height: 70px;}
#step .icon-txt{position: relative; padding: 90px 0 0 0;}
#step .icon-txt::before{ top: 0; left: 50%; transform: translate3d(-50%,0,0);}
#step .icon-exclamation{padding: 90px 0 0 0;}
}

/* = other
------------------------------------------------------------------------------------------*/
#other .bottom-button{position: relative; padding: 70px 0; box-sizing: border-box;}
#other .bottom-button::before{position: absolute; content: ""; height: 100%; width: 100vw; background-color: rgba(0, 0, 0, .7); left: 50%; top: 50%; transform: translate3d(-50%,-50%,0);}
#other .bottom-button .link-button a{background-color: #E61773; border: 5px solid #fff; color: #fff; font-weight: 900; text-shadow: 0px 3px 6px rgba(0, 0, 0, .7); border-radius: 15px; max-width: 750px; font-size: 32px; padding: 1.2em .2em;}
#other .link-box{display: flex; flex-wrap: wrap; width: 100%; margin:0 0 -35px 0; }
#other .link-box .link-02{width: 48%; margin:0 4% 35px 0; }
#other .link-box .link-02:nth-of-type(2n){margin:0 0 35px 0; }
#other .link-box .link-02 a{display: block; width: 100%; height: 100%;box-shadow: 3px 3px 6px 0px rgba(0,0,0,0.4); position: relative;transition: .3s;}
#other .link-box .link-02 a:hover{ opacity: .8; box-shadow: 0px 0px 0px rgba(0, 0, 0, 0); transform: translate3d(3px,3px,0);}
#other .link-box .link-02 a::before,
#other .link-box .link-02 a::after{position: absolute; content: ""; width: 0;height: 0;}
#other .link-box .link-02 a::before{border-bottom: 50px solid transparent; border-left: 50px solid rgba(255,255,255,.5); top: 0; left: 0;}
#other .link-box .link-02 a::after{border-top: 50px solid transparent; border-right: 50px solid rgba(255,255,255,.5); bottom: 0; right: 0;}
#other .link-box .link-02.co01 a{
background: rgb(245,156,0);
background: linear-gradient(180deg, rgba(245,156,0,1) 0%, rgba(245,198,116,1) 100%);
}
#other .link-box .link-02.co02 a{
background: rgb(235,112,167);
background: linear-gradient(180deg, rgba(235,112,167,1) 0%, rgba(252,163,203,1) 100%);
}
#other .link-box .link-02.co03 a{
background: rgb(59,186,79);
background: linear-gradient(180deg, rgba(59,186,79,1) 0%, rgba(112,211,128,1) 100%);
}
#other .link-box .link-02.co04 a{
background: rgb(85,183,229);
background: linear-gradient(180deg, rgba(85,183,229,1) 0%, rgba(142,209,240,1) 100%);
}
#other .link-box .link-02 a .center-txt{display: block; position: relative; top: 50%; transform: translate3d(0,-50%,0); box-sizing: border-box; padding: 1.5em 1em;}
#other .link-box .link-02 a .txt{font-family: "Oswald", "Noto Sans JP", serif; font-size: 20px; font-weight: bold; line-height: 1.6em; text-align: center; color: #000;}
#other .link-box .link-02 a .w-txt{color: #fff;}
#other .link-box .link-02 a .note{display: block; text-indent: -1.1em; padding-left: 1.1em;font-family: "Noto Sans JP", serif; font-weight: normal; font-size: .8em; line-height: 1.6em;}
@media screen and (max-width: 768px) {
#other .bottom-button{ padding: 50px 0;}
#other .bottom-button .link-button a{ border: 3px solid #fff; text-shadow: 0px 2px 5px rgba(0, 0, 0, .7); border-radius: 10px; font-size: 20px;}
#other .link-box{ margin:0 0 -25px 0; }
#other .link-box .link-02{width: 100%; margin:0 0 25px 0; }
#other .link-box .link-02:nth-of-type(2n){margin:0 0 25px 0; }
#other .link-box .link-02 a::before{border-bottom: 30px solid transparent; border-left: 30px solid rgba(255,255,255,.5);}
#other .link-box .link-02 a::after{border-top: 30px solid transparent; border-right: 30px solid rgba(255,255,255,.5);}
#other .link-box .link-02 a .center-txt{display: block; position: relative; top: 50%; transform: translate3d(0,-50%,0); box-sizing: border-box; padding: 1.5em 1em;}
#other .link-box .link-02 a .txt{ font-size: 16px;}
}

/* = event02
------------------------------------------------------------------------------------------*/
.wrap-1000px{max-width: 1000px; width: 92%; margin: 0 auto;}
.bg-05{ background-color: #F8F3FF;}
.bg-05::before{position: absolute; content: ""; width: 1920px; left: 50%; transform: translate3d(-50%,0,0); background-size: contain; background-repeat: no-repeat; top: -130px;}
.bg-05::before{ background-image: url(../images/2026/bg_purple.png); height: 414px;}

#event02 .co{color: #AC39CE;}
#event02 .info-card{display: flex; flex-wrap: wrap; align-items: center; gap: 40px; border: 1px solid #AC39CE; padding: 30px;}
#event02 .info-card:not(:last-of-type){margin-bottom: 30px;}
#event02 .info-card__body {width: calc(50% - 20px);}
#event02 .info-card__tit{ font-size: 30px; line-height: 1em; margin-bottom: 0.8em; font-weight: bold;}
#event02 .info-card__image {width: calc(50% - 20px);}
@media (max-width: 768px) {
.bg-05::before{ width: 100vw; top: -21vw;}
.bg-05::before{ width: 100vw; height: 21.7vw;}

#event02 .sub-txt{font-size: 18px;}
#event02 .info-card{gap: 20px; padding: 20px;}
#event02 .info-card__body {width: 100%;}
#event02 .info-card__tit{ font-size: 18px;}
#event02 .info-card__image {width: 100%;}
}