﻿/*===========================================================
HEADER MAIN-NAV　--ヘッダー・ナビ
lead-contents　--ヘッダー下のリードエリア
SECTION　--セクションの共通設定
それ以降は各セクションごとの設定
===========================================================*/

/* GENERAL STYLES
================================================== */
/* @font-face {
    font-family: 'YuMinchoL';
    src: url('../fonts/yuminlight.woff') format('woff');
  } */


html {
    height:100%;
    margin: 0 auto;
    position: relative;
    overflow-x: hidden;
    font-size: 62.5%;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-size:1.5rem;
    line-height: 1.8em;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Sans-Serif;
    color:#282828;
    margin:0;
    padding:0;
    height:100%;
    width:100%;
    -webkit-font-smoothing:antialiased;
    -webkit-text-size-adjust:100%;
    word-break: break-word;
    word-wrap: break-word;
    position: relative;
}

ul li {
    display:inline-block;
    list-style:none;
}

img{width:100%;}

.wrapper {
    z-index:100;
    position:relative;
}


a{text-decoration:none; transition: .3s;}

a:hover{opacity:0.6; transition: .3s;}

/*テキストスタイル*/
.center{text-align:center!important;}
.fw-b{font-weight: bold;}
.small{font-size: 1.2rem;}

.textLink{
    color:rgb(66, 128, 228);
    text-align: center;
    margin: 1rem 0;
}
.textLink a, .textLink a:link, .textLink a:active{color:rgb(66, 128, 228); text-decoration: underline;}
.textBlue{color: #254775;}
.underline{text-decoration: underline;}

/*マージン*/
.mb10{margin-bottom: 1rem !important;}
.mb20{margin-bottom: 2rem !important;}
.mb30{margin-bottom: 3rem !important;}
.mb40{margin-bottom: 4rem !important;}
.mb50{margin-bottom: 5rem !important;}
.m-lra{margin-left: auto;margin-right: auto;}

/*width*/
.w600{width:100%;max-width: 600px;}

/*レスポンシブ*/
.pc-none{display:none;}

/*シャドウ*/
.drop_shadow{
    filter: drop-shadow(0 0 7px rgba(18, 57, 155, 0.2));
}

.center{
    text-align:center;
}

/* btn
================================================== */
/*btn01*/
.btn01{text-align: center;position: relative;}
.btn01 a, input[type="submit"]{
    display: block;
    color:#8f5b63;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    position: relative;
    padding: 2rem 1.5rem;
    transition: .5s ease-in-out;
}
.btn01 a:before{
    content: "";
    display: block;
    width: 40px;
    height: 20px;
    border-top: 2px solid #8f5b63;
    border-left: 1px solid #8f5b63;
    position: absolute;
    top: 0;
    left: 0;
    transition: .5s ease-in-out;
}
.btn01 a:after{
    content: "";
    display: block;
    width: 40px;
    height: 20px;
    border-bottom: 2px solid #8f5b63;
    border-right: 1px solid #8f5b63;
    position: absolute;
    bottom: 0;
    right: 0;
    transition: .5s ease-in-out;
}

.btn01:hover, input[type="submit"]:hover{
    transition: .5s ease-in-out;
}
.btn01:before{
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff4f4;
    border-radius: 100%;
    transition: .5s ease-in-out;
    transform: scale(0);
    transform-origin: center;
}
.btn01:hover:before{
    transform: scale(1);
    border-radius: 0;
    transition: .5s ease-in-out;
}
.btn01:hover a{
    opacity: 1;
    transition: .5s ease-in-out;
}
.btn01:hover a:after, .btn01:hover a:before{
    width: calc(100% + 7px);height: calc(100% + 7px);
    transition: .6s ease-in-out;
}

.colBoxBtn01{
    width: 21%;
}

input[type="submit"]{
    width: 320px;
}

/*btn02*/
.btn02{text-align: center;}
.btn02 a{
    display: block;
    width: 240px;
    color:#1f7ae0;
    font-size: 1.5rem;
    position: relative;
    padding: 1rem;
    border: 1px solid #1f7ae0;
    border-radius: 5px;
    margin-left: auto; margin-right: auto;
}
.btn02 a:after{
    content: "";
    display: inline-block;
    width: 1.7rem;
    height: 1.5rem;
    background: url(../img/arrow_blue.png) no-repeat 100%;
    margin-left: 1rem;
    vertical-align: middle;
    margin-top: -0.3rem;
    transition: .2s;
}
.btn02 a:hover:after, .btn02 a:active:after{
    transform: translateX(1rem);
    transition: .2s;
}

/*お問合せボタン*/
.btn_contact a{
    display: block;
    width: 90%;
    max-width: 630px;
    background: #35c657;
    border-radius: 10px;
    padding: 4rem 0;
    color: #fff;
    font-size: 2.9rem;
    font-weight: 600;
    text-align: center;
    margin-left: auto;margin-right: auto;
    transition: .2s;
}
.btn_contact a img{
    display: inline-block;
    height: 1em;
    width: auto;
    vertical-align: middle;
    margin-top: -0.8rem;
    position: relative;
    left: 15px;
}
/*hover*/
.btn_contact a:hover{
    opacity: 1;
    background: #25b446;
    transition: .2s;
}

/*ページトップ*/
.btn_pageTop {
    bottom: 10px;
    position: fixed;
    right: 10px;
    z-index: 7;
}
.btn_pageTop a {
    background: rgba(255, 120, 0, 0.7);
    display: block;
    width: 36px;
    height: 36px;
    padding: 5px;
    transition: 0.3s;
    border-radius: 2px;
}
.btn_pageTop img {
    height: 25px;
    width: 25px;
}

/*HEADER
================================================== */
/* header */
#top-head {
    width: 100%;
    max-width: 1240px;
    line-height: 1;
    z-index: 500;
    transition: .5s;
    padding-top: 10px;
    margin-left: auto;margin-right: auto;
    margin-bottom: 2rem;
}

