@charset "UTF-8";
html {
	font-size: 62.5%;
}
body {
	font-size: 1.6rem;
	min-width: 320px;
	margin: auto;
	position: relative;
	text-decoration: none;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: #000;
    letter-spacing: 0.05em;
}
body.no-scroll{
    overflow: hidden;
}
body.no-scroll::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    animation-name: bodyanm;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    opacity: 0;
    z-index: 4;
}
@keyframes bodyanm {
    0% {opacity: 0;}
    100% {opacity: 1;}
}

*{
	box-sizing: border-box;
    list-style: none;
    text-decoration: none;
}
.flex {
	display: flex;
	flex-wrap: wrap;
}
.relative{
	position: relative;
}
.absolute{
	position: absolute;
}
img{
	width: 100%;
} 
.en{
    font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
a{
    color: #000;
}
.top section{
    /* overflow: hidden; */
    padding-bottom: 10%;
}
.w1100{
    max-width: 1100px;
    margin-inline: auto;
}
.txt-center{
    text-align: center;
}

.grade-bg{
    width: 100%;
    height: 100vh;
    top: 0;
    position: fixed;
    background-image: url(../images/bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -10;
}

.top .btn a, footer .btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 300px;
    height: 50px;
    background: #eee;
    transform: skew(-12deg);
    /* z-index: -1; */
}
.top .btn a::after, footer .btn a::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background: #fff;
    height: calc(tan(30deg) * 45px / 2);
    width: 8px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transition: .5s;
}

/* テキストループ */
/* .wrapper {
    display: flex;
    width: 100%;
    overflow: hidden;
    z-index: 0;
    transform: skew(-12deg);
    z-index: -1;
}
#news .wrapper{
    bottom: 10%;
    mix-blend-mode: multiply;
}
#guide .wrapper{
    bottom: 12%;
}
#event .wrapper{
    top: 7%;
}
#about .wrapper{
    bottom: 7%;
}
#fukudainow .wrapper{
    bottom: -3%;
    mix-blend-mode: multiply;
} */
.loop_text {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 15vw;
    overflow: hidden;
    padding-left: 20px;
    color: #fff;
    opacity: .08;
    font-weight: 500;
}
#news .loop_text{
    color: #77DEFF;
    opacity: .2;
}
#fukudainow .loop_text{
    color: #77DEFF;
    opacity: .2;
}
.loop_text:nth-child(odd) {
    animation: loop 10s -5s linear infinite;
}
.loop_text:nth-child(even) {
    animation: loop2 10s linear infinite;
}
#fukudainow .loop_text:nth-child(odd) {
    animation: loop 20s -10s linear infinite;
}
#fukudainow .loop_text:nth-child(even) {
    animation: loop2 20s linear infinite;
}

@keyframes loop {
      0% {
        transform: translateX(100%);
      }
      to {
        transform: translateX(-100%);
      }
}
@keyframes loop2 {
      0% {
        transform: translateX(0);
      }
      to {
        transform: translateX(-200%);
      }
}

main.top{overflow: hidden;}

/* ヘッダー -----------------------------------------------------------------*/
header .fixed{
    position: fixed;
    top: 0;
    background: #fff;
    height: 60px;
    width: 100%;
    z-index: 3;
    display: flex;
    justify-content: end;
    align-items: center;
    padding-right: 60px;
}
.hm-logo{
    display: none;
}
.top .pc {
    position: relative;
  }
  
/* .top .h-logo .pc{
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.2s ease;
    opacity: 0;
    pointer-events: none;
  } */
/*   
  /* 初期状態（スクロール前） */
  /* .top .pc .no-scroll {
    opacity: 1;
  } */
  
  /* スクロール後に切り替え */
/* .top .pc.scrolled .no-scroll {
    opacity: 0;
} */ */

/* .top .h-logo{
    width: 38vw;
    height: 10vw;
} */
/* .top .pc.change-logo.scrolled{
    width: 30vw;
    height: 6vw;
} */
/* .top .pc.scrolled .scroll {
    opacity: 1;
} */



/* メニュー共通部分 */
.nav-menu nav{
    display: flex;
}
.main-menu {
    display: flex;
}
.main-menu li {
    padding-right: 15px;
    margin-right: 15px;
    font-size: 1.4rem;
}
.main-menu li::after{
    content: "";
    width: 1px;
    height: calc(100% + 5px);
    background: #000;
    transform: rotate(10deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 0;
}
.main-menu li:nth-child(n+5):after{
    content: none;
}
.main-menu a {
    color: #333;
    font-weight: 500;
    position: relative;
    transition: 0.3s;
}

/* ハンバーガーメニューアイコン */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    z-index: 40;
}
header .search{
    display: none;
}

.sub-menu {
    display: none;
  }
.hm-sns{display: none;}

header{height: 50px;}
.header-container{position: fixed; right: 0; top: 8px; background: transparent; z-index: 5;}

