@charset "UTF-8";


/* common /////////////////////////////////////////////////////////////////////////////////////////// */
.pcNone {
    display: none;
}

.cmn_maxbox {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.cmn_maxbox_1100 {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

/* フォントファミリー */
.font_notosans {
	font-family: "Noto Sans JP","HiraKakuProN-W3","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","HiraKakuProN-W6","ヒラギノ角ゴ ProN W6","HiraKakuPro-W6","ヒラギノ角ゴ Pro W6",Meiryo,"Yu Gothic",YuGothic,"游ゴシック体","メイリオ",Osaka,arial,helvetica,sans-serif;
}

.font_alexbrush {
    font-family: 'Alex Brush',"Helvetica Neue","Segoe UI",cursive;
}

.font_shippori {
    font-family: 'Shippori Mincho B1',"HiraMinProN-W3","Hiragino Mincho ProN","ヒラギノ明朝 ProN W3","Yu Mincho",YuMincho,"游明朝体","MS Mincho","ＭＳ 明朝","MS PMincho","ＭＳ Ｐ明朝","Symbol",serif;
}

/* main.cssの透過効果打ち消し */
a.opacityNone:hover,
.XXXXX a
{
    opacity: 1.0;
    filter: none; /* 初期値：none */
    -ms-filter: ""; /* 初期値："" */
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
}

/* aタグ(電話番号) */
a[href^="tel"] {
    pointer-events: none;
}



/* 共通見出し（下線） */
.cmn_tit_underline {
    color: #333333;
    font-size: 3.2rem;
    letter-spacing: 0.1rem;
    line-height: 1.7;
    font-weight: 400;
    text-align: center;
}

.cmn_tit_underline + * {
    margin-top: 40px;
}

.cmn_tit_underline span {
    display: inline-block;
    padding: 0 1.5em;
    border-bottom: 1px solid #003D8F;
}

/* 共通BOX */
.cmn_secbox {
    padding: 100px 0 0 0;
}

/* はみだし、スクロール防止 */
#wrapper {
    overflow: hidden;
}

/* header */
header {
    position: relative;
}

.header_maintitle {
    padding: 70px 0;
    background-image: url(../img/header_maintitle_bg.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.header_maintitle h1 {
    color: #4D4D4D;
    font-size: 5.8rem;
    letter-spacing: .05em;
    font-weight: 700;
    text-align: center;
}

.header_maintitle p {
    margin: 2.2em 0 0 0;
    color: #4D4D4D;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 500;
    text-align: center;
}

.header_slider {
    overflow: hidden;
}

.header_slider [class^="slide"] {
    height: 35vw;
    /* min-height: 220px; */
    /* min-height: 250px; */
    min-height: 300px;
    max-height: 600px;
    background-color: #ffffff;
    background-image: url(../img/header_mainslider_img01.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    /* -webkit-tap-highlight-color: rgba(0, 0, 0, 0); */
    /* outline: 1px solid transparent; */
}


.header_slider .slide01 {
    background-image: url(../img/header_mainslider_img01.jpg);
}

.header_slider .slide02 {
    background-image: url(../img/header_mainslider_img02.jpg);
}

.header_slider .slide03 {
    background-image: url(../img/header_mainslider_img03.jpg);
}

.header_slider .slide04 {
    background-image: url(../img/header_mainslider_img04.jpg);
}


/* swipper 上書き */
.header_slider .swiper-container-horizontal>.swiper-pagination-bullets,.header_slider .swiper-pagination-custom,
.header_slider .swiper-pagination-fraction {
    bottom: 4%;
}
.header_slider .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 20px;
}
.header_slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ffffff;
    opacity: 1;
}
.header_slider .swiper-pagination-bullet-active {
    background: #003D8F;
}
/* /swipper 上書き */

.header_backbtn {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    display: inline-block;
    width: auto;
    height: auto;
    padding: 16px 48px 16px 18px;
    color: #FFFFFF;
    letter-spacing: 0;
    line-height: 1.7;
    font-weight: 700;
    background-color: #003D8F;
    background-image: url(../img/header_backbtn_arr.svg);
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: auto;
}








/* footer */
footer {
    padding: 50px 0;
	background-color:#003D8F;
}

.footer_conts {
    display: flex;
    align-items: flex-start;
    max-width: 970px;
    margin: 0 auto;
    color:#FFFFFF;
    font-family: 'メイリオ','Helvetica Neue','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','Meiryo','ＭＳ Ｐゴシック';
}

.footer_logo {
    flex-shrink: 0;
    width:10%;
    margin-right:30px;
}

.footer_logo img {
	width:100%;
}

.footer_info {
    flex-shrink: 0;
    width:32%;
    margin:5px 30px 0px 0px;
    font-size: 1.4rem;
}

.footer_text {
    width:100%;
    margin-top:5px;
    font-size: 1.2rem;
}

.footer_text ul li {
    display: inline-block;
    margin-bottom:5px;
    padding:0px 5px;
    border-right:#FFF 1px solid;
    line-height: 1.05;
}

.footer_text ul li a {
	display: inline-block;
}

.footer_text ul li:last-child {
	border-right:none;
}

.footer_text p {
    margin-top:5px;
    padding-left:5px;
}




/* home /////////////////////////////////////////////////////////////////////////////////////////// */
.home_feature_list > div {
    display: flex;
    justify-content: space-between;
    min-height: 350px;
}

.home_feature_list > div > dt {
    position: relative;
    flex-shrink: 0;
    width: 40%;
    min-width: 400px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.home_feature_list > div:nth-of-type(1) > dt {
    background-image: url(../img/home_feature_img01.jpg);
}

.home_feature_list > div:nth-of-type(2) > dt {
    background-image: url(../img/home_feature_img02.jpg);
}

.home_feature_list > div:nth-of-type(3) > dt {
    background-image: url(../img/home_feature_img03.jpg);
}

.home_feature_list > div > dt::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.home_feature_list > div:nth-of-type(2n-1) > dt::after {
    background: linear-gradient(90deg, rgba(255,255,255,0) 75%, rgba(0,61,143,0.8) 100%);
}

.home_feature_list > div:nth-of-type(2n) > dt::after {
    background: linear-gradient(90deg, rgba(255,255,255,0) 75%, rgba(255,255,255,.8) 100%);
}

.home_feature_list > div > dd {
    /* display: flex;
    flex-direction: column; */
    width: 100%;
    padding: 2.6em 2.6em 1.5em;
}

.home_feature_list > div:nth-of-type(2n-1) > dd {
    color: #FFFFFF;
    background-color: #003D8F;
}

.home_feature_list > div:nth-of-type(2n) > dd {
    color: #333333;
    background-color: #E6E6E6;
}

.home_feature_list > div > dd h3 {
    font-size: 2.6rem;
}

.home_feature_list > div > dd p {
    margin: .8em 0 auto 0;
    font-size: 1.4rem;
    line-height: 2.0;
    font-weight: 500;
}

.home_feature_list > div > dd span {
    flex-shrink: 0;
    display: block;
    max-width: 700px;
    margin: .5em 0 0 0;
    font-size: 8.5rem;
    line-height: 1;
    font-weight: 400;
    text-align: right;
}

.home_feature_list > div:nth-of-type(2n-1) > dd span {
    color: #ffffff;
}

.home_feature_list > div:nth-of-type(2n) > dd span {
    color: #003D8F;
}


.home_case_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.home_case_list li {
    width: 48%;
    margin: 6% 0 0 0;
}

.home_case_list li:nth-of-type(-n+2) {
    margin-top: 0;
}

.home_case_list a {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.home_case_list figure {
    position: relative;
    flex-shrink: 0;
    height: 0;
    padding: 52% 0 0 0;
    overflow: hidden;
}

.home_case_list figure img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
    min-width: 0;
    min-height: 0;
}

.home_case_list div {
    height: 100%;
    padding: 1.3em 2.3em 1.6em;
    background-color: #E6E6E6;
}

.home_case_list div p {
    line-height: 1.7;
}

.home_case_list div span {
    display: block;
}

.home_case_list div small {
    display: block;
    padding: 0 1.8em 0 0;
    margin: 1.4em 0 0 0;
    color: #333333;
    background-image: url(../img/home_about_ico_arr.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto .9em;
    text-align: right;
}

.home_case_list a > span {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    padding: .2em 1.6em;
    color: #FFFFFF;
    font-size: 1.5rem;
    background-color: #003D8F;
}


.home_contact {
    position: relative;
    padding: 50px 0;
    margin: 100px 0 0 0;
    background-image: url(../img/home_contact_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.home_contact::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
}

.home_contact_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 5%;
}

.home_contact_inner > * {
    position: relative;
}

.home_contact_inner > div {
    width: 100%;
    color: #ffffff;
    font-weight: 700;
}

.home_contact_inner > div p {
    font-size: 2.4rem;
}

.home_contact_inner > div span {
    display: block;
    margin: 1.0em 0 0 0;
    font-size: 1.8rem;
}

.home_contact_inner > div a {
    display: inline-block;
    margin: -.2em 0 0 0;
    font-size: 3.0rem;
    vertical-align: middle;
}

.home_contact_inner > div small {
    display: inline-block;
}

.home_contact_inner > a {
    flex-shrink: 0;
    display: inline-block;
    padding: .8em 2em;
    background-color: #003D8F;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
}