/* Fixed */
#top-head.fixed {
    position: fixed;
    top: -70px;
    z-index: 999;
    animation: headerFixed 1s forwards;
}

#top-head .inner {
}

.headTop{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.navLeft{
    display: flex;
    align-items: flex-end;
}
.navRight{
    display: flex;
    align-items: flex-end;
    line-height: 1.6em;
}
.navRight>*{
    display: block;
    width: auto;
    color: #254775;
    font-size: 1.4rem;
}
.navTel{
    margin-right: 2rem;
}
.navAdress{
    line-height: 1.2em;
    text-align: end;
}

h1.header_tit {
    margin:0 2rem 0 0;
    position: relative;
    z-index: 99;
}
h1.header_tit a{
    display: block;
}
h1.header_tit span{
    display: block;
    font-size:1.2rem;
    font-weight: 300;
    text-align: left;
    line-height: 1rem;
    color: #1b1b1b;
    margin-bottom: 1.8rem;
}
h1.header_tit img{
    display: inline-block;
    width:14vw;max-width: 240px;height: auto;
}



/*下層ヘッダー*/
.singleheader:after{
    content: "";
    display: block;
    width: 100%;height: 2rem;
    /*background: url(../img/mainv_bg_pc.png) no-repeat;*/
    background-size: 100%;
    background-position: bottom;
    background-color: #fffbfb;
    opacity: 0.6;
}

/*ナビメニュー*/
#global-nav{
    max-width:1040px;
    margin:0 auto;
    display: flex;
    justify-content: space-between;align-items: center;
    margin-top: 1.2rem;
}

.navMenu{display: table;width:100%;max-width:890px;}
.navMenu li {display: table-cell;position: relative;}
.navMenu li a{
    display: block;
    font-family: 'Shippori Mincho B1', serif;
    color:#2b2b2b;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    padding:0.8rem 2.2rem;
}
/* .navMenu li:after{
    content: "";
    display: block;
    width: 0px;
    height: 1px;
    background: #254775;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%,0);
    transition: .3s;
} */
.navMenu li a:hover{
    color: #5a1f29;
    transition: .3s;
}
.navMenu li:hover:after{
    width: 18%;
    transition: .3s;
}
.navMenu li.active a{
    color: #FF9900;
    font-weight: 800;
    position: relative;
    transition: .3s;
}
/* .navMenu li.active:after{
    content: "";
    display: block;
    width: 18%;
    height: 1px;
    background: #254775;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%,0);
    transition: .3s;
} */