.menu-toggle {display: none; background: none; border: none; cursor: pointer; z-index: 40;}
.menu-toggle span {display: block; width: 30px; height: 2px; background-color: #0565A0; margin: 7px 0; transition: all 0.3s;}
.menu-toggle span:last-of-type{width: 15px;}
.menu-toggle {display: block; padding-right: 15px; z-index: 71;}
.menu-toggle.active span:nth-child(1) {transform: rotate(45deg) translate(8px, 8px);; background: #0565A0;}
.menu-toggle.active span:nth-child(2) {opacity: 0;}
.menu-toggle.active span:nth-child(3) {transform: rotate(-45deg) translate(5px, -5px); background: #0565A0; width: 30px;}
/* ハンバーガーメニューアイコン */

/* PCメニュー非表示 */
.header-container h2{font-size: 2rem!important; color: #fff; text-align: center; margin-bottom: 10px;}
.header-content.active .hm-logo{position: fixed; display: flex; align-items: center; width: 400px; right: -100%; height: 60px; background: #fff; z-index: 1;}
.hm-logo .img{display: block; width: 250px; padding-left: 15px; margin-top: 3px;}

.header-content{position: fixed; top: 0px; right: -450px; width: 400px; height: 100%; background-image: url(../images/bg.jpg); background-repeat: no-repeat; background-size: cover; background-position: center; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); z-index: 70; display: block; overflow-y: scroll; padding:0 20px 15% 20px; transition: right 0.4s ease;}

.header-content.active {right: 0;}
.header-content.active .hm-logo {right: 0;}
/* 検索 */
.header-content .search{display: block; padding-top: 0; padding-left: 0; padding: 120px 0 50px 0; margin-bottom: 0!important;}
.header-content .search .flex{justify-content: center;}
.header-content .search input{width: 280px; height: 40px; border: 1px solid #dddddd ;}
.header-content .search button{width: 40px; height: 40px;}
.header-content .search button::after{width: 15px; height: 15px;}

/* コンタクト */
.header-content .btn-area ul {justify-content: space-between; margin-bottom: 30px;}
.header-content .btn-area ul li{
    width: 32.5%;
    border: solid 1px #fff;
    border-radius: 40px;
    transition: .3s;
}
.header-content .btn-area ul li a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 1.2rem;
    color: #fff;
    padding: 10px;
}


/* メインメニュー縦並び */
.header-content.active .main-menu {flex-direction: column; width: 100%; margin-bottom: 8%;}
.header-content.active .main-menu li {margin-bottom: 5px; margin-right: 0; padding-right: 0;}
.header-content.active .main-menu li.m-li > a {display: block; padding: 15px 10px 15px 12px; background: #fff; color: #0565A0; font-size: 1.5rem; font-weight: 400; border-left: 6px solid #0565A0;}
.header-content.active .main-menu li::after{content: none;}
.header-content.active .main-menu li.m-li> a::before{content: ""; display: block; width: 1px; height: 15px; background: #0565A0; position: absolute; top: 50%;  right: 15px; transform: translateY(-50%); transition: .3s;}
.header-content.active .main-menu li.m-li> a::after{ content: ""; display: block; width: 15px; height: 1px; background: #0565A0; position: absolute; top: 50%; right: 8px; transform: translateY(-50%);}
.header-content.active .main-menu li.m-li.arrow> a::before{ content: none;}
.header-content.active .main-menu li.m-li.arrow> a::after{ content: ""; display: inline-block; vertical-align: middle; color: #0565A0; line-height: 1; width: 12px; height: 12px; border: 1px solid currentColor; border-left: 0; border-bottom: 0; position: absolute; top: 50%; right: 12px; box-sizing: border-box; transform: translateY(-50%) rotate(45deg); transition: .3s; background: transparent;}
.header-content.active .main-menu li.m-li.active> a::before{transform: translateY(-50%) rotate(90deg);}
.header-content.active .main-menu li.m-li.active> a::after{transform: translateY(-50%) rotate(90deg); opacity: 0;}
.header-content.active .main-menu {flex-direction: column; width: 100%;}
.header-content.active .main-menu li.open > .sub-menu {display: block;}

.sub-menu a {padding: 8px 0; display: block; font-size: 1.3rem;}
.sub-menu li {margin-top: 10px;}
.sub-menu li:last-of-type{margin-bottom: 0px;}
.sub-menu li a {position: relative; display: block; padding: 10px 15px 10px 0px; border-bottom: solid 1px #eee; line-height: 1.4; color: #fff; font-weight: 400;}
.sub-menu li a::after{content: ""; display: inline-block; vertical-align: middle; color: #fff; line-height: 1; width: 6px; height: 6px; border: 1px solid currentColor; border-left: 0; border-bottom: 0; position: absolute; top: 50%; right: 5px; box-sizing: border-box; transform: translateY(-50%) rotate(45deg); transition: .3s;}
.search-container {position: relative;}
.search-container input {width: 100%; padding: 10px 45px 10px 15px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px;}
.search-container button {position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #777; cursor: pointer;}

.hm-sns {display: block; margin-bottom: 5%;}
.hm-sns ul {justify-content: space-between;}
.hm-sns ul li{width: 48%; margin-top: 10px;}
.hm-sns ul li a{display: flex; justify-content: center; align-items: center; width: 100%; color: #000; background: #fff; height: 40px; font-size: 1.2rem;}
.hm-sns ul li a::before{content: ""; width: 15px; height: 15px; display: block; background-position: center; background-repeat: no-repeat; background-size: contain;  position: absolute; top: 50%; left: 10px; transform: translateY(-50%);}
.hm-sns ul li:first-of-type a::before{background-image: url(../images/h-x.png);}
.hm-sns ul li:nth-of-type(2) a::before{background-image: url(../images/f-insta.png);}
.hm-sns ul li:nth-of-type(3) a::before{background-image: url(../images/f-youtube.png);}
.hm-sns ul li:nth-of-type(4) a::before{background-image: url(../images/f-line.png);}

.header-content.active .main-menu li .no-click{pointer-events: none;}

.hm-sns ul li a::after{content: ""; width: 15px; height: 15px; display: block; background-position: center; background-repeat: no-repeat; background-size: contain; background-image: url(../images/f-official-arrow.png); position: absolute; top: 50%; right: 10px; transform: translateY(-50%);}

.other{margin-bottom: 8%;}
.other-menu ul{justify-content: space-between; padding-bottom: 20px; margin-bottom: 20px;}
.other-menu ul li{width: 48%;}
.other-menu ul li a{position: relative; display: flex; justify-content: center; align-items: center; width: 100%; color: #000; background: #fff; height: 40px; font-size: 1.2rem; line-height: 1.2; border-left: solid 6px #777; text-align: center;}
.other-menu ul li a::after{
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: #000;
    line-height: 1;
    width: 8px;
    height: 8px;
    border: 1px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    position: absolute;
    top: 50%;
    right: 10px;
    box-sizing: border-box;
    transform: translateY(-50%) rotate(45deg);
    transition: .3s;
    background: transparent
}
.sub-menu li a br.sp-block{display: none;}

/* fv --------------------------------------------------------------------------*/
.fv{
    margin-bottom: 3%;
    padding-bottom: 5%;
}
.fv img.sp{
    display: none;
}
.side-menu{
    content: "";
    position: absolute;
    display: block;
    background-image: url(../images/side-menu-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 30%;
    height: 33vw;
    z-index: 1;
    top: 4.5vw;
    clip-path: polygon(0% 0%, 100% 0%, 75% 100%, 0% 100%);
}
.side-menu .search{
    padding-top: 10%;
    padding-left: 2%;
}
.search input{
    border-radius: 0;
    border: none;
}
.side-menu .search input{
    width: 70%;
    height: 3vw;
}
.search button{
    border: none;
    background: #8B0208;
    cursor: pointer;
}
.side-menu .search button{
    width: 3vw;
    height: 3vw;
}
.search button::after{
    content: "";
    display: block;
    width: 1.5vw;
    height: 1.5vw;
    background-image: url(../images/serch_icon.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.side-menu .hashtag .flex{
    padding: 6% 3% 4% 2%;
}
.side-menu .hashtag .flex li{
    background: #fff;
    padding: 0.5vw 0.8vw;
    font-size: 1.1vw;
    margin-right: 0.8vw;
    margin-bottom: 0.8vw;
    border-radius: 30px;
    transition: .6s;
}
.side-menu .hashtag .flex li a{
    color: #05A7C6;
    transition: .6s;
}
.side-menu .btn{
    cursor: pointer;
}
.side-menu .btn a{
    width: 24vw;
    transform: skew(0deg);
    clip-path: polygon(0% 0%, 100% 0%, 96% 100%, 0% 100%);
    height: 4vw;
    font-size: 1.2vw;
    background-image: linear-gradient(45deg, rgba(63, 223, 243, 1), rgba(24, 141, 200, 1));
    color: #fff;
    max-width: 400px;
}
.side-menu .btn:last-of-type a{
    width: 22.8vw;
    margin-top: 3%;
    clip-path: polygon(0% 0%, 100% 0%, 96% 100%, 0% 100%);
    height: 4vw;
}
.fv .img{
    position: relative;
    width: 78%;
    margin-left: auto;
    margin-right: 0;
    padding-top: 10px;
    z-index: 1;
}
.top .h-logo{
    position: fixed;
    /* width: 36vw;
    height: 9vw; */
    top: 0;
    left: 0;
    z-index: 4;
    width: 38vw;
    height: 10vw;
    transition: all 0.5s ease;
}
.h-logo a{
    display: block;
    width: 100%;
    height: 100%;
}
.h-logo img.sp{
    display: none;
}
.top .h-logo.scrolled {
    width: 350px;
}

.hashtag {
    z-index: 12;
}
.side-menu .btn a::after{
    transform: translateY(-50%) skew(-12deg);
}

.fv-txt{
    bottom: 30px;
    background-color: rgba(255, 255, 255, .6);
    height: 3.2vw;
    left: 20%;
    display: flex;
    align-items: center;
    padding-left: 4%;
    padding-right: 4%;
    font-size: 1.2rem;
    transform: skew(-12deg);
    max-width: 900px;
    z-index: 0;
}
.fv-txt::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background: #000;
    height: calc(tan(30deg) * 40px / 2);
    width: 8px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transition: .3s;
}
/* .fv-txt a{
    display: block;
    border-bottom: solid 1px #000;
    padding-bottom: 5px;
    color: #000;
    transition: .3s;
} */
.fv-txt br.sp-block{
    display: none;
}

/* TOP　タイトル -----------------------------------------------------------------*/
.top .ttl-area h2{
    font-size: 5.5vw;
    font-weight: 300;
    line-height: 1;
    transform: skew(-12deg);
    color: #fff;
}
.top .ttl-area p{
    color: #fff;
    line-height: 1.4;
}
.top .ttl-area.flex{
    justify-content: center;
    align-items: end;
    flex-wrap: nowrap;
}
.top .ttl-area.flex p{
    bottom: 10px;
    margin-left: 10px;
}

/* news -----------------------------------------------------------------------*/
#news {
    padding-bottom: 3%;
}
#news .ttl-area{
    justify-content: start;
    margin-bottom: 5%;
}
#news .tab ul{
    margin-bottom: 20px;
    justify-content: space-between;
}
#news .tab ul li{
    width: 48%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-left: solid 2px #A4BBCC;
    border-bottom: solid 2px #A4BBCC;
    transform: skew(-15deg);
    padding-bottom: 15px;
    font-size: 3rem;
    color: #A4BBCC;
    cursor: pointer;
    transition: .3s;
}
#news .tab ul li a{
    color: inherit;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 15px;
}
#news .tab ul li.active{
    border-left: solid 2px #fff;
    border-bottom: solid 2px #fff;
    color: #fff;
    pointer-events: none;
}
#news .txt-area{
    width: 35%;
}
.top #news .news-area{
    width: 65%;
}
.top #news .news-area .list li a{
    padding-left: 15px;
}
#news .news-area .list li a{
    align-items: center;
    color: #fff;
    transition: .3s;
}
#news .news-area .list li p::after{
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: 10px;
    height: 10px;
    border: 1px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    position: absolute;
    top: 50%;
    right: 0;
    box-sizing: border-box;
    transform: translateY(-50%) rotate(45deg);
    transition: .3s;
}
#news .news-area .list li{
    margin-bottom: 40px;
    width: 100%;
}
#news .news-area .list li::after{
    content: "";
    position: absolute;
    bottom: -20px;
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
}
#news .news-area .list li .day{
    margin-right: 20px;
}
#news .news-area .list li .new{
    padding: 2px 10px;
    color: #fff;
    background: #EA8D8C;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    font-size: 1.2rem;
    transform: skew(-15deg);
}
.top #news .news-area .list li:first-of-type{
    left: -2%;
}
.top #news .news-area .list li:nth-of-type(2){
    left: -3.5%;
}
.top #news .news-area .list li:nth-of-type(3){
    left: -5%;
}
.top #news .news-area .list li:nth-of-type(4){
    left: -7%;
}
.top #news .btn{
    top: 6.5vw;
    left: -1%;
}
.top #news .btn a{
    width: 26vw;
    background-image: linear-gradient(45deg, rgba(255, 141, 143, 1), rgba(251, 154, 143, 1));
    color: #fff;
}

