@charset "utf-8";



/* Reset CSS

-------------------------------*/



body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{

    margin:0;

    padding:0;

}

table{

    border-collapse:collapse;

    border-spacing:0;

}

fieldset,img{

    border:0;

}

address,caption,cite,code,dfn,em,strong,th,var{

    font-style:normal;

    font-weight:normal;

}

ul,ol,li{

    list-style:none;

}

caption,th{

    text-align:left;

}

h1,h2,h3,h4,h5,h6{

    font-size:100%;

    font-weight:normal;

}

q:before,q:after{

    content:'';

}

abbr,acronym {border:0;font-variant:normal;}

sup {vertical-align:text-top;}

sub {vertical-align:text-bottom;}

hr {display:none;}

input,textarea,select{

    font-family:inherit;

    font-size:inherit;

    font-weight:inherit;

    *font-size:100%;

}

*,

*::before,

*::after {

    box-sizing: border-box;

}



/* フルードイメージ */

img{

    max-width:100%;

    height:auto;

    vertical-align: bottom;

    margin:0;

    padding:0;

}



.clearfix:after {

    content: "."; 

    display: block; 

    height: 0; 

    clear: both; 

    visibility: hidden;

}

.clearfix {display: inline-block;}/*IE7用*/



/* Hides from IE-mac \*/

* html .clearfix { height:1%;}

.clearfix { display:block;}

/* End hide from IE-mac */



.alpha a:hover img {

    opacity: 0.7;

    filter: alpha(opacity=70);

    -ms-filter: "alpha(opacity=70)";

}



/* スムーススクロール　（IE以外） */

html {scroll-behavior: smooth;}



/* layout */

.fl { float: left; }

.fr { float: right; }

.clear { clear: both; }

.ar { text-align: right; }

.al { text-align: left; }

.ac { text-align: center; }

.strong{font-weight:bold;}



@font-face {

    font-family: "Cinzel";

    src: url("fonts/Cinzel-VariableFont_wght.ttf") format("truetype");

}

@font-face {

    font-family: "NotoSerifJP-M";

    src: url("fonts/NotoSerifJP-Medium.otf") format("opentype");

}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&display=swap');



/* 基本設定

-------------------------------*/

body {

    font-family:  'Noto Sans JP',Arial,"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo, "Yu Gothic", "Meiryo", verdana, sans-serif;

	font-size: 17px;

	line-height: 1.8em;

    letter-spacing: 0.1em;

	color: #000;

	-webkit-text-size-adjust: 100%;

}

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



    body {

        font-size: 16px;

        line-height: 1.8em;

        letter-spacing: 0;

    }



}





#wrapper{

	margin:0 auto;

	padding:0;

	width:100%;

	overflow:hidden;

}





/* リンク設定

-------------------------------*/

a {

  outline:none;

    color: #0c4161;

}



a:hover {

  text-decoration: none;

}



a,a:hover,a:hover img {

  -webkit-transition: 0.5s;

  -moz-transition: 0.5s;

  -o-transition: 0.5s;

  transition: 0.5s;

  text-decoration: none;

}



a:hover {

  filter: alpha(opacity=80);

  -moz-opacity:0.80;

  opacity:0.80;

}



/* PCで電話リンクしない */

@media(min-width: 768px){

  a[href^="tel:"]{

    pointer-events: none;

  }

}



.flex{

    display: flex;

    flex-wrap: wrap;

    justify-content: space-between;

}







/* ヘッダー

-------------------------------*/

* html #header{height:1%;}

#header{

    width: 100%;

    background: url(../img/common/ttl_bg.jpg) center center no-repeat;

    background-size: cover;

    margin-bottom: 100px;

}

#header .inner{

    width: 100%;

    display: flex;

    justify-content: space-between;

    align-items: center;

}

#header .logo{

    width: 540px;

    text-align: right;

    padding-left: 20px;

}



.ttl_box{

    width: 100%;

    height: 430px;

    display: flex;

    justify-content: center;

    align-items: center;

    text-align: center;

    color: #0c4161;

    padding-bottom: 100px;

}



.ttl_box .en{

    font-family: "Cinzel",serif;

    font-size: 100px;

    line-height: 1.1em;

}

