@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: 14px;
color: #000;
}

.en_font{
font-family: 'Lato', sans-serif;
}

.serif_font{
font-family: 'Noto Serif JP', serif;
}

.pc{
display: block;
}

.sp{
display: none;
}

.contents_in{
max-width: 1080px;
width: 96%;
margin: 0 auto;
}

a{
color: #000;
}

a:hover{
color:#000;
}

a:link{
color:#000;
}

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

.flex_box{
display: flex;
}

.btn_ptn01{
width: 100%;
max-width: 240px;
}

.btn_ptn01 a{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
background: #082C62;
color: #fff;
border-radius: 5px;
padding: 11px 0;
font-size: 16px;
font-weight: 500;
line-height: 24px;
}

.btn_ptn01 a::after{
content: "";
display: inline-block;
margin-left: 20px;
width: 34px;
height: 6px;
background: url(../img/arrow01.png) no-repeat center/contain;
transition: .3s;
}

.btn_ptn01 a:hover::after{
transform: translateX(10px);
}

.title_ptn01.center{
text-align: center;
}

.title_ptn01 .en{
display: block;
font-size: 16px;
font-weight: 700;
line-height: 19px;
letter-spacing: .2em;
color: #082C62;
margin-bottom: 10px;
text-transform:uppercase;
}

.title_ptn01 .ja{
display: block;
font-size: 22px;
font-weight: 500;
line-height: 31px;
}

.title_ptn02{
display: flex;
flex-wrap: wrap;
align-items: center;
}

.title_ptn02 .en{
display: block;
font-size: 66px;
font-weight: 300;
line-height: 79px;
letter-spacing: .1em;
color: #082C62;
margin-right: 20px;
text-transform: uppercase;
}

.title_ptn02 .ja{
display: block;
font-size: 20px;
font-weight: 500;
line-height: 29px;
}

.title_ptn03{
text-align: center;
}

.title_ptn03 .en{
display: block;
font-size: 16px;
font-weight: 700;
line-height: 19px;
letter-spacing: .2em;
color: #082C62;
text-transform: uppercase;
}

.title_ptn03 .ja{
display: block;
font-size: 32px;
font-weight: 500;
line-height: 49px;
}

/*パンくず*/
#pankuzu_area{
padding: 18px 0 12px;
}

#pankuzu_area .pankuzu_list{
align-items: center;
flex-wrap: wrap;
}

#pankuzu_area .pankuzu_list li{
margin-right: 10px;
}

#pankuzu_area .pankuzu_list li a{
font-size: 12px;
font-weight: 400;
line-height: 24px;
color: #141414;
transition: .3s;
}

#pankuzu_area .pankuzu_list li a:hover{
opacity: .7;
}

#pankuzu_area .pankuzu_list li a::after{
content: "";
display: inline-block;
width: 5px;
height: 5px;
border-top: 1px solid #141414;
border-right: 1px solid #141414;
margin: 0 0 0 5px;
transform: rotateZ(45deg);
}

/*下層タイトルエリア*/
.under_title_area{
padding-bottom: 65px;
}

.under_title_area .first_text{
font-size: 18px;
font-weight: 400;
line-height: 28px;
letter-spacing: .05em;
text-align: center;
margin-top: 47px;
}

/*ページャー*/
#pager{
margin-top: 50px;
}

#pager .wp-pagenavi{
display: flex;
align-items: center;
justify-content: center;
}

#pager .wp-pagenavi a,
#pager .wp-pagenavi span{
display: inline-block;
width: 6px;
height: 6px;
padding: 0;
border: none;
border-radius: 50%;
text-decoration: none;
margin: 0 12px;
background: #CBCBCB;
font-size: 0;
color: transparent;
transition: .3s;
}

#pager .wp-pagenavi a:hover,
#pager .wp-pagenavi span.current{
background: #000;
}

#pager .wp-pagenavi a.previouspostslink,
#pager .wp-pagenavi a.nextpostslink{
display: flex;
align-items: center;
justify-content: center;
width: 47px;
height: 47px;
border-radius: 5px;
background: #082C62;
}

#pager .wp-pagenavi a.previouspostslink{
margin-right: 43px;
}

#pager .wp-pagenavi a.nextpostslink{
margin-left: 43px;
}

#pager .wp-pagenavi a.previouspostslink::after{
content: "";
display: block;
width: 6px;
height: 10px;
background: url(../img/arrow_left01.png) no-repeat center/contain;
}

#pager .wp-pagenavi a.nextpostslink::after{
content: "";
display: block;
width: 6px;
height: 10px;
background: url(../img/arrow_right01.png) no-repeat center/contain;
}

/*slick*/
.slick-dots{
display: flex;
align-items: center;
justify-content: center;
}

.slick-dots li{
display: inline-block;
border: none;
padding: 0;
margin: 0 12px;
background: #CBCBCB;
width: 6px;
height: 6px;
border-radius: 50%;
font-size: 0;
}