/*コンタクトボタン*/
.btnTel a{ 
    display: inline-block;
    font-weight: bold;
    font-size: 2.6rem;
    color: #254775;
}

.btnTel a img{
    display: inline-block;
    width: auto;
    height: 1em;
    vertical-align: middle;
    margin-right: 4px;
    margin-top: -5px;
}


@media screen and (max-width:1180px) {
    .navMenu li a{padding: 1.5rem 1rem;}

    .btnTel a{font-size:2.2rem;}
    .navRight>*{font-size: 1.3rem;}
}


/*mainv*/
.firstV{
    ine-height: 0;
    /*height: 100vh;*/
    min-height: 600px;
    padding: 0px 55px 0px 55px;
    /*background: url(../img/mainv_bg_pc.png) no-repeat;*/
    background-size: 100%;
    background-position: bottom;
    background-color: #fffbfb;
}

.mainvWrap{
    width: 100%;
    height: calc(100% - 107px);
    position: relative;
    top: 0;
    border-radius: 10px;
    overflow: hidden;
}
.mainv{
    width: 100%;
    height: 100%;
    /*background: url(../img/mainv_pc.png) no-repeat;*/
    /*background-size: cover;*/
    background-position: center;
     /*animation: mainvZoom 15s 1s forwards;*/
}
.mainv_img{
width:82%;
display: block;
margin: auto;
padding:75px 0px 80px 0;;
}

.sectionv{
    width: 100%;
    height: 100%; 
    padding:50px 0;
}

@keyframes mainvZoom{
    0%{transform:scale(1);}
    100%{transform:scale(1.05);}
}



/*flexbox*/
.colBox_between{
    display: flex;
    justify-content: center;
}
/*2colum*/
.flexBox_col02{
    display: flex;
    justify-content: space-between;
}
.flexBox_col02>*{width:48%;}

.flex_wrap{
    flex-wrap: wrap;
}


/* SECTION
================================================== */

section.contBlock{
    width: 100%;
    /*margin: 15rem 0 20rem;*/
     /*position: relative;*/
}

.contInner{
    width:98%;
    max-width: 1320px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6rem;
}

#planeBlock .contInner{
    max-width: 1240px;
    padding:0 20px;
}

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

}

/****** 見出し ******/
h2{
    color: #333;
    font-family: 'Shippori Mincho B1', serif;
    font-size: 4.3rem;
    font-weight: 600;
    line-height: 1em;
    text-align: center;
    position: relative;
    margin-bottom: 3rem;
    top: -2.5rem;
}
.h2_en{
    display: inline-block;
    color: #ffcc7f;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Sans-Serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1em;
    /*position: absolute;*/
    bottom: 0.1em;
    left: 80rem;
    z-index: -1;
    padding-left:10px;
}
h2.h2right{
    text-align: right;
}
h2.h2right .h2_en{
    left: auto;right: 9.8rem;
}


h3{
    color: #0c3c9c;
    font-size:1.8rem;
    font-weight: 700;
    text-align: left;
    padding-bottom: 0.5rem;
}



/****** 業務内容 ******/

/*
section#serviceBlock:before{
    content: "";
    display: block;
    width: 30%;height: 110%;
    background-color: #fff4f4;
    background-image: linear-gradient(159deg, #fff4f4 0%, #fff4f4 79%, #ffe5e9 100%);
    position: absolute;
    top: 0;left: 0;
    z-index: -2;
}
section#serviceBlock .contInner{
    padding: 0px 80px 0px 20px;
}
*/


#serviceBlock h2{
    margin-left: -20px;
    padding-top:50px;
}