/* guide -----------------------------------------------------------------------*/
.top #guide::after{
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/guide_bg.png);
    background-position: bottom;
    background-size: cover;
    position: absolute;
    top: 10%;
    z-index: -2;
    overflow: hidden;
}
.top #guide .ttl-area span{
    display: block;
}
#guide .list{
    width: 100%;
    padding: 0 3% 0 5%;
}
#guide .list .flex li{
    width: 18%;
    height: 70vh;
    max-height: 500px;
    margin-left: 10px;
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
}
#guide .list .flex li a{
    overflow: hidden;
    display: block;
    height: 100%;
}
#guide .list .flex li a::after{
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}

#guide .list .flex li:nth-of-type(2) a::after{
    background-image: url(../images/guide_grade_01.png);
}
#guide .list .flex li:nth-of-type(3) a::after{
    background-image: url(../images/guide_grade_02.png);
}
#guide .list .flex li:nth-of-type(4) a::after{
    background-image: url(../images/guide_grade_03.png);
}
#guide .list .flex li:nth-of-type(5) a::after{
    background-image: url(../images/guide_grade_04.png);
}
#guide .list .flex li:first-of-type{
    display: flex;
    justify-content: end;
    align-items: center;
    width: 18%;
    background: transparent;
}
#guide .list .flex li:nth-child(n+2) a{
    transform: skew(-12deg);
    transition: .6s;
}
#guide .list .flex li:nth-child(n+2) h3{
    font-size: 2.2rem;
    writing-mode: vertical-rl;
    font-weight: 500;
    color: #fff;
    padding: 10px;
    line-height: 1.2;
    letter-spacing: 0.05em;
}
#guide .list .flex li .img-area{
    height: 100%;
    z-index: -1;
}
#guide .list .flex li .img-area img{
    height: 100%;
    object-fit: cover;
    transition: .3s;
}
#guide .list .flex li .img-area img.sp{
    display: none;
}
#guide .list .flex li .number{
    right: 0;
    bottom: 10%;
    font-weight: 100;
    font-size: 12rem;
    line-height: 1;
    color: #fff;
    opacity: .5;
}
#guide .list .flex li .btn{
    background: #fff;
    width: 50px;
    height: 50px;
    bottom: 5px;
    right: 5px;
    transition: .5s;
}
#guide .list .flex li .btn::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #33C6E1;
    height: calc(tan(30deg) * 60px / 2);
    width: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transition: .5s;
}
#guide .ashirai.left{
    width: 13%;
    left: 0;
    top: -10%;
    z-index: -1;
    mix-blend-mode: color-dodge;
}
#guide .ashirai.left img.sp{
    display: none;
}
#guide .ashirai.right img.sp{
    display: none;
}
#guide .ashirai.right{
    width: 9%;
    right: 0;
    top: -65%;
    z-index: -1;
    mix-blend-mode: color-dodge;
}
#guide .ashirai.right-bottom{
    width: 10%;
    right: 0;
    bottom: -15%;
    z-index: -1;
    mix-blend-mode: color-dodge;
}