.slick-dots li button{
display: inline-block;
appearance: none;
border: none;
padding: 0;
margin: 0;
background: #CBCBCB;
width: 6px;
height: 6px;
border-radius: 50%;
font-size: 0;
}

.slick-dots li.slick-active button{
background: #000;
}

.slick-arrow{
display: flex;
align-items: center;
justify-content: center;
width: 47px;
height: 47px;
border-radius: 5px;
background: #082C62;
border: none;
appearance: none;
transition: .3s;
cursor: pointer;
}

.slick-arrow:hover{
background: #000;
}

.slick-arrow.next-arrow::after{
content: "";
display: block;
width: 6px;
height: 10px;
background: url(../img/arrow_right01.png) no-repeat center/contain;
}

.slick-arrow.prev-arrow::after{
content: "";
display: block;
width: 6px;
height: 10px;
background: url(../img/arrow_left01.png) no-repeat center/contain;
}

/*ページトップボタン*/
#pagetop{
position: fixed;
bottom: 135px;
left: 50%;
transform: translateX(-50%);
pointer-events: none;
width: 100%;
max-width: 1280px;
}

#pagetop a{
display: block;
position: relative;
width: 45px;
height: 45px;
transition: .3s;
background: #082C62;
pointer-events: auto;
border-radius: 5px;
margin: 0 40px 0 auto;
}

#pagetop a:hover{
background: #000;
}

#pagetop a::after{
content: "";
position: absolute;
display: block;
width: 10px;
height: 6px;
background: url(../img/arrow02.png) no-repeat center/contain;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
transition: .3s;
}


/*----------
02.ヘッダー
----------*/
header{
max-width: 1280px;
margin: 0 auto;
height: 120px;
position: relative;
}

header .logo{
position: absolute;
top: 0;
left: 0;
width: 240px;
height: 240px;
z-index: 1000;
}

header .logo a{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 37px;
font-weight: 500;
line-height: 56px;
color: #fff;
background: #082C62;
transition: .3s;
}

header .logo a:hover{
background: #000;
}

header .nav_wrap{
position: fixed;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 100%;
z-index: 100;
background: rgba(255,255,255,.7);
}

header .nav_wrap .nav_contents_in{
max-width: 1280px;
margin: 0 auto;
align-items: center;
justify-content: flex-end;
}

header .nav_wrap ul{
margin-right: 20px;
align-items: center
}

header .nav_wrap ul li{
position: relative;
font-size: 16px;
font-weight: 500;
line-height: 24px;
}

header .nav_wrap ul li a{
display: block;
padding: 0 1em;
}

header .nav_wrap ul li a:hover{
color: #305998;
}

header .nav_wrap ul li + li::before{
content: "";
position: absolute;
display: block;
width: 1.5px;
height: 16px;
background: #000;
left: 0;
top: 50%;
transform: translateY(-50%);
}

header .nav_wrap .link_box{
width: 120px;
height: 120px;
}

header .nav_wrap .link_box a{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 16px;
font-weight: 500;
line-height: 1;
transition: .3s;
}

header .nav_wrap .entry a{
background: #305998;
}

header .nav_wrap .contact a{
background: #082C62;
}

header .nav_wrap .entry a:hover,
header .nav_wrap .contact a:hover{
background: #000;
}

/*--------------------------
03.ページ下部 お問合せについて
--------------------------*/
#contact_area{
padding: 70px 0;
background: url(../img/bg_footer_contact.jpg) no-repeat center bottom/cover;
}

#contact_area .contact_box{
max-width: 680px;
background: #fff;
padding: 56.7px 34px 65.5px;
}

#contact_area .cnt_g{
margin-top: 46.8px;
}

#contact_area .cnt_wrap{
width: 50%;
text-align: center;
padding-bottom: 11px;
}

#contact_area .cnt_wrap:last-child{
border-left: 1px solid #D9D9D9;
}

#contact_area .cnt_wrap p{
line-height: 22px;
font-weight: 400;
margin-top: -8px;
color: #141414;
}

#contact_area .cnt_wrap .btn_ptn01{
margin: 29px auto 0;
}

/*----------
04.フッター
----------*/
footer .footer_link{
padding: 94px 0 98.5px;
align-items: center;
justify-content: center;
}

footer .footer_link li{
position: relative;
font-size: 16px;
font-weight: 500;
line-height: 24px;
}

footer .footer_link li a{
display: block;
padding: 0 1em;
}

footer .footer_link li a:hover{
color: #305998;
}

footer .footer_link li + li::before{
content: "";
position: absolute;
display: block;
width: 1.5px;
height: 16px;
background: #000;
left: 0;
top: 50%;
transform: translateY(-50%);
}

footer .copyright{
font-weight: 400;
line-height: 20px;
text-align: center;
color: #fff;
background: #082C62;
padding: 13px 20px 14.5px;
}

