@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:wght@300;400;500;700&display=swap');
/* Reset
------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,textarea,p,blockquote,th,td {
    margin: 0;
    padding: 0;
}
address,em,strong,th {
    font-style: normal;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

th {
    text-align: left;
}

hr,legend {
    display: none;
}

h1,h2,h3,h4,h5,h6 {
    font-size: 100%;
}

img,fieldset {
    border: 0;
    -webkit-backface-visibility: hidden;
}

li {
    list-style-type: none;
}

img {
    vertical-align: top;
}

/*IE6*/
* html img{
    vertical-align: bottom;
}
/*IE7*/
*:first-child+html img{
    vertical-align: bottom;
}

a{
    outline:none;
}

/* Fonts
------------------------------------------------------------*/
body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    /*
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;*/

    -webkit-text-size-adjust: 100%;
    color: #1D1C1A;
    width: 100%;
    overflow-x: hidden;
}

body .font-r{
    font-family: "Roboto Condensed", sans-serif;
}

html>/**/body {
    font-size: 12px; /* Except IE */
}

/* clearfix
------------------------------------------------------------*/
.cf:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

* html .cf { zoom: 1; } /* IE6 */
*:first-child+html .cf { zoom: 1; } /* IE7 */


.ani_none,
.ani_none > *,
.ani_none:before,
.ani_none:after{
    transition:none !important;
    -webkit-transition:none !important;
    -moz-transition:none !important;
}


/*------------ 初期設定 ------------*/
p {
    color: #1D1C1A;
    line-height: 1.7;
}

/*------------ 全体 ------------*/
html {
}

body {
    width: 100%;
    overflow-x: hidden;
}

._hover{
    opacity:1;
    transition: all 0.4s;
}

._hover:hover{
    opacity:0.7;
}

@media screen and (max-width: 768px) {
    ._hover:hover{
        opacity:1;
    }
}

/*------------ WRAPPER ------------*/
#wrapper {
    padding-top: 80px;
    width:100%;
    margin:0 auto;
}

/*------------ HEADER ------------*/

header{
    background: #FFF;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 80px;
    border-bottom: 1px solid #EEE;
    box-sizing: border-box;
    z-index: 10;
}

header .inner{
    padding: 16px 24px;
    display: flex;
    justify-content: space-between;
}

header .inner .inner_r{
    padding-right: 244px;
    position: relative;
}

header .inner .inner_r ul{
    display: flex;
}

header .inner .inner_r ul li{
    margin-right: 40px;
    padding-top: 14px;
}

header .inner .inner_r ul li ul{
    display: none;
}

header .inner .inner_r ul li a{
    font-size: 14px;
    color: #1D1C1A;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.4s;
    opacity: 1;
}

header .inner .inner_r ul li a:hover{
    color: #5666BE;
}

header .inner .inner_r .btn_entry{
    position: absolute;
    right: 0;
    top: 0;
    width: 180px;
    height: 48px;
    padding: 12px 16px;
    display: block;
    text-align: center;
    border-radius: 56px;
    border: 2px solid #5666BE;
    padding-top: 14px;
    box-sizing: border-box;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    color: #5666BE;
    opacity: 1;
}

header .inner .inner_r .btn_entry:hover{
    background: #5666BE;
    color: #FFF;
}

.sp{
    display:none;
}

@media screen and (max-width: 1000px) {
    header .inner{
        padding: 16px 10px;
    }
    header .inner .inner_r{
        padding-right: 190px;
    }
    header .inner .inner_r ul li{
        margin-right: 20px;
    }
}

@media screen and (max-width: 850px) {
    header .inner .inner_r{
        padding-right: 150px;
    }
    header .inner .inner_r ul li{
        margin-right: 10px;
    }
    header .inner .inner_r .btn_entry{
        width: 140px;
    }
}