.ttl_box .ja{

    font-family: "NotoSerifJP-M",serif;

    font-size: 20px;

    line-height: 1.2em;

    letter-spacing: 0.2em;

}



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

    #header .logo{

        width: 30%;

    }

    .ttl_box{

        height: 35.8vw;

        padding-bottom: 8.3vw;



    }

    .ttl_box .en{

        font-size: 8.3vw;

        line-height: 1.1em;

    }



}

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

    #header{

        margin-bottom: 12.3vw;

    }

    #header .logo{

        width: 80%;

        text-align: left;

        padding-left: 10px;

        padding-top: 10px;

    }

    .ttl_box .ja{

        font-size: 17px;

        line-height: 1.2em;

        letter-spacing: 0.1em;

    }



}

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



    #header .logo img{

        width: 250px;

        height: auto;

    }



}

























/* フッター

-------------------------------*/

#footer{

    width: 100%;

    background: url(../img/common/f_bg.jpg) center center no-repeat;

    background-size: cover;

    padding-top: 120px;

    margin-top: 100px;

}

.f_contact{

    text-align: center;

    margin-bottom: 80px;

}

.f_contact .ttl{

    margin-bottom: 30px;

    font-size: 15px;

}

.f_contact .ttl .en{

    font-family: "Cinzel",serif;

    font-size: 84px;

    line-height: 1.1em;

    color: #ced9df;

}

.f_contact .ttl .ja{

    font-family: "NotoSerifJP-M",serif;

    font-size: 20px;

    line-height: 1.2em;

    letter-spacing: 0.2em;

    color: #0c4161;

}

.f_contact .btn_box{

    width: 90%;

    max-width: 640px;

    margin: auto;

    background-color: #fff;

    background-image: url(../img/common/f_toi_bg.png);

    background-position: 45px center;

    background-repeat: no-repeat;

    border: solid 1px #dcdddd;

    padding: 30px 10px 30px 70px;

}



.f_contact .btn_box .btn{

    width: 100%;

    max-width: 340px;

    margin: 10px auto 0;

}

.f_contact .btn_box .btn a{

    width: 100%;

    height: 60px;

    display: flex;

    justify-content: center;

    align-items: center;

    background: url(../img/common/f_toi_btn_bg.png);

    background-size: cover;

    color: #fff;

}

.f_contact .btn_box .btn a span{

    padding-right: 25px;

    background: url(../img/common/f_toi_btn_arrow.png) right center no-repeat;

}



#footer .inner{

    width: 100%;

    position: relative;

}

.f_info{

    width: 90%;

    max-width: 1600px;

    margin: auto;

    padding-bottom: 100px;

}

.f_info .add{

    margin-top: 20px;

    line-height: 1.4em;

    

}

.f_info .add span{

    display: inline-block;

}

.f_navi{

    position: absolute;

    right: 0;

    bottom: 0;

    width: 55%;

    max-width: 1060px;

    background-color: #0c4161;

    color: #fff;

    padding: 40px 3%;

}

.f_navi ._in{

    width: 100%;

    max-width: 800px;

    font-size: 15px;

    line-height: 1.4em;

}

.f_navi ul{

    display: flex;

    flex-wrap: wrap;

    justify-content: flex-end;

}

.f_navi li{

    margin-left: 2em;

    margin-bottom: 10px;

}

.f_navi li a{

    color: #fff;

    padding-left: 15px;

    background: url(../img/common/f_toi_btn_arrow.png) left center no-repeat;

}

.f_navi li a:hover{

    text-decoration: underline;

}

#footer .copy{

	text-align:right;

	font-size:12px;

	margin-top:20px;

}

/*  ページトップへ */

