@charset "UTF-8";
/* CSS Document */
html {
  scroll-padding-top: 90px;  /* メニューバーの高さ分だけスクロール位置を調整 */
}
.inr_w {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    flex: auto;
}
@media (max-width: 900px){
        .inr_w {
        max-width: 600px;
        }
}
@media (max-width: 767px){
        .inr_w {
        margin-left: 11%;
        margin-right: 11%;        
        }
}
@media (max-width: 360px){
        .inr_w {
        margin-left: 6%;
        margin-right: 6%;        
        }
}
/*ヘッダー*/

.l-container {
    background-color: #fff;
    padding-top: 30px;
    padding-bottom: 30px;
    width: 100%;
/*固定のためのコード*/
    overflow: hidden;
    position: fixed;
    top: 0;
    z-index: 900;
}
@media (max-width: 900px){
    .l-container {
        padding-top: 30px;
        padding-bottom: 30px;
        }
}
@media (max-width: 767px){
    .l-container {
        padding-top: 0px;
        padding-bottom: 0px;
        }
}
.l-header__inr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1084px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px){
        .l-header__inr {
        padding-left: 20px;
        padding-right: 20px;
        }
}
.l-header__logo {
    width: 110px;
}
@media (max-width: 900px){
    .l-header__logo{
        width: 80px;
    }
}
@media (max-width: 360px){
    .l-header__logo{
        width: 80px;        
        }
}
.g-nav__logo{
    padding-left: 40px;
    padding-top: 30px;
    width: 150px;
}
@media (max-width: 767px){
    .g-nav__logo {
        padding-left: 20px;
        padding-top: 20px;
        width: 100px;
    }
}
.h_nav__nav,
.f_nav__nav {
    display: flex;
    justify-content: flex-end;
}
.nav__item {
    margin-right: 4em;
}
@media (max-width: 900px){
        .nav__item {
        margin-right: 2em;
        }
}
.nav__item:last-child {
    margin-right: 0em;
}
/*メイン*/
main {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 140px;
    padding-top: 140px;/* メニューバー下のコンテンツが隠れないようにする。メニューバーの高さ分の余白 */
}
/* wrap_hero セクションを高さ100%に */
_::-webkit-full-page-media, _:future, :root .wrap_hero {
    /*min-height: 100vh;*/ 
    min-height:calc(100vh - 100px);
}
.wrap_hero {
    /*min-height: 100dvh; */
    min-height: 100svh;
    fallback:100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    position: relative; 
    margin-top: -280px;
}
/*_::-webkit-full-page-media, _:future, :root .wrap_hero {
    min-height:calc(100vh - 100px);
}*/
.logo_main {
    max-width: 538px;
    margin-top: 1.4em;
    margin-bottom: 1.5em;
    padding-left: 0.1em;
}
@media (max-width: 1124px){
    .logo_main {
        max-width: 47.86vw;
    }
}
@media (max-width: 767px){
    .logo_main {
        max-width: 12.8em;
        margin-bottom: 1.7em;

    }
}
/* 画面が横向き(横長)の場合 */
@media screen and (orientation: landscape) and (max-height: 980px) {
    .wrap_hero {
        height: 100%;
        align-items: center;
    }
    .wrap_hero .inr_w {
        max-width: auto;
        height: 100%;
    }
    .h1_e {
        font-size: 3.9vh;
        margin-top: 1.5em;
    }
    .h1_j {
        font-size: 5.0vh;
    }
    .logo_main {
        max-width: auto;
        /*height: 35vh;*/
    }
}






.short_border::after {
	content: "";
	border-bottom: 1px solid #c0c0c0 ;
	width: 85px;
	height: 4.2em;
	display: block;
}
/*sec01*/
.sec01 {
    margin-top: 12.5em;
}
.sec01_con {
    margin-top: 1em;
}
.title_txt {
    display: inline-block;
    vertical-align:bottom;
}
.dl_e {
    padding-right: 0.5em;
}

.sec01_txt {
    padding-top: 2.5em;
}
/*sec02*/
.sec02 {
    margin-top: 140px;
    padding-top: 140px;
    padding-bottom: 140px;
    background-color: #f5f5f5;
    width: 100%;
}
.title_space,
.subhead_space {
    margin-top: 2.5em;
}
.sec03 .title_space {
    margin-top: 2.1em;
}
.txt_space {
    padding-top: 1em;
}
.sec02_txt {
    margin-top: 1.5em;
    text-align: justify;
}

/*sec03*/
.sec03 {
    margin-top: 140px;
}
.dt_company,
.dd_company {
    margin-top: 2em;
}
.dt_company {
    /*左に寄せる*/
    float: left ;
    /*後続の左寄せを解除*/
    clear: left ;
    width: 9em ;
}
@media (max-width: 900px){
    .dt_company {
        width: 8em ;
    }
}
.dd_company {
    float: left ;
    }