@media screen and (max-width: 768px) {
    *{
        max-width: 100%;
    }
    .sp{
        display:block;
    }

    .pc{
        display:none;
    }

    body ,
    html{
        width:100%;
        min-width:100%;
        overflow-x:hidden;
    }

    header{
        height: 14.93vw;
        border-bottom: 0.26vw solid #EEE;
        z-index: 40;
    }

    #wrapper {
        padding-top: 14.93vw;
    }

    header .inner{
        padding: 3.2vw 4.26vw;
    }

    header .inner .logo{
        width: 37.86vw;
    }

    header .inner .inner_r{
        display: none;;
        padding-right: 0;
        position: relative;
        position: fixed;
        left: 0;
        top: 14.93vw;
        width: 100%;
        padding:8vw 5.3vw;
        background: #FFF;
        box-sizing: border-box;
        height: calc(100% - 14.93vw);
        overflow-y: scroll;

    }

    header .inner .inner_r ul{
        display: block;
    }

    header .inner .inner_r ul li{
        margin-right: 0px;
        padding-top: 0px;
        margin-bottom: 5.86vw;
    }

    header .inner .inner_r ul li:last-child{
        margin-bottom: 0;
    }

    header .inner .inner_r ul li a{
        font-size: 4.8vw;
        color: #1D1C1A;
        text-decoration: none;
        font-weight: 700;
    }

    header .inner .inner_r ul li a:hover{
        text-decoration: underline;
    }

    header .inner .inner_r .btn_entry{
        display: none;;
    }

    header .inner #btn_menu{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 6.4vw;
        height: 6.4vw;
        position: absolute;;
        top: 50%;
        transform: translateY(-50%);
        right: 4.26vw;
        flex-wrap: wrap;
    }

    header .inner #btn_menu span{
        display: block;
        width: 4vw;
        height: 0.3vw;
        background: #5666BE;
        border-radius: 1.06vw;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        transition: all 0.4s;
    }

    header .inner #btn_menu span:nth-child(1){
        margin-top: -1.4vw;
    }
    header .inner #btn_menu span:nth-child(3){
        margin-top: 1.4vw;
    }

    header .inner #btn_menu.active span:nth-child(1){
        transform:translate(-50%,-50%) rotate(45deg) ;
        margin-top: 0;
    }
    header .inner #btn_menu.active span:nth-child(2){
        display: none;;
    }
    header .inner #btn_menu.active span:nth-child(3){
        transform:translate(-50%,-50%) rotate(-45deg) ;
        margin-top: 0;
    }

    header .inner .inner_r ul li ul{
        margin-top: 3.73vw;
        display: block;
    }

    header .inner .inner_r ul li ul li{
        margin-bottom: 2.93vw;
    }

    header .inner .inner_r ul li ul li a{
        font-size: 3.73vw;
        color: #69696B;
        font-width: 500;
    }

    header .inner .inner_r .sp_btn{
        margin-top: 10.6vw;
    }

    header .inner .inner_r .sp_btn .ttl{
        font-size: 4.26vw;
        font-weight: 500;
    }

    header .inner .inner_r .sp_btn ul{
        margin: 5.3vw auto 0;
        width: 100%;
    }

    header .inner .inner_r .sp_btn ul li{
        margin-bottom: 3.2vw;
    }

    header .inner .inner_r .sp_btn ul li:last-child{
        margin-bottom: 0;
    }

    header .inner .inner_r .sp_btn ul li a{
        display: flex;
        height: 11.73vw;
        align-items: center;
        position: relative;
        font-size: 4vw;
        text-decoration: none;
        color: #1D1C1A;
        font-weight: 700;
        border-radius: 10.6vw;
        border: 0.26vw solid var(--Border-Default, #DDD);
        background: #FFF;
        width: 100%;
        box-sizing: border-box;
        padding-left: 5.3vw
    }

    header .inner .inner_r .sp_btn ul li a span{
        display: block;
        position: absolute;
        right: 2.6vw;
        top: 50%;
        transform: translateY(-50%);
        width: 6.4vw;
        height: 6.4vw;
    }

    header .inner .inner_r .sp_btn ul li a span svg{
        width: 100%;
        height: auto;
    }

    header .inner .inner_r .btn_entry{
        margin-top: 10.6vw;
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
        height: 12.8vw;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 14.93vw;
        border: 0.53vw solid #5666BE;
        padding-top: 0;
        font-size: 4vw;
    }
}

/*------------ NAVI ------------*/


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