.serviceItem{
    margin-bottom: 8.6rem;
    align-items: center;
}

.serviceItem_img{
    position: relative;
    width: 40%;
    max-width: 560px;    
    /* min-width: 430px; */
}
.serviceItem_img span{
    display: block;
    width: 100%;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1em;
    color: #fff;
    position: absolute;
    text-align: center;
    text-shadow: 0px 3px 10px rgb(14 28 69 / 80%);
    top: 50%;
    transform: translateY(-25%);
}

..serviceItem_txt_100{
    width: 100%;
    max-width: 1180px;
    font-size: 1.5rem;
    line-height: 2em;
}

.serviceItem_txt{
    width: 100%;
    max-width: 640px;
    padding-left:20px;
    font-size: 1.5rem;
    line-height: 2em;
}

.service_midashi{
    display:block;
    font-size:120%;
    font-weight: bold;
}

/****** 会社概要 ******/
/*
section#companyBlock:before{
    content: "";
    display: block;
    width: 30%;height: 110%;
    background-color: #fff4f4;
    background-image: linear-gradient(204deg, #fff4f4 0%, #fff4f4 79%, #ffe5e9 100%);
    position: absolute;
    top: 0;right: 0;
    z-index: -2;
}

*/
section#companyBlock .contInner{
    padding: 0px 20px 0px 80px;
}

#companyBlock h2{
    margin-right: 80px;
}

.companyAbout{
    position: relative;
    width: 50%;
    min-width: 440px;
    padding-right: 40px;
}
.companyAbout_Name{
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 0.3rem;
}
.companyAbout_Nameen{
    font-family: 'Shippori Mincho B1', serif;
    font-size: 1.8rem;
    color: #a1a1a1;
    margin-bottom: 4rem;
}
.companyAbout_txt{
    margin-bottom: 2rem;
}
.companyAbout .btn01{
    width: 80%;
    bottom: -5rem;
    margin-left: auto;
    margin-right: auto;
}

.companyAbout_Address{
    font-size: 1.4rem;
    color: #a1a1a1;
}

.map{
    display: block;
    padding-top: 40%;
    position: relative;
    width: 60%;
    border: 9px solid #254775;
}
.map iframe{
    width: 100%;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
}



/*-------- コンテンツのスタイル --------*/
.liststyle1{
    list-style: none;
    width: 100%;
    margin: 0 auto 45px auto;
    text-align: left;
}

.liststyle1 p {text-align: left;}
.liststyle1>*{vertical-align: top;}
.liststyle1>*:first-child{margin-right: 10px;}
.liststyle1 iframe {margin-top: 20px;}


.table01{
    width:80%;
    margin: 60px auto;
}
.table01 th, .table01 td{
    padding: 2rem 0 1rem 1rem;
    font-weight: 500;
    vertical-align: top;
    border-bottom: 1px solid #ffe9ec;
}
.table01 th{
    width: 150px;
    color: #254775;
    text-align: left;
}


/*single
================================================== */

.singleBox_inner{
    padding-bottom: 3rem;
    margin-bottom: 3rem;

}

/* TWITTER SECTION
================================================== */
.twitterBox{
    border: 1px solid #707070;
    border-radius: 10px;
    padding:20px;
}

.twitter-timeline{width:450px;}
#twitter-widget-0{width:100%!important;}

.timeline-Widget {
    max-width: 1200px;
}


.accesArea{
    width:100%;
    margin: 0 3rem 8rem 0;
}
.accesArea iframe{
    display: block;
    margin: 0px auto;
    width: 100%;
    border-radius:2px;
}

.accessImg{text-align: center;}
.accessImg01{
    width: 300px;
    margin-bottom: 1em;
}



/*　お問合せ
================================================== */
.contBlock#contact{
    background: #003399;
    position: relative;
}
.contact_bg_box {
    width: 100%;
    height: auto;
    line-height: 0;
    margin-top: -180px;
}

