@charset "UTF-8";
@import url(//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css);
@import url('https://fonts.googleapis.com/css2?family=Agbalumo&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');
*{
    /* border: solid 1px red; */
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
:root{
    --main_color: #3FA8C7;
    --bg_color: #ECF6F9;
    --ckgray: #5D5D5D;
}
body{
    font-family: "Noto Sans JP","Noto SansJP","Noto Sans Japanese","メイリオ",sans-serif;
    /* font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
    box-sizing: border-box;
    color: #000;
}
article,section,footer{
    max-width: 1000px;
    display: block;
    margin: 0 auto;
    position: relative;
}
footer{
    text-align: center;
}

section{
    position: relative;
}

img {
    width: 100%;
    height: auto;
}

.full100{
    width: 100%;
}
.container{
    max-width: 900px;
    padding: 0 50px;
}
.paddh20{
    padding-bottom: 20px;
}
.pd30 {
    padding: 30px 0;
}
.mb40 {
    margin-bottom: 40px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb10 {
    margin-bottom: 10px;
}

/*---------------------------------------------*
 * common
 ---------------------------------------------*/
 .wrap {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    overflow-x: hidden;
 }

 .itemWrap {
    padding: 10px 15px;
 }

 .item2row {
    display: flex;
    gap: 10px;
 }

 .item2col {
    max-width: 50%;
    width: calc(100% - 10px);
 }

 .hr_wht {
    border-top: solid #fff 1px;
    margin: 40px auto;
 }

 .comment{
    color: #000;
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 150% */

    display: flex;
    /* max-width: 100%; */
    padding: 5px;
    margin-top: 40px;
    /* justify-content: center; */
    /* align-items: center; */
    /* gap: 10px; */
 }

.bg_wh{
    background: #ffffff;
}

 .bg_blue {
    background: url(../image/bg_blue.png) repeat-y top center / 100% auto;

 }

 .bg_gold {
    background: url(../image/bg_gold.png) repeat-y top center / 100% auto;
 }

 .note {
    margin-bottom: 40px;
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
 }

/*---------------------------------------------*
 * nav
 ---------------------------------------------*/
.nav_ttl {
    position: relative;
    margin-bottom: 26px;
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
}
.nav_ttl:after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    border-bottom: solid #fff 1px;
}

.nav_btn {
    position: relative;
    display: block;
    background: #fff;
    margin: 10px auto 40px;
    padding: 8px 20px 8px 8px;
    width: 100%;
    border-radius: 10px;
    color: #003565;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
}

.nav_btn:after {
    content: url(../image/nav_arrow.png);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
}

/*---------------------------------------------*
 * footer
 ---------------------------------------------*/
footer {
    background: #5D5D5D;
    padding: 14px 0 80px;
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
}

/*---------------------------------------------*
 * nav
 ---------------------------------------------*/
nav {
    display: flex;
    position: fixed;
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    /* opacity: 0; */
    /* visibility: hidden; */
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

nav a {
    display: block;
    width: calc((100% - 54px) / 4);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #D0DBE3;
    color: #003565;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
}

nav a:visited {
    background: #D0DBE3;
}

nav a + a {
    border-left: solid #003565 1px;
}

a:hover {
    filter: brightness(1.2);
}

.GoTop {
    width: 54px;
}

.active {
    background: rgba(255, 240, 150, 1) !important;
}

.is-show {
  opacity: 1;
  visibility: visible;
}

#fixbtns a:hover {
    filter: initial;
}
#fixbtns a:hover > span {
    filter: brightness(1.5);
}