/* event -----------------------------------------------------------------------*/
.top #event{
    max-width: 1450px;
    margin-inline: auto;
}
#event .ttl-area{
    margin-bottom: 3%;
}
#event ul{
    width: 100%;
}
#event .new-area ul{
    height: 35vw;
    margin-bottom: 4%;
}
#event .new-area ul li:first-of-type{
    width: 67%;
    bottom: 0;
    left: -4%;
    height: 35vw;
}
#event .new-area ul li:first-of-type a::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background-image: linear-gradient(-180deg, rgba(139, 2, 8, 0), rgba(139, 2, 8, 1));
}
/* #event .new-area ul li:last-of-type {
    width: 38.5%;
    right: -4%;
    bottom: 0;
    height: 23vw;
}
#event .new-area ul li:last-of-type a{
    display: block;
    background: #8B0208;
    min-height: 180px;
} */
#event .new-area ul li.main .txt-area{
    width: 82%;
    bottom: 18%;
    left: 14%;
    z-index: 2;
    color: #fff;
}
#event .new-area ul li.main .txt-area .day{
    font-size: 3.3vw;
    margin-bottom: 3%;
}
#event .new-area ul li.main .txt-area h3{
    font-size: 2.6vw;
    margin-bottom: 3%;
}
#event .new-area ul li.main .txt-area .area{
    font-size: 1.8vw;
}
#event .new-area ul li.main .txt-area .area::before{
    content: "";
    display: inline-block;
    width: 1.5vw;
    height: 1.8vw;
    background-image: url(../images/event_map_icon.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 1%;
}