#pageTop{

	position:fixed;

	bottom:50px;

	right:20px;

}



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

    .f_contact .ttl .en{

        font-size: 7vw;

        line-height: 1.1em;

    }

    #footer .inner{

        text-align: center;

    }

    .f_info{

        padding-bottom: 30px;

    }

    .f_navi{

        position: static;

        width: 100%;

        max-width: initial;

        max-width: auto;

        padding: 30px 5%;

    }

    .f_navi ._in{

        margin: auto;

    }

    .f_navi ul{

        justify-content: center;

    }

    #footer .copy{

        text-align:center;

    }

    

}



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

    #footer{

        padding-top: 14.8vw;

        margin-top: 12.3vw;

    }

    .f_contact{

        margin-bottom: 9.8vw;

    }

    .f_contact .ttl .en{

        font-size: 8.5vw;

        line-height: 1.1em;

    }

    

}



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

    

    .f_contact .btn_box{

        padding: 20px 5%;

        font-size: 14px;

    }

    .f_navi{

        padding: 20px 5%;

    }



    .f_navi ul{

        display: none;

    }

    #footer .copy{

        margin-top:0;

    }

    

    #pageTop img{

        width:40px;

        height:auto;

    }

}

































/* TOP

-------------------------------*/



#header.top01{

    background-image: url(../img/top/top01_bg.jpg);

}



.top01 .ttl_box{

    width: 100%;

    height: 44vw;

    display: block;

    color: #fff;

    padding-bottom: 0;

    position: relative

}



.top01 .ttl_box .txt01{

    position: absolute;

    left: 72.6vw;

    top: 4.6vw;

    width: 8.5vw;

}

.top01 .ttl_box .txt02{

    position: absolute;

    left: 64.9vw;

    top: 13.7vw;

    width: 4.9vw;

}

.top01 .ttl_box .img01{

    position: absolute;

    left: 18.7vw;

    top: 10.8vw;

    width: 20vw;

}

.top01 .ttl_box .img02{

    position: absolute;

    left: 42.8vw;

    top: 20vw;

    width: 19vw;

}

.top01 .ttl_box .img01 img,

.top01 .ttl_box .img02 img{

    width: 100%;

    height: auto;

    max-width: none;

}



/*フェードイン表示の指定*/

.fadein {

    opacity: 0;

    animation: fadein 1s ease forwards;

}

@keyframes fadein {

    100% {  opacity: 1;}

}

.txt01 {animation-delay: 0.3s;}

.txt02 {animation-delay: 0.6s;}

.img01 {animation-delay: 1.8s;}

.img02 {animation-delay: 1.2s;}





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



    .top01 .ttl_box{

        height: 80vw;

    }

    .top01 .ttl_box .txt01{

        left: 72.6vw;

        top: 4.6vw;

        width: 16vw;

    }

    .top01 .ttl_box .txt02{

        left: 55vw;

        top: 13.7vw;

        width: 12vw;

    }

    .top01 .ttl_box .img01{

        left: 5vw;

        top: 20vw;

        width: 30vw;

    }

    .top01 .ttl_box .img02{

        left: 5vw;

        top: 50vw;

        width: 30vw;

    }

}

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

    .top01 .ttl_box{

        height: 140vw;

    }

    .top01 .ttl_box .txt01{

        left: 68vw;

        top: 16vw;

        width: 22vw;

    }

    .top01 .ttl_box .txt02{

        left: 37vw;

        top: 35vw;

        width: 22vw;

    }

    .top01 .ttl_box .img01{

        display: none;

    }

    .top01 .ttl_box .img02{

        display: none;

    }

}









.top02{

    width: 100%;

    max-width: 1920;

    margin: auto;

    padding-bottom: 120px;

    position: relative;

}

.top02 .txt ._in{

    width: 670px;

}

.top02 .txt .ttl01{

    text-align: left;

}

.top02 .txt .ttl02{

    text-align: left;

    letter-spacing: 0.15em;

    position: relative;

    padding-bottom: 30px;

}

.top02 .txt .ttl02:before{

    position: absolute;

    left: 0;

    bottom: 0;

    width: 70px;

    height: 2px;

    background-color: #0c4161;

    content: "";

}

.top02 .img{

    position: absolute;

    top: 220px;

    left: 59%;

    width: 41%;

}

.top02 .btn_more a{

    margin-left: auto;

}





@media only screen and (min-width:811px){

    .top02 .img img{

        width: auto;

        max-width: none;

        height: 550px;

    }

}

@media (min-width:811px) and (max-width:1333px){

    .top02 .txt ._in{

        width: 55%;

    }

}

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

    .top02{

        padding-bottom: 0;

    }

    .top02 .txt ._in{

        width: 100%;

    }

    .top02 .img{

        position: static;

        width: 100%;

        margin-top: 30px;

    }

    .top02 .btn_more a{

        margin-right: auto;

    }



}