.company　dl {
  display: flex;
  flex-wrap: wrap; /* 必要に応じて折り返しを有効にする */
}

.dt_company {
  flex: 0 0 auto;  /* dtの幅は自動 */
  margin-right: 10px; /* dtとddの間に余白を追加 */
}

.dd_company {
  flex: 1 1 auto;  /* ddが残りのスペースを埋める */
}
@media (max-width: 767px){
    .dt_company {
        margin-top: 2.8em;
        float: none;
    }
    .dd_company {
        margin-top: 1em;
        float: none;
    }
    .company_detail {
        display: flex;
        flex-direction: column;
    }
}
/*sec04*/
.sec04{
    display: block;
    width: 100%;
    margin-top: 125px;
}
.sec04_txt {
    display: flex;
    position: relative;
    width: 100%;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding-top: 5em;
    padding-bottom: 5em;
}
@media (max-width: 767px){
    .sec04_txt{
        padding-top: 3em;
        padding-bottom: 3em;
        }
}
/*contact*/
.contact_l-container {
    margin-top: 30px;
    margin-bottom: 30px;
}
.contact_detail {
    display: flex;
    flex-direction: column;
    width: 100%;
}
/*横並び設定中止*/
/*.contact_con {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 3em;
}
@media (max-width: 767px){
    .contact_con {
        flex-direction: column;
        margin-bottom: 1.8em;
    }
}*/
.contact_con {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 1.8em;
}
.contact_con:last-child {
    margin-bottom: 0em;
}
.dt_contact,
.dd_contact {
    display: inline-block;
}
/*.dt_contact {
    width: 11.5em ;
}
@media (max-width: 900px){
    .dt_contact {
        width: 11em ;
    }
}
.dd_contact {
    flex: 1 1 auto;
}
@media (max-width: 767px){
    .dd_contact {
        margin-top: 0.4em;
    }
}*/
.dd_contact {
    margin-top: 0.4em;
}
input[type="text"],
input[type="email"],
textarea {
    padding: 0.5em 10px;
    width: 100%;
    min-height: 3em;
    box-sizing: border-box;
    outline: none!important;    
}
input[type="text"],
input[type="email"] {
}
textarea {
}
.box_line {
    padding: 0.5em 10px;
    width: 100%;
    min-height: 3em;
    box-sizing: border-box;
    /*word-wrap: break-word; */ /* 単語の途中で改行 */
    /*white-space: pre-wrap;*/  /* 改行を保持 */
    overflow-y: auto;  /* 必要に応じて縦方向にスクロール */
    outline: none!important;
    line-height: 1.6;
}
.box_line br {
    margin: 0;
    padding: 0;
}
.form_btn_detail_con {
    display: flex;
    width: 100%;
    margin-top: 3em;
    justify-content: space-between;
}
.form_btn_02 {
    display: block;
    width: 47%;
}

/*footer*/
.wrap_footer {
    width: 100%;
    background-color: #000;
    padding-top: 5em;
    padding-bottom: 5em;
}
.l-footer__inner {
    display: flex;
    flex-direction: column;
}

.l-footer__logo img {
    max-width: 130px;
    margin-left: -0.1em;
}
@media (max-width: 767px){
    .l-footer__logo img {
        width: 65vw;
        min-width: 255px;
    }
}
@media (max-width: 767px){
    .f_nav__inr,
    .footer_copyright_con{
        padding-top: 2em;
    }
}
.f_nav__inr {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media (max-width: 767px){
    .f_nav__inr {
        align-items: center;
    }
}
@media (max-width: 767px){
    .f_nav__nav {
        display: flex;
        flex-direction: column;
        }
}
.nav__item {
    margin-right: 2em;
}
@media (max-width: 900px){
        .nav__item {
        margin-right: 1.5em;
        }
}
.nav__item:last-child {
    margin-right: 0em;
}
@media (max-width: 767px){
    .f_nav__nav li {
        margin-bottom: 1em;
    }
    .f_nav__nav li:last-child {
        margin-bottom: 0em;
    }
}
.top_btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.icon_inr {
    width: 100%;
    margin-left: 1.3em;
}
.arrow_top_txt {
    display: block;
}
.sec05,
.sec06 {
    margin-top: -140px;
    margin-bottom: 100px;
}
.sec05 .ad {
    margin-top: 4.5em;
}
.sec05 .privacy_link_btn {
    display: inline-block;
    margin-bottom: 2em;
}
.ad_end {
    margin-top: 2em;
}
/*プライバシーポリシー*/
.sec06_txt_con {
    margin-top: 3.5em;
}
.sec06_title {
    margin-top: 1.9em;
    margin-bottom: 0.7em;
}
.sec06_na {
    margin-top: 2em;
    margin-bottom: 2em;
}
#footer {
    height: 94.1px;
}