#event .new-area ul li.next .txt-area{
    width: 100%;
    bottom: 28%;
    left: 5%;
    z-index: 2;
    color: #fff;
}
#event .new-area ul li.next .txt-area .index{
    font-size: 2.5vw;
}
#event .new-area ul li.next .txt-area .day{
    font-size: 3.8vw;
    margin-top: 1.5vw;
    margin-bottom: 1.5vw;
}
#event .new-area ul li.next .txt-area h3{
    font-size: 2.8vw;
    margin-bottom: 3%;
}
#event .new-area ul li.next .txt-area .area{
    font-size: 1.6vw;
}
#event .new-area ul li.next .txt-area .area::before{
    content: "";
    display: inline-block;
    width: 1.2vw;
    height: 1.5vw;
    background-image: url(../images/event_map_icon.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 2%;
}

#event .open-campus ul{
    height: 30vw;
}
#event .open-campus ul li{
    pointer-events: none;
}
#event .open-campus ul li a .txt-area.absolute{
    width: 80%;
}
#event .open-campus ul li:first-of-type{
    width: 52.5%;
    left: -4%;
    height: 30vw;
}
#event .open-campus ul li:first-of-type .txt-area.absolute{
    bottom: 8%;
    left: 16%;
}
#event .open-campus ul li:last-of-type .txt-area.absolute{
    bottom: 8%;
    left: 5%;
}
#event .open-campus ul li h3{
    font-size: 2.6vw;
    color: #fff;
    line-height: 1.2;
}
#event .open-campus ul li .txt-area.absolute .area{
    display: block;
    margin-top: 1%;
    color: #fff;
    font-size: 1.4vw;
}
#event .open-campus ul li .txt-area.absolute .area::before{
    content: "";
    display: inline-block;
    width: 1.2vw;
    height: 1.4vw;
    background-image: url(../images/event_map_icon.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 1%;
}
#event .open-campus ul li a::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: -1;
}
#event .open-campus ul li:first-of-type a::after{
    background-image: linear-gradient(-180deg, rgba(60, 87, 44, 0), rgba(60, 87, 44, 1));
}
#event .open-campus ul li:last-of-type a::after{
    background-image: linear-gradient(-180deg, rgba(48, 89, 75, 0), rgba(48, 89, 75, 1));
}
#event .open-campus ul li:last-of-type{
    width: 52.5%;
    height: 30vw;
    right: -4%;
}
#event ul li a{
    display: block;
    height: 100%;
    overflow: hidden;
    transform: skew(-12deg);
}
#event ul li .img-area{
    width: 100%;
    height: 100%;
    bottom: 0;
    z-index: -1;
    transform: scale(1.2) skew(12deg);
}
#event ul li .img-area img{
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition: .3s;
}
#event ul li .btn{
    bottom: 5%;
    z-index: 2;
}
#event ul li .btn span{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 18vw;
    height: 3.5vw;
    background: #eee;
    color: #fff;
    font-size: 1.4vw;
}
#event ul li .btn span::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background: #fff;
    height: calc(tan(30deg) * 3.5vw / 2);
    width: .5vw;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transition: .5s;
}
#event .new-area ul li:first-of-type .btn{
    left: 14%;
}
#event .new-area ul li:first-of-type .btn span{
    background: #DB7D8C;
    transition: .5s;
}
#event .new-area ul li:nth-of-type(2) .btn{
    left: 5%;
}
#event .new-area ul li:nth-of-type(2) .btn span{
    background: #DB7D8C;
    transition: .5s;
}
#event .open-campus ul li:first-of-type .btn{
    left: 16%;
}
#event .open-campus ul li:first-of-type .btn span{
    background: #7DB975;
    transition: .5s;
}
#event .open-campus ul li:nth-of-type(2) .btn{
    left: 5%;
}
#event .open-campus ul li:nth-of-type(2) .btn span{
    background: #3BA599;
    transition: .5s;
}
#event .ashirai.left{
    width: 32%;
    left: 0;
    top: 0;
    z-index: -1;
    mix-blend-mode: color-dodge;
}
#event .ashirai.right{
    width: 70%;
    right: 0;
    top: 15%;
    z-index: -1;
    mix-blend-mode: color-dodge;
}

/* about -----------------------------------------------------------------------*/
.top #about .ttl-area{
    margin-bottom: 5%;
}
#about .box .flex{
    justify-content: space-between;
}
#about .box.two-column .flex{
    margin-bottom: 3%;
}
#about .box.two-column .flex li{
    width: 49%;
}
#about .box.two-column .flex li a{
    overflow: hidden;
    display: block;
    height: 100%;
    transform: skew(-12deg);
}
#about .box.two-column .flex li a::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background-image: linear-gradient(-180deg, rgba(139, 2, 8, 0), rgba(139, 2, 8, 1));
    z-index: 1;
}
#about .box.two-column .flex li a::after{
    content: "";
    display: block;
    position: absolute;
    right: 20px;
    bottom: 12px;
    transform: translateY(-50%);
    background: #fff;
    height: calc(tan(30deg) * 5.5vw / 2);
    width: 1vw;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    z-index: 2;
}
#about .box.two-column .flex li h3{
    font-size: 1.8vw;
    color: #fff;
    bottom: 20px;
    left: 5%;
    z-index: 2;
    transform: skew(12deg);
}
#about .box.two-column .flex li .img-area{
    height: 100%;
}
#about .box.two-column .flex li .img-area img.sp{
    display: none;
}
#about .box.two-column .flex li img{
    height: 100%;
    transform: skew(12deg) scale(1.2);
    transition: .3s;
}
#about .box.two-column .flex li p{
    width: 70%;
    height: 8vw;
    font-size: 1.3vw;
    background-image: url(../images/about_fukidasi_01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    top: -13%;
    text-align: center;
    line-height: 1.4;
    left: 56%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
}
#about .box.two-column .flex li span{
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
}

#about .box.three-column .flex li{
    width: 32%;
}

