@charset "UTF-8";
/* CSS Document */
/*--------------------
01.共通
02.ヘッダー
03.
04.
--------------------*/

/*----------
01.共通
----------*/


body{
-webkit-font-smoothing: antialiased;
}

*{
box-sizing: border-box;
}

*:focus {
outline: none;
}

#wrapper{
width: 100%;
overflow: hidden;
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
color: #000000;
font-weight: 400;
}

.pc{
display: block;
}

.sp{
display: none;
}

.contents_in{
max-width: 1080px;
width: 84.375%;
margin: 0 auto;
}

a{
color: #000000;
}

a:hover{
color:#000000;
}

a:link{
color:#000000;
}

img{
width: 100%;
height: auto;
display: block;
}

.flex_box{
display: flex;
}

.biz{
font-family: 'BIZ UDMincho', serif;
}

#fixed01{
position: fixed;
left: 40px;
bottom: 28.75%;
width: 115.38px;
height: 124.13px;

z-index: 5;
line-height: 21px;
text-align: center;

font-weight: 700;
color: #22355F;
}

#fixed01 a{
display: block;
padding: 39px 0 40.1px;
background: center/contain no-repeat url(../../img/top/sannka.png);
}

#fixed01 a:hover{
opacity: 0.7;
}

.h2_type01{
font-size: 25px;
font-family: 'BIZ UDMincho', serif;
letter-spacing: 0.1em;
font-weight: 700;
line-height: 25px;
padding-bottom: 38.44px;
position: relative;
text-align: center;
color: #22355F;
margin: 0 auto 60px;
}

.h2_type01::after{
content: "";
display: inline-block;
width: 46.89px;
height: 13.44px;
background: center/contain no-repeat url(../img/h2_deco.png);
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);

}

.h2_type01.is-inview::after{
animation-delay: 2.5s;
animation-duration: 0.5s;
animation-name: yukkuri;
animation-fill-mode: forwards;
opacity: 0;
}

@keyframes yukkuri {

from {
opacity: 0;
}

to {
opacity: 1;
}

}


.h2_type01.is-inview{
white-space:nowrap;
overflow:hidden;
animation:jojo 2.5s;
}

@keyframes jojo {

from {

width:0%;
}

to {

width:100%;
}

}


.swiper-wrapper {
transition-timing-function: linear;
}

.btn_type01{
max-width: 260px;
}

.btn_type01 a{
display: block;
width: 100%;
padding: 10.5px 0;
background-color: #C24332;
border-radius: 23px;
font-weight: 500;
color: #fff;
text-align: center;
position: relative;
line-height: 24px;
}

.btn_type01 a::after{
content: "";
display: inline-block;
width: 7px;
height: 7px;
border-right: 2px solid #fff;
border-bottom: 2px solid #fff;
position: absolute;
top: 50%;
right: 17.7px;
transform:translateY(-50%) rotate(-45deg);
transition: 0.4s;
}

.btn_type01 a:hover:after{
right: 10px;
transition: 0.4s;
}

.btn_type01.form a{
display: flex;
align-items: center;
padding-left: 30.2px;
}

.btn_type01.form a::before{
content: "";
display: inline-block;
width: 25.98px;
height: 22.86px;
background: center/contain no-repeat url(../img/icon_form.png);
margin-right: 9.8px;
}

#go_top{
width: 60px;
height: 60px;
border-radius: 50%;
background-color: #DACE9B;
display: none;
right: 40px;
bottom: 50px;
}

#go_top.go{
z-index: 5;
position: fixed;
display: block;
animation-name: goto;
animation-duration: 1s;
animation-fill-mode: forwards;
}

@keyframes goto{
from{
bottom: -100%;
opacity: 0;
}

to{
bottom: 50px;
opacity: 1;
}
}

#go_top a{
display: block;
width: 100%;
height: 100%;
}

#go_top a::before{
content: "";
display: inline-block;
width: 14.14px;
height: 14.14px;
border-right: 2px solid #22355F;
border-bottom: 2px solid #22355F;
position: relative;
top: 25.5px;
left: 50%;
transform: translateX(-50%) rotate(-135deg);
transition: 0.4s;
}

#go_top a:hover::before{
top: 18px;
transition: 0.4s;
border-right: 3px solid #22355F;
border-bottom: 3px solid #22355F;
}

.copyright{
left: 24px;
display: block;
padding: 8px 0;
background-color: #22355F;
text-align: center;
color: #fff;
}
/*----------
02.ヘッダー
----------*/
header{
position: fixed;
width: 100%;
top: 0;
left: 3.1%;
z-index: 5;
}

/* header .contents_in{
max-width: 1200px;
width: 93.75%;
} */

header .flex_box{
background-color: #DACE9B;
border-radius: 0 0 10px 10px;
max-width: 210px;
padding: 10px 20px;
justify-content: space-between;
z-index:3;
position: relative;
}

header .flex_box .icon{
width: 40px;
transition: 0.4s;
}

header .flex_box .icon:hover{
transform: scale(1.1);
transition: 0.4s;
}

@media only screen and (max-width:1024px){
/*----------
01.共通
----------*/


/*----------
02.
----------*/


}

@media only screen and (max-width:750px){

/*----------
01.共通
----------*/

.pc{
display: none;
}

.sp{
display: block;
}

.contents_in{
width: 89.33%;
}

#wrapper{
font-size: 14px;
}

#fixed01{
display: none;
}

#fixed02{
display: none;
align-items: center;
justify-content: space-between;
left: 0;
bottom: 0;
width: 100%;
height: 65px;
padding: 9.5px 20px;
background-color: #DACE9B;
border-radius: 20px 20px 0 0;
}

#fixed02.fixed{
position: fixed;
z-index: 15;
opacity: 1;
display: block;
}

#fixed02.fixed .contents_in{
    max-width: 335px;
    margin: 0 auto;
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

#fixed02 .sannka {
    width: 180px;
}

#fixed02 .sannka a{
display: block;
background: center/contain no-repeat url(../img/sannka_sp.png);
padding: 13px 0;
text-align: center;
color: #22355F;
font-size: 14px;
font-weight: 600;
line-height: 20px;
}

#fixed02 .flex_box {
    width: calc(100% - 200px);
    justify-content: space-between;
}

#fixed02 .flex_box .icon{
width: 40px;
}

.h2_type01 {
font-size: 18px;
line-height: 22px;
padding-bottom: 22.17px;
margin-bottom: 40px;
}

#go_top{
width: 50px;
height: 50px;
right: 20px;
bottom: 100px;
}

#go_top a::before{
width: 10px;
height: 10px;
top: 22px;
}

#go_top a:hover::before{
top: 18px;
transition: 0.4s;
}

@keyframes goto{
    from{
    bottom: -100%;
    opacity: 0;
    }
    
    to{
    bottom: 100px;
    opacity: 1;
    }
    }
/*----------
02.ヘッダー 750
----------*/
header{
display: none;
}


}

@media only screen and (max-width:360px){
    #fixed02 {
        padding: 9.5px 15px;
    }

    #fixed02 .sannka {
        width: 145px;
    }

    #fixed02 .flex_box {
        width: calc(100% - 150px);
    }
}