.contact_form_box{
    width: 100%;
    max-width: 800px;
    background: #fff;
    border-radius: 10px;
    padding: 3rem;
    margin: 0 auto;
}

.background_tit{
    background: #0c3c9c;
    color: #fff;
    padding: 1rem;
    border-radius: 5px;
    margin-bottom: 2rem;
    position: relative;
}
.contact_form_box h4:after{
    content: "";
    display: block;
    width: 0px;
    height: 0px;
    border-top: 6px solid #0c3c9c;
    border-left: 6px solid #0c3c9c;
    border-bottom: 6px solid transparent;
    border-right: 6px solid transparent;
    position: absolute;
    bottom: -6px;
    left: 1.8rem;
    transform: rotate(-135deg);
}

/* .contact_form_box label:before{
    content: "";
    display: inline-block;
    width: 0.5em;height: 1em;
    background: #2e63de;
} */


.wpcf7-list-item label{display: table;}
.wpcf7-list-item label>*{
    display: table-cell;
    margin-right: 2em;
}

div.wpcf7 .ajax-loader {
    left: 50% !important;
    transform: translate(-50%, 0px);
    bottom: -40px !important;
    z-index: 9 !important;
    position: absolute !important;
}

.contact_h2 span{
    color: #fff;
}

.contact_tell{
    color: #fff;
    text-align: center;
    font-size: 2.2rem;
}
.contact_tell img{
    height: 1em;width: auto;
    margin-left: 0.5em;
    margin-right: 0.5em;
}
.contact_tell a{
    font-size: 2.8rem;
}

.contactForm>*{
    margin-bottom: 30px;
}

.form_item_midashi{
    font-weight: 600;
    margin-bottom: 0.3em;
}

.formBlock{
    width:100%;
    max-width:600px;
    margin:0 auto;
}

form>p{margin-bottom: 1em;}
input, textarea{
    width:100%;
    padding:0px 10px;
    border: 1px solid #c6c6c6;
    border-radius:5px;
}

.mw_wp_form{
    margin-top: 30px;
    padding: 10px 15px;
}

.mwform-tel-field input{width:auto;}

.tel{
    font-size:24px;
    font-weight: 600;
    color:#e05b0e;
}

button[type="submit"]{
    display: block;
    width:60%;
    background:#2079E2;
    border-radius:5px;
    border:none;
    color:#fff;
    font-size:18px;
    font-weight: 600;
    margin:30px auto 0;
    padding:10px;
}

.mw_wp_form_complete{
    border: 1px solid #e05b0e;
}

.contact_a{margin-bottom: 0.5em;margin-top: 0.3em;}
.kiyakuBox{
  width: 90%;height: 300px;
  overflow-y: hidden;  
  margin: 2rem auto;
  padding: 1rem;
  border: 1px solid #eee;
}
.kiyakuBox iframe{width: 100%;height: 500px;border: none;}
.hissu{font-size:1.3rem;color:#c62a27}
.input-s input{
    display: inline-block;
    width: 120px;
}
.input-m input{
    display: inline-block;
    width: 240px;
}
.m-r05 input{
    margin-right: 0.5em;
}
.m-l05 input, .m-l05 select{
    margin-left: 0.5em;
}

.scroll{
    height: 300px;
    overflow-y: scroll;
    border: 1px solid #c6c6c6;
    border-radius: 10px;
    padding: 1rem;
}



/*fotter
================================================== */
footer{
    background: #fff;
}

.footerInner{
    padding: 4rem 0;
}

.footerNav{
    text-align: center;
}
.footerNav li{
    margin: 0 1rem;
}
.footerNav li a{
    font-family: 'Shippori Mincho B1', serif;
    color:#2b2b2b;
    font-size: 1.5rem;
    font-weight: 600;
}

.copy{
    font-size:12px;
    text-align: center;
    font-weight: 300;
    color: #254775;
    padding: 1rem 0;
}


/*single
================================================== */
.single .contBlock#linkBlock{
    padding-top: 5rem;
    padding-bottom: 5rem;   
}
.single .contBlock#contact{
    margin-top: 0;
}