#about .box.three-column .flex li a{
    overflow: hidden;
    display: block;
    height: 100%;
    transform: skew(-12deg);
}
#about .box.three-column .flex li a::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background-image: linear-gradient(180deg, rgba(5, 101, 160, 0), rgba(5, 101, 160, 1));
    z-index: 1;
}
#about .box.three-column .flex li a::after{
    content: "";
    display: block;
    position: absolute;
    right: 20px;
    bottom: 12px;
    transform: translateY(-50%);
    background: #fff;
    height: calc(tan(30deg) * 5.5vw / 2);
    width: 1vw;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    z-index: 2;
}
#about .box.three-column h3{
    margin-bottom: 3%;
    font-size: 4vw;
    color: #fff;
    transform: skew(-12deg);
    font-weight: 300;
}
#about .box.three-column .flex li h4{
    font-size: 1.4vw;
    color: #fff;
    bottom: 20px;
    left: 5%;
    transform: skew(12deg);
    line-height: 1.4;
    z-index: 2;
}
#about .box.three-column .flex li img{
    transform: skew(12deg) scale(1.2);
    transition: .3s;
}
#about .box.three-column .flex li p{
    width: 90%;
    height: 8vw;
    font-size: 1.05vw;
    background-image: url(../images/about_fukidasi_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    top: -18%;
    text-align: center;
    line-height: 1.4;
    left: 56%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
}
#about .box.three-column .flex li span{
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
}
#about .box.three-column .flex li .img-area img.sp{
    display: none;
}
#about .ashirai.left{
    width: 10%;
    left: 1%;
    top: -5%;
    z-index: -1;
    mix-blend-mode: color-dodge;
}
#about .ashirai.right{
    width: 10%;
    right: 0;
    bottom: 10%;
    z-index: -1;
    mix-blend-mode: color-dodge;
}

/* fukudainow -----------------------------------------------------------------------*/
#fukudainow .ttl-area{
    margin-bottom: 20px;
}
#fukudainow .ttl-area p{
    line-height: 1.4;
}
#fukudainow .swiper .swiper-slide a{
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#fukudainow .swiper .swiper-slide a::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(16, 125, 174, 0.6);
    position: absolute;
    top: 0;
    left: 0;
}
#fukudainow .swiper .swiper-slide a .thum{
    transition: .3s;
}
#fukudainow .swiper{
    margin-bottom: 3%;
}
#fukudainow .swiper .triangel {
    position: absolute;
    top: 50%;
    left: 47%;
    background-color: #fff;
    width: 25px;
    height: 30px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    transform: translateY(-50%);
    z-index: 5;
}
#fukudainow .circle{
    width: 30%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
}
#fukudainow .circle img {
    animation: 8s linear infinite rotation;
}
  @keyframes rotation{
    0%{
      transform: rotate(0);
    }
    100%{
      transform: rotate(360deg);
    }
  }
#fukudainow .btn-area.flex{
    justify-content: center;
}
#fukudainow .btn-area .btn{
    cursor: pointer;
}
#fukudainow .btn-area .btn a{
    margin: 0 20px;
    width: 30vw;
    color: #fff;
}
#fukudainow .btn-area .btn:first-of-type a{
    background: #C352AE;
}
#fukudainow .btn-area .btn:first-of-type a::before{
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(../images/insta_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 10px;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%) skew(12deg);
}
#fukudainow .btn-area .btn:last-of-type a{
    background: #fff;
    border: solid 1px #FF0D00;
    color: #000;
}
#fukudainow .btn-area .btn:last-of-type a::before{
    content: "";
    width: 25px;
    height: 25px;
    background-image: url(../images/sns_youtube.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: skew(12deg);
    margin-right: 10px;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%) skew(12deg);
}
#fukudainow .btn-area .btn:last-of-type a::after{
    background: #FF0D00;
}
#fukudainow .ashirai.left{
    width: 75%;
    left: 0;
    top: 5%;
    z-index: -1;
    mix-blend-mode: color-dodge;
}
#fukudainow .ashirai.right{
    width: 8%;
    right: 0;
    bottom: 15%;
    z-index: -1;
    mix-blend-mode: color-dodge;
}