.top03 li{

    width: 48%;

}

.top03 li .sub{

    text-align: center;

    font-family: "NotoSerifJP-M",serif;

    font-size: 28px;

    line-height: 1.2em;

    color: #0c4161;

    margin-top: 30px;

    padding-bottom: 30px;

    margin-bottom: 30px;

    background: url(../img/common/kei_active.png) center bottom no-repeat;

}

.top03 li .sub .num{

    font-family: "Cinzel",serif;

    font-size: 120%;

    margin-bottom: 8px;

}

.top03 li p{

    font-size: 95%;

    line-height: 1.7em;

}





.top03 .btn_more a{

    margin: auto;

}

@media (min-width:811px) and (max-width:1200px){



    .top03 li .sub{

        font-size: 2.3vw;

        line-height: 1.2em;

    }

}

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



    .top03 li{

        width: 100%;

        max-width: 580px;

        margin: 0 auto 60px;

    }

    .top03 li:last-child{

        margin-bottom: 0;

    }



}

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



    .top03 li{

        margin-bottom: 40px;

    }



    .top03 li .sub{

        font-size: 20px;

        line-height: 1.2em;

        margin-top: 15px;

        padding-bottom: 15px;

        margin-bottom: 20px;

    }

    .top03 li .sub .num{

        margin-bottom: 3px;

    }

}







.rec_box{

    width: 100%;

    max-width: 1920px;

    margin: auto;

    margin-top: 180px;

    position: relative;

    padding-top: 100px;

    padding-left: 50%;

    padding-right: 3%;

    padding-bottom: 170px;

    background: url(../img/service/rec_box_bg.jpg) center bottom no-repeat;

}

.rec_box .txt{

    width: 100%;

    max-width: 656px;

}

.rec_box .ttl01{

    text-align: left;

}

.rec_box .ttl02{

    text-align: left;

    position: relative;

    padding-bottom: 30px;

}

.rec_box .ttl02:before{

    position: absolute;

    left: 0;

    bottom: 0;

    width: 70px;

    height: 2px;

    background-color: #0c4161;

    content: "";

}



.rec_box .img{

    position: absolute;

    left: 0;

    top: 0;

    width: 45%;

}

.rec_box .img img{

    width: auto;

    height: 537px;

    object-fit: cover;

}



.btn_more{

    margin-top: 60px;

}

.btn_more a{

    display: flex;

    justify-content: center;

    align-items: center;

    width: 80%;

    max-width: 400px;

    height: 80px;

    font-family: "Cinzel",serif;

    color: #fff;

    text-align: center;

    background-image: url(../img/common/f_toi_btn_arrow.png),url(../img/common/f_toi_btn_bg.png);

    background-position: 90% center,center center;

    background-repeat: no-repeat,no-repeat;

    background-size: auto auto,cover;

}

@media only screen and (min-width:1920px){

    .rec_box{

        padding-left: 960px;

    }

}

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

    .rec_box{

        margin-top: 22vw;

        padding-top: 0;

        padding-left: 0%;

        padding-right: 0%;

        padding-bottom: 0;

        background: none;

    }

    .rec_box .txt{

        width: 100%;

        max-width: initial;

        max-width: auto;

        padding-left: 5%;

        padding-right: 5%;

    }

    .rec_box .img{

        position: static;

        width: 100%;

        text-align: center;

        margin-top: 40px;

    }

    .rec_box .img img{

        width: auto;

        height: auto;

    }

    .btn_more{

        margin-top: 30px;

    }



}

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

    .rec_box .ttl02{

        letter-spacing: 0;

        padding-bottom: 20px;

    }

    .rec_box .ttl02:before{

        width: 40px;

    }

    .btn_more a{

        height: 60px;

    }



}





























/* 共通

-------------------------------*/



.cont_lead{

    width: 90%;

    max-width: 960px;

    margin: 0 auto 80px;

}

.ttl01{

    text-align: center;

    margin-bottom: 30px;

}

.ttl01 .en{

    font-family: "Cinzel",serif;

    font-size: 84px;

    line-height: 1em;

    color: #ced9df;

}