@media only screen and (max-width:1024px){
/*----------
01.共通
----------*/


/*----------
02.ヘッダー
----------*/
header{
height: 90px;
}

header .logo{
width: 120px;
height: 120px;
}

header .logo a{
font-size: 20px;
line-height: 1.5;
}

header .nav_wrap ul{
margin-right: 10px;

}

header .nav_wrap ul li{
font-size: 13px;
}

header .nav_wrap ul li + li::before{
font-size: 13px;
}

header .nav_wrap .link_box{
width: 90px;
height: 90px;
}

header .nav_wrap .link_box a{
font-size: 13px;
}

/*----------
04.フッター
----------*/
footer .footer_link {
padding: 60px 0;
}

footer .footer_link li {
font-size: 15px;
}

}

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

/*----------
01.共通
----------*/

.pc{
display: none;
}

.sp{
display: block;
}

.contents{
margin-top: 50px;
}

.contents_in{
width: calc(100% - 40px);
}

.btn_ptn01 a {
padding: 8px 0;
font-size: 15px;
}

.title_ptn01 .en{
font-size: 14px;
margin-bottom: 5px;
}

.title_ptn01 .ja{
font-size: 18px;
line-height: 25px;
}

.title_ptn02 .en{
font-size: 32px;
line-height: 40px;
margin-right: 10px;
}

.title_ptn02 .ja{
font-size: 14px;
line-height: 22px;
}

.title_ptn03 .en{
font-size: 14px;
}

.title_ptn03 .ja{
font-size: 26px;
}

/*下層タイトルエリア*/
.under_title_area{
padding-bottom: 55px;
}

.under_title_area .first_text{
font-size: 16px;
margin-top: 30px;
}

/*ページャー*/
#pager .wp-pagenavi a:hover,
#pager .wp-pagenavi span.current{
background: #000;
}

#pager .wp-pagenavi a.previouspostslink,
#pager .wp-pagenavi a.nextpostslink{
width: 38px;
height: 38px;
}

#pager .wp-pagenavi a.previouspostslink{
margin-right: 24px;
}

#pager .wp-pagenavi a.nextpostslink{
margin-left: 24px;
}

/*ページトップボタン*/
#pagetop {
bottom: 45px;
}

#pagetop a{
width: 35px;
height: 35px;
margin: 0 10px 0 auto;
}

/*----------
02.ヘッダー
----------*/
header{
position: fixed;
width: 100%;
height: 50px;
top: 0;
left: 0;
background: #fff;
z-index: 1000;
}

header .logo{
width: 100px;
height: 100px;
}

header .logo a{
font-size: 18px;
}

header .open_btn {
width: 32px;
height: 24px;
position: relative;
cursor: pointer;
margin: 13px 0 0 auto;
}

header .open_btn span{
width: 100%;
height: 3px;
position: absolute;
display: block;
background: #082C62;
top: 0;
left: 0;
transition: .3s;
border-radius: 1px;
}

header .open_btn span:nth-child(2){
top: 50%;
transform: translateY(-50%);
}

header .open_btn span:nth-child(3){
top: auto;
bottom: 0;
}

header .open_btn.open span:nth-child(1),
header .open_btn.open span:nth-child(3){
opacity: 0;
}

header .nav_wrap{
display: none;
position: absolute;
width: 100%;
height: calc(100vh - 50px);
top: 50px;
left: 0;
transform: translateX(0);
padding: 60px 20px 40px;
background: #fff;
overflow-y: auto;
}

header .nav_wrap .nav_contents_in{
display: block;
}

header .nav_wrap ul{
margin: 0 auto 60px;
display: block;
}

header .nav_wrap ul li{
width: 100%;
font-size: 18px;
font-weight: 700;
line-height: 1.8;
border-bottom: 1px solid #082C62;
}

header .nav_wrap ul li a{
padding: 15px 0;
}

header .nav_wrap ul li + li::before{
content: none;
}

header .nav_wrap .link_box{
width: 100%;
max-width: 335px;
height: 60px;
margin: 0 auto 20px;
}

header .nav_wrap .link_box a {
font-size: 16px;
}

/*--------------------------
03.ページ下部 お問合せについて
--------------------------*/
#contact_area{
padding: 45px 0;
}

#contact_area .contact_box{
padding: 40px 20px;
max-width: 450px;
}

#contact_area .cnt_g{
margin-top: 30px;
display: block;
}

#contact_area .cnt_wrap{
width: 100%;
padding: 0 0 25px;
}

#contact_area .cnt_wrap:last-child{
border-left: none;
border-top: 1px solid #D9D9D9;
padding: 25px 0 0;
}

#contact_area .cnt_wrap p{
margin-top: 0;
}

#contact_area .cnt_wrap .btn_ptn01{
margin: 20px auto 0;
}

/*----------
04.フッター
----------*/
footer .footer_link{
padding: 40px 0;
flex-wrap: wrap;
max-width: 450px;
}

footer .footer_link li{
font-size: 13px;
margin-bottom: 10px;
}

footer .copyright{
font-size: 12px;
padding: 10px 20px;
}








}