/* teacher-area -----------------------------------------------------------------------*/
footer .teacher-area{
    width: 100%;
    height: 300px;
    background-image: url(../images/footer_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    padding: 0 20px;
}

footer .teacher-area .flex{
    justify-content: space-between;
    width: 100%;
    position: relative;
    top: 50%;
    max-width: 1000px;
    left: 50%;
    transform: translate(-50%, -50%);
}
footer .teacher-area .flex h2{
    font-size: 2.6vw;
    margin-bottom: 10px;
    color: #fff;
    font-weight: 500;
}
footer .teacher-area .flex p{
    font-size: 2vw;
    color: #fff;
}
footer .teacher-area .flex .btn a{
    width: 30vw;
    max-width: 350px;
    height: 60px;
    background-image: linear-gradient(45deg, rgb(63, 223, 243), rgb(24, 141, 200));
    color: #fff;
}

.footer-container{
    padding: 5% 5% 0 5%;
}
.footer-container::after{
    content: "";
    width: 100%;
    height: 100%;
    background: #3A5267;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.footer-container .flex.box{
    justify-content: space-between;
    padding: 0;
}
.footer-container .left{
    width: 45%;
}
.footer-container .left .address h3{
    font-size: 3rem;
    margin-bottom: 10px;
    color: #fff;
}
.footer-container .left .address p{
    font-size: 1.4rem;
    color: #fff;
    /* margin-bottom: 15px; */
    line-height: 1.4;
    margin-bottom: 10px;
}
.footer-container .left .address span{
    font-size: 1.4rem;
    color: #fff;
    line-height: 1.4;
}
.footer-container .right{
    width: 54%;
}
.footer-container .flex .btn-area ul{
    justify-content: end;
    margin-bottom: 20px;
}
.footer-container .flex .btn-area ul li{
    width: 32%;
    border: solid 1px #fff;
    border-radius: 40px;
    transition: .3s;
    margin-right: 10px;
}
.footer-container .flex .btn-area ul li:nth-last-of-type(2){
    margin-right: 0;
}
.footer-container .flex .btn-area ul li a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 1.4rem;
    color: #fff;
    padding: 10px;
}
.footer-container .btn-area li a::before{
    content: "";
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 22px;
}
.footer-container .btn-area li:first-of-type a::before{
    height: 12px;
    background-image: url(../images/f-contact.png);
}
.footer-container .btn-area li:nth-of-type(2) a::before{
    height: 15px;
    background-image: url(../images/f-access.png);
}
.footer-container .btn-area li:last-of-type a::before{
    height: 14px;
    background-image: url(../images/f-tel.png);
}
.footer-container .flex .f-official-btn{
    width: 70%;
    margin-left: auto;
    margin-right: 0;
}
.footer-container .flex .f-official-btn a{
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
}
.footer-container .flex .f-official-btn a::after{
    content: "";
    width: 40px;
    height: 30px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../images/f-official-arrow.png);
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.footer-container .sns-area ul li{
    /* width: 30px; */
    margin-right: 22px;
    margin-top: 20px;
}
.footer-container .sns-area ul li a{
    font-size: 1.4rem;
    color: #fff;
    padding-left: 30px;
}
.footer-container .sns-area ul li a::before{
    content: "";
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
}
.footer-container .sns-area ul li:first-of-type a::before{
    background-image: url(../images/f-x.png);
}
.footer-container .sns-area ul li:nth-of-type(2) a::before{
    background-image: url(../images/f-insta.png);
}
.footer-container .sns-area ul li:nth-of-type(3) a::before{
    background-image: url(../images/f-youtube.png);
}
.footer-container .sns-area ul li:nth-of-type(4) a::before{
    background-image: url(../images/f-line.png);
}
.footer-container .sns-area ul li a::after{
    content: "";
    display: inline-block;
    width: 1px;
    height: 80%;
    background: #fff;
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%) skew(-25deg);
}
.footer-container .sns-area ul li:last-of-type a::after{
    content: none;
}

.footer-container .copy{
    font-size: 1rem;
    color: #F1F1F1;
    padding: 10px 0 20px 0;
}

.footer-container .f-policy ul{
    justify-content: center;
    margin-top: 3%;
}
.footer-container .f-policy ul li a{
    color: #F1F1F1;
    font-size: 1.2rem;
}
.footer-container .f-policy ul li:first-of-type{
    position: relative;
    margin-right: 10px;
    padding-right: 10px;

}
.footer-container .f-policy ul li:first-of-type::after{
    content: "";
    width: 1px;
    height: 100%;
    background: #F1F1F1;
    position: absolute;
    top: 3px;
    right: 0;
}
footer .footer-container .flex .btn-area ul li:last-of-type{
 display: none;
}

/* anm------------------------------------------------- */

.Slide-left .anm{
    opacity: 0;
  }
.Slide-left .anm.show{
    animation-name: Slide-left;
    animation-duration: .6s;
    animation-fill-mode: forwards;
    opacity: 1;
}
@keyframes Slide-left {
	0% {transform: translateX(-50px); opacity: 0;}
	100% {transform: translateX(0); opacity: 1;}
}

.top #news .news-area .list li:nth-of-type(2){
    animation-delay: .2s;
    opacity: 0;
}
.top #news .news-area .list li:nth-of-type(3){
    animation-delay: .3s;
    opacity: 0;
}
.top #news .news-area .list li:nth-of-type(4){
    animation-delay: .4s;
    opacity: 0;
}
.top #news .news-area .list li:nth-of-type(5){
    animation-delay: .5s;
    opacity: 0;
}
.top #news .news-area .list li:nth-of-type(6){
    animation-delay: .6s;
    opacity: 0;
}
.top #news .news-area .list li:nth-of-type(7){
    animation-delay: .7s;
    opacity: 0;
}
.top #news .news-area .list li:nth-of-type(8){
    animation-delay: .8s;
    opacity: 0;
}
.top #news .news-area .list li:nth-of-type(9){
    animation-delay: .9s;
    opacity: 0;
}
.top #news .news-area .list li:nth-of-type(10){
    animation-delay: 1s;
    opacity: 0;
}

#guide .list .flex li:nth-of-type(2){
    animation-delay: .2s;
    opacity: 0;
}
#guide .list .flex li:nth-of-type(3){
    animation-delay: .4s;
    opacity: 0;
}
#guide .list .flex li:nth-of-type(4){
    animation-delay: .6s;
    opacity: 0;
}
#guide .list .flex li:nth-of-type(5){
    animation-delay: .8s;
    opacity: 0;
}

/* event */
#event .Slide-left.anm{
    opacity: 0;
  }
#event .Slide-left.anm.show{
    animation-name: e-Slide-left;
    animation-duration: .6s;
    animation-fill-mode: forwards;
    opacity: 1;
}
@keyframes e-Slide-left {
	0% {transform: translateX(-100px); opacity: 0;}
	100% {transform: translateX(0); opacity: 1;}
}
.Slide-right.anm{
    opacity: 0;
  }
.Slide-right.anm.show{
    animation-name: Slide-right;
    animation-duration: .6s;
    animation-fill-mode: forwards;
    opacity: 1;
}
@keyframes Slide-right {
	0% {transform: translateX(120px); opacity: 0;}
	100% {transform: translateX(0); opacity: 1;}
}


.Scale-up .anm{
    opacity: 0;
  }