.ttl01 .ja{

    font-family: "NotoSerifJP-M",serif;

    font-size: 20px;

    line-height: 1.2em;

    letter-spacing: 0.2em;

    color: #0c4161;

}

.ttl02{

    font-family: "NotoSerifJP-M",serif;

    font-size: 30px;

    line-height: 1.8em;

    letter-spacing: 0.2em;

    color: #0c4161;

    text-align: center;

    margin-bottom: 30px;

}

.bg_gray{

    background-color: #f5f7f9;

    padding: 160px 0;

}

.w1200{

    width: 90%;

    max-width: 1200px;

    margin: auto;

}



.ttl03{

    font-family: "NotoSerifJP-M",serif;

    font-size: 24px;

    line-height: 1.8em;

    letter-spacing: 0.2em;

    color: #0c4161;

    padding-bottom: 30px;

    margin-bottom: 30px;

    position: relative;

}

.ttl03:before{

    position: absolute;

    left: 0;

    bottom: 0;

    width: 40px;

    height: 2px;

    background-color: #0c4161;

    content: "";

}

.ttl03 .num{

    font-family: "Cinzel",serif;

    font-size: 40px;

    line-height: 1em;

}



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

    .ttl02{

        font-size: 2.5vw;

        line-height: 1.8em;

    }

    .bg_gray{

        padding: 13vw 0;

    }



    .ttl03{

        padding-bottom: 2.5vw;

        margin-bottom: 2.5vw;

    }



}



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

    .cont_lead{

        margin-bottom: 9.8vw;

    }



    .ttl01 .en{

        font-size: 8.5vw;

        line-height: 1.1em;

    }

    .ttl02{

        font-size: 20px;

        line-height: 1.8em;

        letter-spacing: 0.1em;

    }



}

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

    .ttl01{

        margin-bottom: 20px;

    }

    .ttl01 .ja{

        font-size: 17px;

        line-height: 1.2em;

        letter-spacing: 0.1em;

    }

    .ttl02{

        font-size: 20px;

        line-height: 1.8em;

        letter-spacing: 0.05em;

        margin-bottom: 20px;

        text-align: left;

    }

    .ttl03{

        font-size: 18px;

        line-height: 1.8em;

        letter-spacing: 0.05em;

    }

    .ttl03 .num{

        display: inline-block;

        margin-right: 10px;

        font-size: 30px;

        line-height: 1em;

    }

    .ttl03 .ja{

        display: inline-block;

    }

}

















/* 事業案内

-------------------------------*/

.sev01 .img{

    text-align: center;

    margin: 40px 0;

}

.sev02 .ttl01{

    margin-bottom: 80px;

}

.sev_item{

    padding: 110px 0;

    border-top: solid 1px #ced9df;

}

.sev_item:last-child{

    border-bottom: solid 1px #ced9df;

}



.sev_item .txt{

    width: 50%;

    max-width: 540px;

}

.sev_item .img{

    width: 47.5%;

}

.sev_item .txt02{

    width: 100%;

    margin-top: 50px;

}

.sev_item .txt02 li{

    width: 31%;

    background-color: #0c4161;

    padding: 40px;

    color: #fff;

}

.sev_item .txt02 li .icon{

    text-align: center;

    margin-bottom: 30px;

}

.sev_item .txt02 li .cate{

    text-align: center;

    margin-top: 10px;

    font-family: "NotoSerifJP-M",serif;

    font-size: 20px;

    line-height: 1.2em;

}

.sev_item .txt02 li p{

    font-size: 95%;

    line-height: 1.6em;

}



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

    .sev02 .ttl01{

        margin-bottom: 40px;

    }



    .sev_item{

        padding: 13vw 0;

    }

    .sev_item .txt{

        width: 100%;

        max-width: initial;

        max-width: auto;

        margin-bottom: 30px;

    }

    .sev_item .img{

        width: 100%;

        text-align: center;

    }

    .sev_item .txt02 li{

        padding: 20px;

    }

}



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

    .sev01 .img{

        margin: 20px 0;

    }

    

    .sev_item .txt02{

        margin-top: 20px;

    }

    .sev_item .txt02 li{

        width: 100%;

        margin-bottom: 15px;

        padding: 20px 10px;

        display: flex;

        justify-content: space-between;

        align-items: center;

    }

    

    .sev_item .txt02 li .icon{

        width: 35%;

        margin-bottom: 0;

    }

    .sev_item .txt02 li .cate{

        font-size: 17px;

        line-height: 1.2em;

    }

    .sev_item .txt02 li p{

        width: 63%;

    }

    

}

















