@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_notoserif {
    font-family: "Noto Serif JP","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;
}



/* 共通 XXXXXXXXXXXXXXx */
.XXXXXXXXXXXXXX {

}

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

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

.header_maintitle {
    padding: 75px 0 70px;
    background-color: #00001E;
    background-image: url(../img/header_maintitle_bg.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100%;
}

.header_maintitle span {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translate(20%,55%);
    display: inline-block;
    width: 36%;
    height: auto;
    max-width: 470px;
    min-width: 150px;
}

.header_maintitle h1 {
    position: relative;
    color: #FFFFFF;
    font-size: 6.0rem;
    letter-spacing: 0.05em;
    line-height: 1.4;
    /* font-weight: 700; */
    font-family: "Folk Medium","フォーク M","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;
}

.header_maintitle h1::before {
    content: '';
    position: absolute;
    left: -10px;
    top: 54%;
    transform: translate(-100%,-50%);
    display: block;
    width: 99vw;
    height: 1.2px;
    background-color: #ffffff;
}

.header_maintitle p {
    margin: 50px 0 0 0;
    color: #FFFFFF;
    font-size: 2.8rem;
    letter-spacing: 0.1rem;
    font-weight: 700;
}

.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_about {
    padding: 100px 0;
    overflow: hidden;
}

.home_about_box + .home_about_box {
    margin: 60px 0 0 0;
}

.home_about_box > h2 {
    position: relative;
    /* max-width: 680px; */
    max-width: 62%;
    padding: 9px 30px;
    font-size: 2.4rem;
    letter-spacing: 0.2rem;
    line-height: 1.4;
    font-weight: 700;
    background-image: url(../img/home_about_title_arr.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%;
}

.home_about_box > h2::before,
.home_about_box > h2::after {
    content: '';
    position: absolute;
    right: 0;
    display: block;
    width: 99vw;
    height: 2px;
    background-color: #3D3D3D;
}

.home_about_box > h2::before {
    top: 0;
    right: 20%;
}

.home_about_box > h2::after {
    bottom: 0;
    box-shadow: -30px 4px 0 0.1px #C5C5C5;
}


.home_about_box h2 + * {
    margin-top: 30px;
}

.home_about_can,
.home_about_trigger,
.home_about_merit {
    padding: 0 50px;
}

.home_about_can > strong {
    display: block;
    color: #003D8F;
    font-size: 1.8rem;
    font-weight: 700;
}

.home_about_can > ul {
    counter-reset: 0;
    margin: 16px 0 0 0;
}

.home_about_can > ul li {
    counter-increment: canlist;
    display: flex;
    align-items: flex-start;
    margin: 4px 0 0 0;
}

.home_about_can > ul li::before {
    content: counter(canlist) ".";
    flex-shrink: 0;
    margin: -3px 10px 0 0;
    color: #003D8F;
    font-size: 1.8rem;
    font-weight: 700;
}


.home_about_merit ul li {
    display: flex;
    align-items: flex-start;
    margin: 8px 0 0 0;
}

.home_about_merit ul li::before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 7px 10px 0 0;
    background-color: #003D8F;
}




.home_case {
    padding: 70px 0;
    background-color: #00001E;
    background-image: url(../img/header_maintitle_bg.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100%;
}

.home_case_inner > h2 {
    text-align: center;
}

.home_case_inner > h2 span {
    padding: 0 20px 10px;
    border-bottom: 1px solid currentColor;
    color: #FFFFFF;
    font-size: 2.8rem;
    letter-spacing: 0.25rem;
    font-weight: 700;
    text-align: center;
}

.home_case_inner > ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 10px 0 0 0;
}

.home_case_inner > ul::after {
    content: '';
    display: block;
    width: 30%;
}

.home_case_inner > ul li {
    width: 30%;
    margin: 50px 0 0 0;
}

.home_case_inner > ul li > a {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding: 76% 0 0 0;
    overflow: hidden;
}

.home_case_inner > ul 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_inner > ul p {
    margin: 6px 0 0 0;
    color: #FFFFFF;
}

.home_case_inner > ul span {
    display: inline-block;
    margin: 8px 0 0 0;
}

.home_case_inner > ul span a {
    display: inline-block;
    padding: 0 18px 0 0;
    background-image: url(../img/header_backbtn_arr.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 10px;
    color: #ffffff;
}

.home_case_inner > div {
    margin: 50px 0 0 0;
    text-align: center;
}

.home_case_inner > div a {
    display: inline-block;
    min-width: 300px;
    padding: 20px;
    color: #003D8F;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    background-color: #ffffff;
}

.home_subinfo {
    padding: 100px 0;
    background-image: url(../img/header_maintitle_fig.svg);
    background-repeat: no-repeat;
    background-position: left -140px bottom 50px;
    background-size: auto;
}

.home_subinfo_inner {
    /* overflow: hidden; */
}

.home_subinfo_box {
    max-width: 1000px;
    padding: 40px 50px;
    margin: 0 auto;
    background-color: rgba(242, 242, 242, 0.7);
}

.home_subinfo_box + .home_subinfo_box {
    margin-top: 50px;
}

.home_subinfo_box > h2 {
    position: relative;
    display: inline-block;
    padding: 0 30px 2px;
    margin: 0 0 0 -50px;
    color: #000000;
    font-size: 2.0rem;
    font-weight: 700;
}

.home_subinfo_box > h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    /* transform: translate(-50%,-50%); */
    display: block;
    width: 99vw;
    border-bottom: 1px solid currentColor;
}

.home_subinfo_box ul {
    margin: 20px 0 0 0;
}

.home_subinfo_box ul li {
    display: flex;
    align-items: flex-start;
    margin: 8px 0 0 0;
}

.home_subinfo_box ul p {
    display: flex;
    align-items: flex-start;
    width: 100%;
}

.home_subinfo_box ul p::before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 7px 10px 0 0;
    background-color: #003D8F;
}

.home_subinfo_box ul span {
    flex-shrink: 0;
    display: inline-block;
    width: 100px;
    margin: 0 0 0 3%;
    letter-spacing: 0;
    text-align: right;
}