.Scale-up .anm.show{
    animation-name: Scale-up;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    opacity: 1;
}
@keyframes Scale-up {
	0% {transform: scale(0);}
	100% {transform: scale(1);}
}



#about .Fead-up .box.two-column .flex li p.anm, #about .Fead-up .box.three-column .flex li p.anm{
    opacity: 0;
}
#about .Fead-up .box.two-column .flex li p.anm.show, #about .Fead-up .box.three-column .flex li p.anm.show{
    animation-name: a-Fead-up; 
    animation-duration: .8s; 
    animation-fill-mode: forwards; 
    opacity: 1;
}
@keyframes a-Fead-up {
    0% {transform: translateX(-50%) translateY(100px); opacity: 0;}
    100% {transform: translateX(-50%) translateY(0); opacity: 1;}
}

.Fead-up .anm{opacity: 0;}
.Fead-up .anm.show{animation-name: Fead-up; animation-duration: .8s; animation-fill-mode: forwards; opacity: 1;}
@keyframes Fead-up {
    0% {transform: translateY(100px); opacity: 0;}
    100% {transform: translateY(0); opacity: 1;}
}
#fukudainow .swiper-slide:nth-of-type(2) a{
    animation-delay: .2s;
    opacity: 0;
}
#fukudainow .swiper-slide:nth-of-type(3) a{
    animation-delay: .4s;
    opacity: 0;
}
#fukudainow .swiper-slide:nth-of-type(4) a{
    animation-delay: .6s;
    opacity: 0;
}
#fukudainow .swiper-slide:nth-of-type(5) a{
    animation-delay: .8s;
    opacity: 0;
}

/*-- saito --*/
#nyugakushikaku h2{ margin-bottom: 20px;}
#nyugakushikaku .txt{margin-bottom: 20px;}
#nyugakushikaku h3{ margin-top: 40px;}

#nyugakushikaku .btn{ width: 25%; max-width: 300px; margin: 8px 0 24px;}

.common h2{ margin-bottom: 20px;}
.common .txt{margin-bottom: 20px;}
.common h3{ margin-top: 40px;}
.common .btn{ width: 25%; max-width: 300px; margin: 8px 0 24px;}
.common  p.txt > a{ text-decoration: underline;}
.common .content .items{ margin-bottom: 40px;}

p > a{ color: inherit;}
.ten{
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 0!important;
    line-height: 1.8em!important;
}
.ten::before{content: '・';}
.flex-style01{ justify-content: space-between;}
.flex-style01 .item{ 
    width: 49%;
    margin-bottom: 40px;
}
.flex-style01.list_mg0 .item{ margin-bottom: 0;}
.content .flex-style01 .item .btn{ width: 100%;}
.l-page .btn.btn_pink{
    transform: skew(-12deg);
    background-image: linear-gradient(45deg, rgba(255, 141, 143, 1), rgba(251, 154, 143, 1));
}
.l-page .btn.btn_pink a{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    max-width: 300px;
    height: 50px;      
    color: #fff;
    position: relative;
}
.l-page .btn.btn_pink a::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background: #fff;
    height: calc(tan(30deg) * 45px / 2);
    width: 8px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transition: .5s;
}
.l-page .btn.btn_pink a:hover::after{right: 10px;}

.flex.fu_kaisetsu{
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 40px;
}
.flex.fu_kaisetsu > div.item{
    width: 49%;
    text-align: center;
}
.flex.fu_kaisetsu > div.item a.imgLink{
    display: inline-block;
}
.flex.fu_kaisetsu > div.item:last-of-type a.imgLink{
    width: 40%;
}
.flex.fu_kaisetsu > div.item img{
    /* width: auto; */
    height: auto;
}
.flex.fu_kaisetsu > div.item .btn{    
    width: 80%;
    max-width: 330px;    
    margin: 20px auto 40px;
}
b.c01{ color: #fbed21;}
table.table01{
    background-color: rgba(255, 255,255, 0.7);
    width: 80%;
    max-width: 800px;
    margin-top: 32px;
}
table.table01 td,
table.table01 th{
    color: #000;
    border: solid 1px #8f8f8f;
    padding: 8px 16px;
    line-height: 1.4em;
}
table.table01 tr th:nth-child(2){ word-break: keep-all;}
table.table01 th{ background-color: #f1f5f6; font-weight: bold; color: #0565A0;}
table.table01 a{ color: inherit; text-decoration: underline;}
.sp-block01{ display: none;}
.blank_icon{
    width: 10px;
    height: 10px;
    padding: 0 4px;
    box-sizing: content-box;
    vertical-align: 1px;
}
img.tandoku_postar{ width: 187px; margin-right: 40px;}
.tandoku_postar_area{ align-items: center; margin-top: 40px;}
.tandoku .tandoku_postar_area .btn-area{ margin-bottom: 0;}
.tandoku .btn.btn_pink02 a{ background-color: rgba(219, 125, 140, .6);}
.l-page .tandoku p{ line-height: 1.8em;}
.tandoku .content p > a,
.tandoku .content td > a{ text-decoration: underline;}
.prev-next-links{ justify-content: center;}
.prev-next-links > div{ margin: 5px 5px; max-width: 280px; width: 30%;}
.prev-next-links > div > a{ padding: 0 8px; width: 100%!important;}
.prev-next-links > .prev_btn a,
.prev-next-links > .next_btn a{ background: #177FA3!important;}

#page-top{
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 5;
    overflow: hidden;
    width: 50px;
    height: 50px;
    border-radius: 40px;
}
#page-top a {
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-transition: .5s;
    transition: .5s;
    height: 100%;
    padding-top: 22px;
    background: #fff;
    font-size: 1.2rem;
    color: #0565A0;
}
#page-top a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 22%;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-bottom: 10px solid #0565A0;
    border-top: 0;
}