/* 採用情報

-------------------------------*/



.rec01 ul{

    width: 100%;

    max-width: 540px;

    margin: 40px auto;

    background-color: #0c4161;

    color: #fff;

    padding: 50px;

}

.rec01 ul li{

    font-family: "NotoSerifJP-M",serif;

    font-size: 24px;

    line-height: 1.2em;

    margin-bottom: 15px;

}

.rec01 ul li:last-child{

    margin-bottom: 0;

}

.rec01 ul li .num{

    display: inline-block;

    width: 70px;

    font-family: "Cinzel",serif;

    font-size: 41px;

    line-height: 1.2em;

    color: #d5b218;

}

.rec01 ul li .sub{

    font-family:  'Noto Sans JP',sans-serif;

    font-size: 12px;

    line-height: 1.2em;

    margin-left: 10px;

}



.rec03{

    padding-top: 120px;

}

.bosyu{

    width: 100%;

    border: solid 1px #ced9df;

}

.bosyu tr{

    border-bottom: solid 1px #ced9df;

}

.bosyu tr:last-child{

    border-bottom: none;

}

.bosyu th{

    width: 25%;

    padding: 20px;

    text-align: center;

    background-color: #f5f7f9;

    border-right: solid 1px #ced9df;

}

.bosyu td{

    width: 75%;

    padding: 20px 30px;

}



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

    .rec01 ul{

        padding: 40px;

    }

    .rec03{

        padding-top: 14.8vw;

    }



    .bosyu th{

        padding: 15px;

    }

    .bosyu td{

        padding: 15px;

    }



}

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

    .rec01 ul{

        margin-top: 20px;

        margin-bottom: 20px;

        padding: 20px 20px;

    }

    .rec01 ul li{

        font-size: 18px;

        line-height: 1.2em;

    }

    .rec01 ul li .num{

        width: 50px;

        font-size: 26px;

        line-height: 1.2em;

    }

    .rec01 ul li .sub{

        display: inline-block;

    }

    .bosyu th{

        display: inline-block;

        width: 100%;

        padding: 10px;

        text-align: left;

        border-right: none;

    }

    .bosyu td{

        display: inline-block;

        width: 100%;

        padding: 10px;

    }



}

































/* 会社案内

-------------------------------*/

.com01{

    position: relative;

}

.com01 .ttl01{

    margin-bottom: 100px;

}

.com01 .ttl02{

    text-align: left;

}

.com01 ._in{

    width: 100%;

    max-width: 665px;

}

.com01 ._in p{

    margin-bottom: 30px;

}



.com01 .img{

    position: absolute;

    right: -120px;

    top: 250px;

    width: 350px;

}

.com01 .img p{

    margin-top: 10px;

    text-align: right;

    font-family: "NotoSerifJP-M",serif;

}

.com01 .img p span{

    font-size: 160%;

    line-height: 1.2em;

    padding-left: 10px;

}



.com02,

.com03{

    padding-top: 120px;

}



@media (min-width:811px) and (max-width:1200px){

    

    .com01 ._in{

        width: 60%;

    }

    .com01 .img{

        position: absolute;

        right: -5%;

        width: 38%;

    }



}



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

    .com01 .ttl01{

        margin-bottom: 12.3vw;

    }

    .com01 ._in p{

        margin-bottom: 0;

    }



    .com01 .img{

        position: static;

        width: 80%;

        max-width: 350px;

        margin: 30px auto 0;

    }

    .com01 .img p{

        text-align: center;

    }

    

    .com02,

    .com03{

        padding-top: 14.8vw;

    }

    

}

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



    .com01 .img p span{

        font-size: 140%;

        line-height: 1.2em;

    }



}





























/* お問い合わせ

-------------------------------*/

.toi01 .txt{

    margin-top: 30px;

    color: #0c4161;

    font-size: 95%;

}