/*------------ FOOTER ------------*/
#btn_entry{
    margin-top: 240px;
    display: flex;
    width: 100%;
    height: 400px;
    background: #5666BE;
    color: #FFF;
    font-size: 28px;
    justify-content: center;
    align-items: center;
    letter-spacing: 11.2px;
    transition: all 0.4s;
    text-decoration: none;
    position: relative;
    overflow-x: hidden;
}

#btn_entry span{
    position: relative;
    z-index: 2;
    background: #5666BE;
    display: inline-block;
    padding: 5px 0;
}

#btn_entry svg{
    position: absolute;
    left: 50%;
    top: 22px;
    transform: translateX(-50%);
}

#btn_entry:hover{
    letter-spacing: 19.6px;
}

footer{
    background: #F9F8F8;
}

footer .inner{
    padding: 90px 80px 56px;
}

footer .inner .inner_top{
    position: relative;
}

footer .inner .inner_top .logo{
    position: absolute;
    left: 0;
}

footer .inner .inner_top ul{
    display: flex;
    justify-content: right;
}

footer .inner .inner_top ul li{
    font-size: 16px;
    font-weight: 500;
    display: flex;
    align-items: center;
}

footer .inner .inner_top ul li:nth-child(1){
    margin-right: 24px;
}

footer .inner .inner_top ul li:nth-child(2){
    margin-right: 12px;
}

footer .inner .inner_top ul li a{
    display: block;
    width: 201px;
    height: 44px;
    padding: 10px 10px 10px 20px;
    box-sizing: border-box;
    border-radius: 40px;
    border: 1px solid var(--Border-Default, #DDD);
    background: #FFF;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    color: #1D1C1A;
    text-decoration: none;
    position: relative;
    transition: all 0.4s;
}

footer .inner .inner_top ul li a span{
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 2px;
}

footer .inner .inner_top ul li a:hover{
    background: #5666BE;
    color: #FFF;
}

footer .inner .inner_top ul li a:hover rect{
    fill: #FFF;
}

footer .inner .inner_top ul li a:hover path{
    stroke: #5666BE;
}

footer .inner .inner_top ul li a rect,
footer .inner .inner_top ul li a path{
    transition: all 0.4s;
}

@media screen and (max-width: 1000px) {
    footer .inner{
        padding: 90px 20px 56px;
    }

}

@media screen and (max-width: 768px) {
    #btn_entry{
        margin-top: 21.3vw;
        height: 80vw;
        font-size: 4.26vw;
        letter-spacing: 1.706vw;
    }

    #btn_entry:hover{
        letter-spacing: 1.706vw;
    }

    #btn_entry svg{
        width: 100vw;
        height: 49.86vw;
    }

    #btn_entry svg{
        position: absolute;
        left: 0%;
        top: 17.86vw;
        transform: translateX(0%);
    }

    #btn_entry span{
        padding: 2vw 0;
    }

    footer .inner{
        padding: 32vw 6.4vw 12vw;
    }

    footer .inner .inner_top .logo{
        position: relative;
        left: 0;
    }

    footer .inner .inner_top .logo img{
        width: 21.3vw;
        height: auto;
    }

    footer .inner .inner_top ul{
        display: block;
        margin-top: 10.6vw;
    }

    footer .inner .inner_top ul li{
        font-size: 4.26vw;
        display: block;
    }

    footer .inner .inner_top ul li:nth-child(1){
        margin-right: 0;
        margin-bottom: 5.33vw;
    }

    footer .inner .inner_top ul li:nth-child(2){
        margin-right: 0;
        margin-bottom: 3.2vw;
    }

    footer .inner .inner_top ul li a{
        display: flex;
        width: 53.6vw;
        height: 11.73vw;
        padding: 0px 0px 0px 5.3vw;
        border-radius: 10.6vw;
        border: 0.26vw solid var(--Border-Default, #DDD);
        font-size: 4vw;
        align-items: center;;
    }

    footer .inner .inner_top ul li a span{
        display:  block;
        width: 6.4vw;
        height: 6.4vw;
        right: 2.6vw;
        margin-top: 0px;
    }

    footer .inner .inner_top ul li a span svg{
        width: 100%;
        height: auto;
    }

    footer .inner .inner_top ul li a:hover{
        background: #5666BE;
        color: #FFF;
    }

    footer .inner .inner_top ul li a:hover rect{
        fill: #FFF;
    }

    footer .inner .inner_top ul li a:hover path{
        stroke: #5666BE;
    }

    footer .inner .inner_top ul li a rect,
    footer .inner .inner_top ul li a path{
        transition: all 0.4s;
    }
}