.toi01 .txt .tel{

    margin-top: 10px;

}





.toi02{

    width: 90%;

    max-width: 1200px;

    margin: auto;

}

.mailform{

    width: 100%;

    border-top: solid 1px #ced9df;

}

.mailform tr{

    border-bottom: solid 1px #ced9df;

}

.mailform th{

    padding: 40px 0;

    display: flex;

    flex-wrap: wrap;

    justify-content: space-between;

    align-items: center;

}

.mailform td{

    width: 75%;

    padding: 20px;

}

.mailform th .hissu{

    padding: 3px 10px;

    background-color: #d5b218;

    color: #fff;

    font-size: 13px;

    line-height: 1.3em;

}

.length_l{

    width: 100%;

    max-width: 600px;

    padding: 10px;

    background-color: #fff;

    border: solid 1px #ced9df;

}

.naiyou{

    width: 100%;

    height: 200px;

    padding: 10px;

    background-color: #fff;

    border: solid 1px #ced9df;

    resize: vertical;

}



.btn_sousin{

    background:url(../img/common/btn_sousin.png) center center no-repeat;

    width: 80%;

    max-width: 400px;

    height: 80px;

    border:0px solid;

    cursor:pointer;

}

.btn_sousin:hover{

    opacity: 0.7;

    filter: alpha(opacity=70);

    -ms-filter: "alpha(opacity=70)";

}



.toi02 .txt_priv{

    text-align: center;

    margin: 40px 0;

}

.toi02 .txt_priv a{

    text-decoration: underline;

}

.toi02 .txt_priv a:hover{

    text-decoration: none;

}

.toi02 .sousin{

    text-align: center;

}

.end-ttl{

    font-size: 150%;

    line-height: 2em;

    font-weight: 600;

    color: #0c4161;

    margin-bottom: 15px;

}



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

    .mailform th{

        display: inline-block;

        width: 100%;

        padding-top: 20px;

        padding-bottom: 0;

    }

    .mailform td{

        display: inline-block;

        width: 100%;

        padding: 15px 0;

    }

    .mailform th .hissu{

        margin-left: 1em;

    }

}

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

    .btn_sousin{

        background-position: 80% center;

    }

    .toi02 .txt_priv{

        margin: 20px 0;

    }



}













/* プライバシーポリシー

-------------------------------*/

.priv02{

    width: 90%;

    max-width: 1200px;

    margin: auto;

}

.priv02 table{

    width: 100%;

}

.priv02 table tr{

    border-top: solid 1px #ced9df;

}



.priv02 table th{

    width: 28%;

    padding: 60px 3% 60px 0;

    vertical-align: top;

    color: #0c4161;

    font-family: "NotoSerifJP-M",serif;

    font-size: 23px;

    line-height: 1.5em;

}

.priv02 table td{

    width: 72%;

    padding: 60px 0;

    font-size: 95%;

    line-height: 1.8em;

}

.priv02 table th span{

    display: block;

    font-family: "Cinzel",serif;

    font-size: 40px;

    line-height: 1.1em;

}

.priv02 table td li{

    text-indent: -1em;

    margin-left: 1em;

    

}

.priv02 table td span.add{

    display: inline-block;

}





.priv02 table tr:last-child td{

    text-align: right;

}





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

    .priv02 table th{

        padding-top: 5vw;

        padding-bottom: 5vw;

    }

    .priv02 table td{

        padding-top: 5vw;

        padding-bottom: 5vw;

    }

}

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

    .priv02 table th{

        display: inline-block;

        width: 100%;

        padding-bottom: 0;

        padding-right: 0;

        font-size: 20px;

        line-height: 1.5em;

    }

    .priv02 table td{

        display: inline-block;

        width: 100%;

    }

    .priv02 table th span{

        display: inline-block;

        font-size: 30px;

        line-height: 1.1em;

        padding-right: 10px;

    }

    .priv02 table tr:last-child th{

        display: none;

    }

}



















/* プリントの表示設定 */

@media print{

    body{

        width:1110px;

        margin:auto;

    }

    #header .logo{

        text-align: left;

    }

    .navToggle,

    .globalMenuSp{

        display: none;

    }

    .top02 .img{

        left: 70%;

    }



}