footer .inner .inner_mid{
    padding: 40px;
    border-top: 1px solid #CCC;
    margin-top: 70px;
}

footer .inner .inner_mid > ul{
    display: flex;
}

footer .inner .inner_mid > ul > li{
    margin-right: 72px;
}

footer .inner .inner_mid > ul > li:last-child{
    margin-right: 0;
}

footer .inner .inner_mid > ul > li > a{
    font-size: 18px;
    font-weight: 500;
    color: #1F2224;
    text-decoration: none;
}

footer .inner .inner_mid > ul > li > a:hover{
    color: #5666BE;
}

footer .inner .inner_mid > ul > li > ul{
    margin-top: 18px;
}

footer .inner .inner_mid > ul > li > ul > li{
    margin-bottom: 8px;
}

footer .inner .inner_mid > ul > li > ul > li:last-child{
    margin-bottom: 0:;
}

footer .inner .inner_mid > ul > li > ul > li > a{
    color:#69696B;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

footer .inner .inner_mid > ul > li > ul > li > a:hover{
    color: #5666BE;
}

footer .inner .inner_mid > ul > li > a,
footer .inner .inner_mid > ul > li > ul > li > a,
footer .inner .inner_btm ul li a{
    transition: all 0.4s;
}

@media screen and (max-width: 1000px) {
    footer .inner .inner_mid > ul{
        justify-content: space-between;
    }

    footer .inner .inner_mid > ul > li{
        margin-right: 0;
    }

}

@media screen and (max-width: 768px) {
    footer .inner .inner_mid{
        padding: 0px;
    }

    footer .inner .inner_mid > ul{
        display: block;
        margin-top: 8vw;
        border-top: solid 0.26vw #DDD;
        border-bottom: solid 0.26vw #DDD;
        padding: 10.6vw 0;
    }

    footer .inner .inner_mid > ul > li{
        margin-right: 0px;
        margin-bottom: 8vw;
    }

    footer .inner .inner_mid > ul > li:last-child{
        margin-right: 0;
    }

    footer .inner .inner_mid > ul > li > a{
        font-size: 4.8vw;
    }

    footer .inner .inner_mid > ul > li > ul{
        margin-top: 4vw;
    }

    footer .inner .inner_mid > ul > li > ul > li{
        margin-bottom: 2.6vw;
    }

    footer .inner .inner_mid > ul > li > ul > li:last-child{
        margin-bottom: 0:;
    }

    footer .inner .inner_mid > ul > li > ul > li > a{
        font-size: 3.73vw;
    }

}

footer .inner .inner_btm{
    padding: 24px 32px;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    display: flex;
    justify-content: space-between;
}

footer .inner .inner_btm ul{
    display: flex;
}

footer .inner .inner_btm ul li{
    margin-right: 32px;
}

footer .inner .inner_btm ul li:last-child{
    margin-right: 0;
}

footer .inner .inner_btm ul li a{
    font-size: 14px;
    font-weight: 400;
    color: #1D1C1A;
    text-decoration: none;
}

footer .inner .inner_btm ul.r li{
    margin-right: 32px;
    position: relative;
}

footer .inner .inner_btm ul.r li:after{
    content: "";
    display: block;
    width: 1px;
    height: 18px;
    background: #CCC;
    position: absolute;
    right: -16px;
    top: 2px;
}

footer .inner .inner_btm ul.r li:last-child{
    margin-right: 0;
}

footer .inner .inner_btm ul.r li:last-child:after{
    display: none;
}

footer .inner .inner_btm ul.r li a{
    font-weight: 500;
}

footer .inner .inner_btm ul li a:hover{
    color: #5666BE;
}

footer .inner small{
    display: block;
    text-align: right;
    margin-top: 18px;
    font-size: 12px;
}

@media screen and (max-width: 1000px) {
    footer .inner .inner_btm{
        padding: 24px 5px;
    }

}

@media screen and (max-width: 768px) {

    footer .inner .inner_btm{
        padding: 0 0px;
        border-top: none;
        border-bottom: none;
        display: block;
    }

    footer .inner .inner_btm ul{
        display: block;
        padding-top: 6.4vw;
    }

    footer .inner .inner_btm ul li{
        margin-right: 0;
        margin-top: 4.26vw;
    }

    footer .inner .inner_btm ul li:last-child{
        margin-right: 0;
    }

    footer .inner .inner_btm ul li a{
        font-size: 3.73vw;
    }

    footer .inner .inner_btm ul.r{
        display: flex;
        justify-content: space-between;
        padding-top: 14.93vw;
    }

    footer .inner .inner_btm ul.r li{
        margin-right: 0;
        position: relative;
    }

    footer .inner .inner_btm ul.r li:after{
        content: "";
        display: none;
        width: 1px;
        height: 18px;
        background: #CCC;
        position: absolute;
        right: -16px;
        top: 2px;
    }

    footer .inner .inner_btm ul.r li:last-child{
        margin-right: 0;
    }

    footer .inner .inner_btm ul.r li:last-child:after{
        display: none;
    }

    footer .inner .inner_btm ul.r li a{
        font-weight: 500;
        font-size: 3.2vw;
    }

    footer .inner .inner_btm ul li a:hover{
        color: #5666BE;
    }

    footer .inner small{
        border-top: solid 0.26vw #DDD;
        margin-top: 5.3vw;
        padding-top: 5.3vw;
        font-size: 3.2vw;
    }

}

/*-------- text_right --------*/
.t_right {
    text-align: right;
}

/*-------- text_left --------*/
.t_left {
    text-align: left;
}

/*-------- center --------*/
.t_center {
    text-align: center;
}

/*-------- ClearBoth --------*/
.cb {
    clear: both;
}

/*-------- FONT --------*/

.bold{
    font-weight:700;
}

.f10{
    font-size:10px;
}

.f14{
    font-size:14px;
}

/*-------- HEIGHT --------*/

.h350{
    height:350px;
}

.h375{
    height:375px;
}

.h500{
    height:420px;
}

.h600{
    height:470px;
}

/*-------- MARGIN --------*/

.ml3{
    margin:0 0 0 3px;
}

.ml10{
    margin:0 0 0 10px;
}

.ml30{
    margin:0 0 0 30px;
}

.ml40{
    margin:0 0 0 40px;
}

.ml60{
    margin:0 0 0 60px;
}

.ml70{
    margin:0 0 0 70px;
}

.mb10{
    margin:0 0 10px 0;
}

.mb15{
    margin:0 0 15px 0;
}

.mt3{
    margin:3px 0 0 0;
}

.mt10{
    margin:10px 0 0 0;
}


.mt20{
    margin:20px 0 0 0;
}

.mt30{
    margin:30px 0 0 0;
}

/*-------- PADDING --------*/

.pt5{
    padding-top:5px;
}

.pt10{
    padding-top:10px;
}

.pt15{
    padding-top:15px;
}

.pt20{
    padding-top:20px;
}

.pt25{
    padding-top:25px;
}

.pt30{
    padding-top:30px;
}

.pt40{
    padding-top:40px;
}

.pt60{
    padding-top:60px;
}

.pl10{
    padding-left:10px;
}

.pl12{
    padding-left:12px;
}

.pl15{
    padding-left:15px;
}

.pl20{
    padding-left:20px;
}

.pl30{
    padding-left:30px;
}

.pl40{
    padding-left:40px;
}

.pl50{
    padding-left:50px;
}

.pl60{
    padding-left:60px;
}

.pl70{
    padding-left:70px;
}

.pl80{
    padding-left:80px;
}

.pl100{
    padding-left:100px;
}

.pr100{
    padding-right:100px;
}


.pb20{
    padding-bottom:20px;
}

/*-------- COMMON --------*/

.hidden{
    overflow:hidden;
}

.abs{
    position:absolute;
}

