@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */

html {
    font-size: 62.5%;
}

object {
    pointer-events: none;
}

.sp {
    display: none !important;
}



a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.img_r {
    overflow: hidden;
}

.img_r>img {
    float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}

a:hover{opacity: 0.7;}


/* ---------------------------------------------------------------------------
  ★BASE
--------------------------------------------------------------------------- */
a.anchor01 {
  padding-top: 80px;
  margin-top: -80px;
}

#message{
    scroll-margin-top: 110px;
}
#philosophy{
    scroll-margin-top: -36px;
}
#organization{
    scroll-margin-top: -35px;
}
#overview,
#access{
    scroll-margin-top: 80px;
}

.bor{
  border: 0.5px solid #000;
}


/* ---------------------------------------------------------------------------
  ★パーツ集:テーブル
--------------------------------------------------------------------------- */

.c_table_01 {
    /* border: 2px solid #eaf1f8; */
    /* border-radius: 0.5em; */
}

.c_table_01 table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: inherit;
    width: 100%;
    border-radius: 0.5em;
}

.c_table_01 table tbody tr th {
    border-bottom: 3px solid #eaf1f8;
    /* background: #f3f8fc; */
    vertical-align: top;
    padding: 16px 15px;
    /* color: #0b3985; */
    font-weight: 500;
    width: 24.5%;
    word-break: break-all;
}

.c_table_01 table tbody tr:nth-of-type(1) th {
    border-radius: 0.5em 0 0 0;
}

.c_table_01 table tbody tr:last-child th {
    border-radius: 0 0 0 0.5em;
}

.c_table_01 table tbody tr td {
    border-bottom: 1px solid #edf2f6;
    vertical-align: top;
    padding: 16px 21px;
    word-break: break-all;
}

.c_table_02 table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: inherit;
    width: 100%;
}

.c_table_02 table thead {
    background-color: #666;
    color: #fff;
    margin: 0;
    border: 0;
}

.c_table_02 table thead tr th {
    padding: 10px;
    text-align: center;
}

.c_table_02 table tbody tr th,
.c_table_02 table tbody tr td {
    padding: 10px;
    font-size: 14px;
    word-break: break-all;
}

.c_table_02 table tbody tr:nth-child(even) {
    background-color: #e4e4e4;
}


/* ---------------------------------------------------------------------------
  ★パーツ集:NEWS
--------------------------------------------------------------------------- */

.c_newslist_01>a {
    display: block;
    color: #000;
    margin: 10px 0;
    border-bottom: solid 1px #c1c1c1;
}

.c_newslist_01>a dl dt {
    float: left;
    width: 18%;
    margin-right: 2%;
}

.c_newslist_01>a dl dd {
    float: left;
    width: 80%;
    word-break: break-all;
}

.c_newslist_02 dl {
    margin: 10px 0;
    border-bottom: solid 1px #c1c1c1;
}

.c_newslist_02 dl dt {
    float: left;
    width: 18%;
    margin-right: 2%;
}

.c_newslist_02 dl dd {
    float: left;
    width: 80%;
    word-break: break-all;
}

.c_newslist_02 dl dd>a {
    display: block;
    color: #000;
}

.c_newslist_03 a {
    display: block;
    margin: 10px 0;
    border-bottom: solid 1px #c1c1c1;
    color: #000;
}

.c_newslist_03 dl {
    margin: 10px 0;
}

.c_newslist_03 dl dt {
    float: left;
    width: 18%;
    margin-right: 2%;
}

.c_newslist_03 dl dt .imgBox {
    position: relative;
    overflow: hidden;
    padding-bottom: 66.6%;
}

.c_newslist_03 dl dd {
    float: left;
    width: 80%;
    word-break: break-all;
}

.c_newslist_03 dl dd .days_tx,
.c_newslist_03 dl dd .news_txt {
    display: block;
}

.icon_new {
    margin-left: 15px;
    display: inline-block;
    color: #e60012;
    z-index: 3;
}

.days_txt {
    color: #000;
}

.lr_xBox .main_xBox {
    float: left;
    width: 70%;
}

.lr_xBox .aside_xBox {
    float: right;
    width: 25%;
}

.archive_xBox>dl a {
    position: relative;
    display: block;
    margin-bottom: 5px;
}

.archive_xBox>dl dd {
    display: none;
}

.c_postlink li:first-child {
    float: left;
    width: 40%;
}

.c_postlink li:last-child {
    float: right;
    width: 40%;
    text-align: right;
}

.c_dBox h1,
.c_dBox h2,
.c_dBox h3,
.c_dBox h4,
.c_dBox h5,
.c_dBox h6 {
    font-weight: bold;
}

.c_dBox img {
    max-width: 100%;
    width: auto !important;
    height: auto !important;
}


/* ---------------------------------------------------------------------------
  ★パーツ集:カテゴリ
--------------------------------------------------------------------------- */

.c_cateBox_01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.c_cateBox_01>a {
    width: calc(100% / 4);
    display: block;
    color: #000;
    margin: 10px 0;
    border-bottom: solid 1px #c1c1c1;
    position: relative;
}

.c_cateBox_01>a .txtBox {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}

.c_cateBox_02 dl {
    margin: 10px 0;
    border-bottom: solid 1px #c1c1c1;
}

.c_cateBox_02 dl dt {
    float: left;
    width: 18%;
    margin-right: 2%;
}

.c_cateBox_02 dl dd {
    float: left;
    width: 80%;
    word-break: break-all;
}

.c_cateBox_02 dl dd>a {
    display: block;
    color: #000;
}

.cate_xBox a {
    display: block;
    padding: 10px;
    background: #eee;
    margin-bottom: 5px;
}



/* ---------------------------------------------------------------------------
  ★パーツ集:フォーム
--------------------------------------------------------------------------- */

.c_form01 {
    margin-bottom: 50px;
}

.c_form01 table {
    margin-bottom: 30px;
    border-top: 1px solid #ccc;
    width: 100%;
    /* IE */
    /* Edge */
}

.c_form01 table tbody tr {
    border-bottom: 1px solid #afafaf;
}

.c_form01 table tbody tr th {
    vertical-align: top;
    padding: 24px;
    font-size: 16px;
    color: #000000;
    font-weight: bold;
    width: 24.5%;
}

.c_form01 table tbody tr th span {
    margin-left: 10px;
}

.c_form01 table tbody tr td {
    vertical-align: top;
    padding: 24px;
}

.c_form01 table tbody tr td select {
    padding: 0;
    font-size: 14px;
    width: 400px;
    padding: 11px;
}

.c_form01 table tbody tr td label {
    margin-right: 10px;
}

.c_form01 table .inp01,
.c_form01 table .inp02 {
    padding: 5px 10px;
    font-size: 1.4rem;
    border: 1px solid #afafaf;
}

.c_form01 table .inp01 input[type=text],
.c_form01 table .inp02 input[type=text] {
    font-size: 1.4rem;
}

.c_form01 table .inp_txtarea {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.4rem;
    padding: 10px;
    width: 90%;
    height: 200px !important;
    border: 1px solid #afafaf;
}

.c_form01 table input:-ms-input-placeholder {
    color: #a9a9a9;
}

.c_form01 table input::-ms-input-placeholder {
    color: #a9a9a9;
}

.c_form01 .kojin_wrap {
    background: #fff;
    padding: 5%;
    margin-bottom: 20px;
}

.c_form01 .submit_wrap {
    margin-bottom: 5%;
    text-align: center;
}

.c_form01 .submit_wrap .submit {
    max-width: 340px;
    width: 90%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 0;
    text-align: center;
    margin: auto;
    font-size: 1.6rem;
    cursor: pointer;
}

input::-webkit-input-placeholder {
    color: #a9a9a9;
}

input:-ms-input-placeholder {
    color: #a9a9a9;
}

input::-ms-input-placeholder {
    color: #a9a9a9;
}

input::placeholder {
    color: #a9a9a9;
}

input.short {
    width: 25%;
}

input.middle {
    width: 50%;
}


/* ---------------------------------------------------------------------------
  ★パーツ集:jsPage
--------------------------------------------------------------------------- */


.popup_Box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: rgba(0, 0, 0, 0.6);
    z-index: -9;
    opacity: 0;
    top: 0;
    left: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.popup_Box.on {
    z-index: 1;
    opacity: 1;
}

.popup_Box.on .close {
    z-index: 1 !important;
}

.popup_Box .popup_Box_inner {
    position: relative;
    padding: 30px 60px;
    width: 100%;
}

.popup_Box .popup_Box_inner .close {
    position: absolute;
    right: 0;
    top: 0;
    z-index: -9;
}

.popup_Box .popup_Box_inner .popup_Box_cont {
    color: #fff;
}

#js_listItem .is_hidden {
    display: none;
}

#input_plural {
    margin: 10px 0;
}

#input_plural input.form-control {
    display: inline-block;
    color: #555;
}

#input_plural .btn_wrap {
    float: right;
}

#input_plural .pluralBtn {
    width: 30px;
    height: 30px;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 5px;
    padding: 0;
    margin: 0;
    display: inline-block;
    text-align: center;
}


/* ---------------------------------------------------------------------------
  ★パーツ集:slickPage
--------------------------------------------------------------------------- */

.csl_slider_01 .imgBox img {
    display: block;
    width: 96%;
    margin: 0 auto;
}

.csl_slider_01 .sclick_previmg {
    max-width: 68px;
    width: 5%;
    margin: auto;
    position: absolute;
    z-index: 10;
    left: 17%;
    top: 50%;
    cursor: pointer;
}

.csl_slider_01 .sclick_nextimg {
    max-width: 68px;
    width: 5%;
    margin: auto;
    position: absolute;
    z-index: 10;
    right: 17%;
    top: 50%;
    cursor: pointer;
}

.csl_slider_02 .imgBox img {
    display: block;
    width: 96%;
    margin: 0 auto;
}

.csl_slider_02 .sclick_previmg {
    max-width: 68px;
    width: 5%;
    margin: auto;
    position: absolute;
    z-index: 10;
    left: 0;
    right: 60%;
    top: 50%;
    cursor: pointer;
}

.csl_slider_02 .sclick_nextimg {
    max-width: 68px;
    width: 5%;
    margin: auto;
    position: absolute;
    z-index: 10;
    right: 0;
    left: 60%;
    top: 50%;
    cursor: pointer;
}

.csl_slider_03_wp {
    margin-bottom: 20px;
    background: #00a0b4;
}

.csl_slider_03_wp .img_wrap {
    display: block;
}

.csl_slider_03_wp .img_wrap *:not(img) {
    display: none;
}


/* ---------------------------------------------------------------------------
  ★パーツ集:よくあるご質問
--------------------------------------------------------------------------- */

.c_faq_box_01 .sToggle {
    counter-reset: numb2;
}

.c_faq_box_01 .sToggle dl {
    counter-increment: numb2;
    padding: 10px;
    border-radius: 10px;
    border: solid 1px #0c3380;
    background: #fff;
    margin: 0 0 30px;
}

.c_faq_box_01 .sToggle dl dt {
    padding: 5px 35px 5px 60px;
    font-size: 1.8rem;
    position: relative;
    font-weight: bold;
    color: #0c3380;
    cursor: pointer;
    pointer-events: auto;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    word-break: break-all;
}

.c_faq_box_01 .sToggle dl dt::after {
    content: "";
    width: 13px;
    height: 13px;
    border-top: 2px solid #ff9595;
    border-right: 2px solid #de0101;
    position: absolute;
    top: 45%;
    right: 15px;
    margin: auto;
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
    transform: translateY(-50%) translateX(-50%) rotate(135deg);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.c_faq_box_01 .sToggle dl dt::before {
    content: "Q" counter(numb2);
    /* content: "Q.01"; */
    display: block;
    position: absolute;
    font-size: 2rem;
    font-weight: bold;
    color: #008f96;
    top: 47%;
    left: 29px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-family: "Lora", serif;
}

.c_faq_box_01 .sToggle dl dt.togg::after {
    -webkit-animation: sTog 0.7s;
    animation: sTog 0.7s;
    -webkit-transform: translateY(-20%) translateX(-50%) rotate(315deg);
    transform: translateY(-20%) translateX(-50%) rotate(315deg);
}

.c_faq_box_01 .sToggle dl dd {
    padding: 5px 35px 5px 60px;
    display: none;
    position: relative;
    word-break: break-all;
}

.c_faq_box_01 .sToggle dl dd::before {
    content: "A" counter(numb2);
    /* content: "A.01"; */
    display: block;
    position: absolute;
    font-size: 2rem;
    font-weight: bold;
    color: #da0000;
    top: 0;
    left: 29px;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    font-family: "Lora", serif;
}

@-webkit-keyframes sTog {
    0% {
        opacity: 1;
        -webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
        transform: translateY(-50%) translateX(-50%) rotate(135deg);
    }
    25% {
        opacity: 0;
    }
    50% {
        opacity: 0;
        -webkit-transform: translateY(70%) translateX(-50%) rotate(135deg);
        transform: translateY(70%) translateX(-50%) rotate(135deg);
    }
    50.1% {
        opacity: 0;
        -webkit-transform: translateY(70%) translateX(-50%) rotate(315deg);
        transform: translateY(70%) translateX(-50%) rotate(315deg);
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(-20%) translateX(-50%) rotate(315deg);
        transform: translateY(-20%) translateX(-50%) rotate(315deg);
    }
}

@keyframes sTog {
    0% {
        opacity: 1;
        -webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
        transform: translateY(-50%) translateX(-50%) rotate(135deg);
    }
    25% {
        opacity: 0;
    }
    50% {
        opacity: 0;
        -webkit-transform: translateY(70%) translateX(-50%) rotate(135deg);
        transform: translateY(70%) translateX(-50%) rotate(135deg);
    }
    50.1% {
        opacity: 0;
        -webkit-transform: translateY(70%) translateX(-50%) rotate(315deg);
        transform: translateY(70%) translateX(-50%) rotate(315deg);
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(-20%) translateX(-50%) rotate(315deg);
        transform: translateY(-20%) translateX(-50%) rotate(315deg);
    }
}

.flex_row_reverse.cl50>li:not(:nth-child(2n)) {
    margin-right: 0%;
    margin-left: 4%;
}



/* ---------------------------------------------------------------------------
  ★header
--------------------------------------------------------------------------- */
.header__txt{
    font-size: 1.5rem;
    padding: 0.4rem 0 0.5rem 0;
}
.header__inner {
    position: relative;
    height: 84px;
    width: 96%;
    margin: 0 auto;
}

h1.header__logo {
    display: block;
    padding-top: 0.6rem;
    position: relative;
    width: 18.5rem;
    text-align: center;
}
h1.header__logo img{
    width: 10rem;
    margin: 0 auto;
}
h1.header__logo span{
    font-size: 1.2rem;
    line-height: 1.8;
    display: block;
}


.inner_in{
    position: absolute;
    top: -3.5rem;
    right: 0;
}
.header__right{
    position: relative;
}

.header__right_in{
    color: #fff;
    position: absolute;
    top: -7.3rem;
    right: 0;

}
.header__right_in .tel_wrap{
    margin-right: 2rem;
}

.header__right_in .tel_wrap a img{
    width: 1.2rem;
    margin-top: 0.5rem;
}
.header__right_in .tel_wrap a span.out{
    font-size: 2.4rem;
    margin-left: 0.5rem;
}
.header__right_in .tel_wrap a span.time{
    font-size: 1.4rem;
    margin-left: 1rem;
}
.header__right_in .tel_wrap a span.noto{
    font-size: 1.2rem;
}

.header__right_in .cases_wrap{
    margin-top: 0.5rem;
}
.header__right_in .cases_wrap a img{
    width: 1.8rem;
    object-fit: contain;
}
.header__right_in .cases_wrap a span{
    font-size: 1.4rem;
    margin-left: 0.5rem;
}

.header__bn_wrap{
    gap: 1rem;
}

a.header__contact,
.header__recruit{
    width: 158px;
    height: 31px;
}
a.header__contact{
    width: 166px;
}
.header__recruit{
    width: 158px;
}

a.header__contact,
.header__recruit,
a.bn_effect_blue,
a.bn_effect_yellow{
    transition: .3s;
    position: relative;
    z-index: 1;
    line-height: 1.85;
}
a.header__contact::before,
.header__recruit::before,
a.bn_effect_blue::after,
a.bn_effect_yellow::after {
  content: "";
    width: 100%;
    height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform-origin: 50% 0%;
  transform: scaleY(0);
  transition: transform ease .3s;
}
ul.navi__menu a.bn_effect_blue::after{
    top: 0.1rem;
}
a.header__contact:hover::before,
.header__recruit:hover::before,
a.bn_effect_blue:hover::after,
a.bn_effect_yellow:hover::after {
  transform-origin: 50% 100%;
  transform: scaleY(1);
}
a.header__contact::before,
a.bn_effect_yellow::after{
    background: #F9EC11;
}
.header__recruit::before,
a.bn_effect_blue::after{
    background: #01599C;
}
a.header__contact:hover,
.header__recruit:hover,
a.bn_effect_blue:hover,
a.bn_effect_yellow:hover{
    opacity: 1;
}



/* =======================================
  nav
========================================== */
ul.navi__menu {
    gap: 2.5rem;
    margin-right: 2rem;
}
ul.navi__menu li a{
    font-size: 1.6rem;
}
ul.navi__menu li a span.nav_tit:hover,
ul.navi__menu li.has-sub span.navi__menu-link span.nav_tit:hover{
    color: #137dce;
}
ul.navi__menu li a span.nav_tit,
ul.navi__menu li.has-sub span.navi__menu-link span.nav_tit{
    transition: transform ease .3s;
}


ul.navi__menu li .navi__menu-link{
    position: relative;
    cursor: pointer;
}
.navi__menu-item{
    position: relative;
}
ul.navi__child{
    position: absolute;
    top: 4rem;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    z-index: 3;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    pointer-events: none; /* 非表示時はクリック不可 */
    border: 0.5px solid #000;
    background: #fff;
    padding: 1rem;
}

/* is-activeクラスが付いた時に表示 */
ul.navi__menu li.has-sub.is-active ul.navi__child,
ul.navi__menu li.has-sub02.is-active ul.navi__child {
  opacity: 1;
  visibility: visible;
  pointer-events: auto; /* 表示時はクリック可能 */
}

/* hoverで表示 */
ul.navi__menu li.has-sub:hover ul.navi__child,
ul.navi__menu li.has-sub02:hover ul.navi__child {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
ul.navi__menu li:hover ul.navi__child {
    opacity: 1;
    visibility: visible;
}

ul.navi__child li {
    position: relative;
}
ul.navi__child li a {
    padding: 0 15px;
    width: 100%;
    gap: 1rem;
    display: flex;
    align-items: center;
    letter-spacing: 0.05em;
    transition: 0.5s;
    transition-property: opacity;
}
ul.navi__child li a:hover{
    cursor: pointer;
}
ul.navi__child li a::before {
    background-color: #000;
    content: "";
    display: block;
    height: 0.5px;
    width: 1rem;
}

.navi__child a.bn_effect_blue:hover span{
    color: #fff;
}
.navi__child a.bn_effect_blue:hover::before{
    background-color: #fff;
}

/* ===== 採用情報のホバーメニュー ===== */
.header__recruit_wrap {
    position: relative;
}
.header__recruit_wrap ul.navi__child {
    left: auto;
    right: 0;
    transform: none;
}
.header__recruit_wrap:hover ul.navi__child {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


@media screen and (max-width: 1249px) {
    .header__inner{
        height: 7vw;
    }
    h1.header__logo{
        width: 14vw;
        padding-top: 1vw;
    }
    h1.header__logo span{
        font-size: 0.9vw;
    }
    h1.header__logo img{
        width: 7vw;
    }
    .header__right_in{
        top: -6vw;
    }
    .inner_in {
        top: -2.5vw;
    }
    ul.navi__menu li a,
    ul.navi__menu li span{
        font-size: 1.28vw;
    }
    .header__bn_wrap a{
        font-size: 1.28vw;
    }
    .header__contact{
        width: 136px;
    }
    .header__recruit{
        width: 128px;
    }
    a.header__contact, .header__recruit{
        line-height: 2.5vw;
    }
    ul.navi__menu{
        gap: 1.5rem;
    }
    a.header__contact,
    .header__recruit{
        height: 2.6vw;
    }
    a.header__contact{
        width: 11vw;
    }
    .header__recruit{
        width: 11vw;
    }
}
@media screen and (max-width: 905px) {
    h1.header__logo{
        width: 128px;
    }

}

.header__trigger {
    cursor: pointer;
    display: none;
}

/* ---------------------------------------------------------------------------
  ★トップページ
--------------------------------------------------------------------------- */
.hero__img{
    height: 60vw;
    max-height: 960px;
}
h2.hero_txt{
    background-position: center 8vw;
    width: 26.5vw;
    max-width: 424px;
    top: 15vw;
}
@media screen and (min-width: 1600px) {
    h2.hero_txt{
        top: 24rem;
    }
}

h2.hero_txt img{
   width: 10.4vw;
   max-width: 166px;
}

.floating-banner {
    font-family: "Apple SD Gothic Neo", "Segoe UI", "Meiryo", sans-serif;
    font-size: 3.4rem;
    font-weight: 400;
  position: absolute;
  top: 56vw;
  right: 4rem;
  transform: translateY(-50%);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
    gap: 8px;
    color: #fff;
    transition: background-color 0.3s ease;
    background-color: transparent; /* 初期状態 */
    padding: 1rem 1rem 0.4rem 1rem;
    transition: background-color 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 1349px) {
    .floating-banner{
        top: 54vw;
    }
}
@media screen and (min-width: 1600px) {
    .floating-banner{
        top: 900px;
    }
}

/* FVを通過したらfixedに切り替え、画面右下に固定 */
.floating-banner.is-fixed {
  position: fixed;
  background-color: rgba(26, 26, 26, 0.6); /* #1a1a1a を60%透過 */
  top: auto;
  bottom: 4rem;
  right: 4rem;
  transform: none;
}

#fvSentinel {
  height: 1px; /* 監視専用。見た目には影響しない */
}

.floating-banner .flex_nowrap{
    border-bottom: 1px solid #fff;
    padding-bottom: 0.6rem;
    margin-bottom: 0.3rem;
}
.floating-banner p.en{
    font-size: 3.4rem;
    line-height: 1;
}

.floating-banner img{
  width: 29px;
  margin-left: 0.6rem;
  object-fit: contain;
}
.floating-banner p.small{
    font-size: 1.8rem;
}

/*.floating-banner.scrolled {
    background-color: rgba(26, 26, 26, 0.6); /* #1a1a1a を60%透過 */
/*}*/

.floating-banner.is-hidden {
    opacity: 0;
    pointer-events: none; /* 非表示時にクリックできないようにする */
}



/* =================================
   top_About
================================= */
.top_About {
  padding-top: 11rem;
  min-height: 1150px;
}

.top__title {
    gap: 2.5rem;
    margin-bottom: 60px;
}

.top__title .en {
    font-size: 2.4rem;
    padding-bottom: 0.5rem;
}

.top__title .en .sm{
  font-size: 1.8rem;
}

.top__title .slash {
    width: 0.5px;
    height: 80px;
}

.top__title .jp {
    font-size: 1.2rem;
}

.top_About h3 {
    margin: 0 0 16rem 10rem;
    max-width: 640px;
}

.top_About .txtBox{
  margin-left: 30rem;
}
.top_About .txtBox p {
    max-width: 400px;
    line-height: 2.2;
}

.p_Mbt{
  margin-bottom: 2.5rem;
}

.top_About a.cta_01{
    margin-top: 7rem;
}

a.cta_01 {
  width: 276px;
  height: 45px;
    gap: 14px;
    padding: 18px 34px 20px 34px;
    transition: .3s;
}
a.cta_01 img{
  width: 50px;
  margin-left: 1rem;
}

a.cta_01::before,
.submit_wrap input.btn01::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform-origin: 50% 0%;
  transform: scaleY(0);
  transition: transform ease .3s;
}
a.cta_01:hover::before,
.submit_wrap input.btn01:hover::before {
  transform-origin: 50% 100%;
  transform: scaleY(1);
}


.img-tower {
    right: 0;
    top: 100px;
    width: 378px;
    height: 560px;
  } 
  .img-tanks {
    left: 0;
    top: 49rem;
    width: 267px;
    height: 486px;
  }
 
  .img-city {
    right: 29rem;
    bottom: 0;
    width: 347px;
    height: 234px;
}

@media screen and (max-width: 1149px) {
    .top_About .txtBox{
        margin-left: 28rem;
    }
  .top_About .txtBox p{
    max-width: 35vw;
  }
  .top_About .txtBox p br{
    display: none;
  }
  .img-tower{
    width: 31vw;
  }
  .img-tanks{
    width: 24vw;
  }
  .img-city{
    width: 31vw;
  }
}


/* =================================
   top_Service
================================= */
.top_Service {
    padding: 12rem 0;
}
.top_Service_box{
    max-width: 1050px;
    margin: 0 auto;
}
.service__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem;
    margin-bottom: 6rem;
}

@media screen and (max-width: 1049px) {
    .service__grid{
        gap: 3rem;
    }

}

.service__card {
    padding: 40px;
}
.top_Service h3{
    margin-bottom: 3rem;
}
.top_Service h3 span.number{
    font-size: 2rem;
    margin-bottom: 1rem;
}


.viewmore{
    font-size: 1.4rem;
    gap: 1rem;
    justify-content: end;
}
.view_bk{
    margin-top: 6rem;
}
.viewmore::after{
    right: 12.5rem;
    width: 100%;
}
.viewmore img{
    width: 10px;
    object-fit: contain;
}

.viewmore span.effect img{
  padding-bottom: 0.2rem;
}
.viewmore span.effect::before {
  content: "";
  width: 90%;
  height: 10px;
  position: absolute;
  top: 100%;
  left: 5%;
  z-index: 2;
  opacity: 0;
  transition: .3s;
}
.viewmore span.ef_bk::before {
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
}
.viewmore span.ef_wh::before {
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 80%);
}

a.effect_wrap:hover .viewmore span.effect {
  transform: translateY(-7px);
}
a.effect_wrap:hover  .viewmore span.effect::before {
  transform: translateY(7px);
  opacity: 1;
}

a.effect_wrap:hover{
    opacity: 1;
}
a.service__card:hover{
  opacity: 1;
  background: #F1F1F1;
}
a.service__banner:hover{
  opacity: 0.9;
}
a.effect_wrap:hover .viewmore{
  opacity: 1;
}
/*#news a.effect_wrap:hover{
    opacity: 0.8;
}*/

.service__banner {
    display: flex;
    padding: 35px 80px;
    gap: 60px;   
}
.service__banner .label {
    width: 180px;
    padding: 0.8rem 6rem 1.2rem 0;
}
.service__banner .label::after {
    top: 50%;
    transform: translateY(-50%);
    width: 0.5px;
    height: 100%;
}
.top_Service .Box_r {
    flex: 1;
    padding: 0.8rem 0 1.2rem 0;
}
.top_Service .Box_r h3 {
    margin-bottom: 34px;
}
.viewBox{
width: 280px;
  position: absolute;
  right: 0;
  top: 0;
}

@media screen and (max-width: 1099px) {
    .viewBox{
        width: 20vw;
    }
}

.view_wh{
    margin-top: 3rem;
}

/* =================================
   top_Company
================================= */
.top_Company {
    padding: 12rem 0;
}
.wrap_1000{
    max-width: 1000px;
    margin: 0 auto;
}
.top_Company h2.top__title{
    margin-bottom: 11rem;
}
.top_Company h3 {
    margin: 0 0 8rem 0;
}
.top_Company .txtBox{
    margin-bottom: 8rem;
}
.top_Company .txtBox p {
    max-width: 400px;
    line-height: 2.2;
    margin-left: 10rem;
}

.top_Company .Box_r{
    margin-top: 12rem;
}
.top_Company .Box_r .Mgb{
    margin-bottom: 2rem;
}

/* =================================
   top_Recruit
================================= */
.top_Recruit{
    padding: 100px 0;
}
.bg_txt{
    width: 700px;
    top: -10rem;
    left: -2rem;
}

@media screen and (min-width: 1401px) {
    .bg_txt{
        top: -11rem;
    }
}

.panel_out{
    max-width: 1000px;
    width: 96%;
}
@media screen and (max-width: 1099px) {
    .panel_out{
        max-width: 900px;
    }

}

.panel{
    padding: 40px 70px 50px;
}

.top_Recruit .imgBox{
    width: 160px;
    top: -92px;
    right: 100px;
}
@media screen and (max-width: 1099px) {
    .top_Recruit .imgBox{
        right: 40px;
    }
}

.panel-copy{
    font-size: 1.8rem;
    margin-bottom: 34px;
}

/* =================================
   top_Info
================================= */
.top_Info{
    padding: 0 0 8rem 0;
}
.top_Info .top__title{
    margin-bottom: 0;
}
.top_Info .topBox{
    align-items: center;
    margin-bottom: 14rem;
    padding-right: 3rem;
}
@media screen and (max-width: 1049px) {
    .top_Info a.cta_01{
        width: 21vw;
        padding: 18px 1rem 20px 1rem;
    }
    .top_Info .instaBox .txtBox p{
        font-size: 1.5vw;
    }

}

.top_Info .instaBox::before,
.top_Info .instaBox::after{
    width: 0.8rem;
    height: 5rem;
}
.top_Info .instaBox::before {
    right: -2.5rem;
}
.top_Info .instaBox::after {
  left: -2.5rem;
}
.top_Info .instaBox .imgBox{
    width: 46px;
    margin-right: 2rem;
}

.info__links-grid{
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 60px;
    gap: 10rem;
}
.info__card {
    padding: 30px 0;
}
#home .info__card h3{
    font-size: 3.3rem;
}
.card01{
    padding-right: 4rem;
    position: relative;
}
.card01::after {
    content: "";
    position: absolute;
    top: 0;
    right: -2.5rem;
    width: 0.5px;
    height: 100%;
    background-color: #000;
}
@media screen and (max-width: 1249px) {
    .info__links-grid{
        gap: 5vw;
    }
    .info__card p{
        font-size: 1.45vw;
    }
    .card01{
        padding-right: 2vw;
    }
    .card01::after{
        right: -1.7vw;
    }
}

.info__card h3{
    margin-bottom: 2.5rem;
}

.top_Info a.view_bk{
    margin-top: 4rem;
}


/* =================================
   top_News
================================= */
.bg_gray{
    padding: 12rem 0;
}
.top_News h2{
    width: 170px;
}
.top_News .tab-archive-wrap{
    flex: 1;
    margin-left: 4rem;
}
#home .top_News h3{
    font-size: 2.5rem;
}
ul.post-list {
    border: 0.5px solid #000;
}
#home li.post-list__item a{
    width: 100%;
}

/* =================================
   top_Contact
================================= */
.top_Contact{
    padding: 7rem 0;
}
.top_Contact h2.en{
    font-size: 18.8rem;
    line-height: 1;
}
.top_Contact h3.lead {
  margin-left: 5rem;
  margin-bottom: 1.5rem;
}
.top_Contact p.sub-lead{
    margin-left: 26rem;
}

.contact__grid{
    grid-template-columns: 1fr auto;
    gap: 10rem;
    margin-top: 7rem;
}
a.Box_wh{
    padding: 2rem;
    width: 430px;
    height: 129px;
}

.top_Contact .Box_l{
    width: 440px;
}
.top_Contact .Box_l span.tit{
    margin-bottom: 0.6rem;
}
.top_Contact .Box_l .mail_wrap .tit{
    margin-bottom: 0.5rem;
}
.top_Contact .Box_l .tel_wrap{
    margin-bottom: 1rem;
}
.top_Contact .Box_l span.out{
  font-size: 3.6rem;
  line-height: 0.7;
  margin-top: 0.5rem;
  padding-left: 1.2rem;
  display: inline-block;
}
.top_Contact .Box_l span.out::before {
    width: 18px;
    height: 30px;
    top: 0.3rem;
    left: -1rem;
}
.top_Contact .Box_l span.time{
  font-size: 1.6rem;
}

.top_Contact .Box_l .mail_wrap .tit02{
    font-size: 2.5rem;
    padding-left: 2rem;
}
.top_Contact .Box_l .mail_wrap .tit02::before {
    width: 30px;
    height: 24px;
    top: 0.8rem;
    left: -2rem;
}
.top_Contact .Box_l .qa_wrap{
    margin-top: 4rem;
}
.top_Contact .Box_l .qa_wrap p{
    margin-bottom: 3rem;
}

.top_Contact .Box_r{
    gap: 8rem;
}
.top_Contact .Box_r .txtBox{
    font-size: 2.4rem;
    width: 150px;
}
.top_Contact .Box_r .tit{
    margin-bottom: 4rem;
    padding-bottom: 0.7rem;
}


.top_Contact .Box_r .mapBox{
    width: 320px;
}
.top_Contact .Box_r .mapBox a{
    padding: 1.2rem 2rem 1.5rem 2rem;
    line-height: 1.5;
    margin-bottom: 3.5rem;
}
.mapBox a::before {
    width: 20px;
    height: 20px;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
}
.Box_r .mapBox img{
    width: 335px;
}

@media screen and (max-width: 1199px) {
    .contact__grid{
        gap: 5rem;
    }
    .top_Contact .Box_l{
        width: 40vw;
    }
    .top_Contact .Box_r{
        gap: 4rem;
    }
    .top_Contact a.Box_wh{
        width: auto;
    }

}


/* =================================
   footer
================================= */
footer{
    padding: 12rem 0 2.5rem 0;
}
.footer_inner{
    padding-bottom: 19rem;
}
a.footer_logo{
    width: 220px;
    margin-bottom: 4rem;
}
a.footer_logo img{
    width: 100%;
}
footer address{
    line-height: 1.7;
    margin-bottom: 1.5rem;
}
footer .tel_wrap img{
    height: 30px;
    margin: 0.5rem 0.8rem 0 0;
}
footer .tel_wrap a span.out{
    font-size: 3.6rem;
}
footer .tel_wrap a span.time{
    font-size: 1.6rem;
    margin-left: 1rem;
}
footer .tel_wrap a span.noto{
    font-size: 1.4rem;
}
footer .Box{
    width: 350px;
    margin-bottom: 1.5rem;
}
footer .Box_bt{
    margin-bottom: 2rem;
}

footer .Box .imgBox_1{
    width: 89%;
    margin: 0 auto;
}
footer .Box .imgBox_2{
    width: 89%;
    margin: 0.6rem auto 0.8rem auto;
}
footer .link_wrap{
    margin-bottom: 5rem;
}
footer .link_wrap a:first-child{
    margin-bottom: 0.5rem;
}
footer .osakagas_link{
    padding: 1.1rem 1.5rem 0.3rem 2.5rem;
    margin-bottom: 1rem;
    gap: 2rem;
}


.footer_nav-wrap{
  gap:3.5rem;
}
.footer_li-item{
  margin-bottom: 2rem;
}
.footer__link{
  font-size: 1.5rem;
}


.footer_right{
    width: 50%;
}

.footer_recruit{
    padding: 2rem 4rem;
    margin-top: 5rem;
}
.footer_recruit .top_txt .txt_img{
    width: 284px;
    top: -2rem;
    left: -3.8rem;
    margin-bottom: 1.5rem;
}
.footer_recruit .top__title .jp {
    width: 52px;
}


@media screen and (max-width: 1064px) {
    .footer_recruit .top_txt{
        width: 30vw;
    }
    .footer_recruit .top_txt .txt_img{
        width: 25vw;
    }

}
.footer__links{
    gap: 2rem 6rem;
}
.footer__links a{
    gap: 1rem;
}
.footer__links a img {
    width: 10px;
    object-fit: contain;
}

.footer_right a.insta{
    width: 40px;
    height: 40px;
}
.footer_right a.insta img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.Box_l_wrap{
    position: absolute;
    bottom: 0;
    left: 0;
}

.footer__copy{
    margin-top: 4rem;
}

footer a.insta{
    position: absolute;
    bottom: -15rem;
    right: 0;
}

/* =======================================
    パンくず
========================================== */
ul.pankuzu {
    font-size: 1.2rem;
    margin: 2rem auto 8rem auto;
}
ul.pankuzu a{
    margin-right: 1.5rem;
}
ul.pankuzu a::before{
  width: 5px;
  height: 5px;
  top: 0.1rem;
  right: -9px;
}


/* ---------------------------------------------------------------------------
  ★下層ページ
--------------------------------------------------------------------------- */
.subTop{
  background: url(../img/sub_topimg.webp) no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  height: 400px;
}

.subTop h2,
#recruit h2{
    font-size: 3.6rem;
    padding-top: 19rem;
    line-height: 1.2;
}
#recruit h2{
    padding-top: 15rem;
}
.subTop h2 span.en,
#recruit h2 span.en{
    font-size: 1.5rem;;
}
.subTop h2 span.en span,
#recruit h2 span.en span{
    font-size: 2rem;
}

h3{
    font-size: 3.4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
}
#sub h4{
    font-size: 2.9rem;
}
#sub h5{
    font-size: 2.5rem;
}

#sub .Mgt{
    margin-top: 12rem;
}
#sub .bg_black,
#sub .bg_gray{
    padding: 12rem 0;
}
.bor_bt{
    margin-bottom: 5rem;
    padding-bottom: 5rem;
}

/* =================================
   会社案内
================================= */
#company .link_wrap_top{
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    margin-bottom: 8rem;
}
#company a.cta_01{
    width: 100%;
  padding: 18px 20px 20px 20px;
}

#sub .messageBox h4{
    font-size: 4.7rem;
    line-height: 1.6;
    margin: 3rem 0 4rem 0;
}
.message_sign{
    margin-top: 40px;
}
.message_sign img{
  width: 180px;
}
.messageBox h4{
    margin-bottom: 1.5rem;
}

.philosophy{
    background: url(../img/bg_philosophy.webp) no-repeat;
    background-size: cover;
    background-position: center;
}
.philosophy .en{
    font-size: 12.4rem;
}
.philosophy .txt{
    width: 700px;
}

.overview{
    padding: 0 3rem;
}
.overview h3{
    margin-bottom: 3rem;
}
.overview table.c-table th{
    width: 150px;
}
table.c-table th,table.c-table td{
  font-size: 1.6rem;
}
table.c-table th{
  padding: 32px 40px 32px 2px;
}
table.c-table td{
  padding: 32px 10px 32px 2px;
}
.overview td.adjust{
    padding-top: 5.5rem;
}

.osaka_gas p.tit{
    font-size: 2.5rem;
    margin-bottom: 4rem;
}
.osaka_gas_wrap{
    width: 800px;
    margin: 0 auto 12rem auto;
}
.osaka_gas_wrap .Box{
    align-items: center;
}
.osaka_gas_wrap .txtBox{
    width: 370px;
    margin-right: 4rem;
}
.osaka_gas p.tit02 span{
    font-size: 2.2rem;
    margin-bottom: 1rem;
}
#company .osaka_gas .link_wrap{
    flex: 1;
    margin-bottom: 0;
}
.osaka_gas .link_wrap,
.osakagas_link{
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
}
.osaka_gas .grid_4{
    grid-template-columns: repeat(4, 1fr);
    gap: 8rem 3rem;
}

.organization .figureBox{
    margin: 5rem 0;
}
.organization .figureBox img{
    width: 750px;
    margin: 0 auto;
}
.organization .Box{
    padding: 3.5rem 4rem;
    margin-top: 5rem;
}
.organization .Box h4{
    margin-bottom: 2rem;
}
.organization .Box .imgBox{
    width: 50%;
    margin-right: 3rem;
}
.organization .Box .imgBox p{
    margin-top: 1.5rem;
}
.organization .name_wrap{
    line-height: 1.4;
    margin-bottom: 1.3rem;
    gap: 1rem;
}
.organization .Box span.en{
    font-size: 1.4rem;
    padding-top: 0.4rem;
}
.organization .Box span.ja_name{
    font-size: 2.8rem;
}
.organization .Box .txtBox{
    flex: 1;
}
.organization .Box p.licence span{
    font-size: 1.7rem;
    margin: 1.5rem 0 0.3rem 0;
}
#sub .organization .Box h5{
    font-size: 2rem;
    margin-bottom: 0.4rem;
}
h5.team{
    margin-bottom: 0.5rem;
}
.organization .teamBox{
    margin-top: 3rem;
}
.organization .teamBox .imgBox{
    width: 50%;
}
.organization .teamBox02 .Box{
    width: 48%;
    gap: 2rem;
}
.organization .teamBox02 .Box .imgBox{
    width: 100%;
}

#sub .teamBox02 h4{
    font-size: 2.6rem;
}
.teamBox02 h4 span.sm{
  font-size: 2.2rem;
}

.access{
    padding: 5rem 0 8rem;
}
#sub .access h3{
    font-size: 11rem;
    line-height: 0.7;
}
#sub .access .tit{
    font-size: 2.2rem;
}
.access iframe{
    height: 500px;
    margin: 2rem 0;
}

/* =================================
   ESGへの取り組み
================================= */
#esg .topBox .figureBox{
    width: 800px;
    margin: 5rem auto 3rem auto; 
}

#sub .topBox h3{
    margin-bottom: 2rem;
}

#esg .Box03{
    margin-bottom: 12rem;
}
#esg .Box03 .Mgb_wrap{
    padding-bottom: 10rem;
    margin-bottom: 10rem;
}
#esg .Box03 h3{
    padding-bottom: 2rem;
    margin-bottom: 8rem;
}
#esg .Box03 img.mark {
        width: 64px;
        height: 64px;
}
#esg .Box03 .titBox{
    align-items: center;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    gap: 2rem 0;
}
#esg .Box03 .titBox span.en{
    font-size: 10rem;
    line-height: 0.7;
}
#esg .Box03 .titBox span.sm{
    font-size: 6rem;
}
#esg .Box03 .titBox span.ja{
    font-size: 2.4rem;
    display: inline-block;
    margin-left: 1.5rem;
}
#esg .Box03 .Box_in .imgBox{
    width: 47%;
    margin: 0.5rem 3rem 0 0;
}
#esg .Box03 .Box_in .txtBox{
    flex: 1;
}

#esg h4{
    margin-bottom: 2rem;
}
#esg .Mgb{
    margin-bottom: 5rem;
}


/* =================================
   ニシダガスセンターの強み
================================= */
#strengths .topBox .imgBox{
    margin-top: 5rem;
}
#strengths .Box_l{
    flex: 1;
    margin-right: 8rem;
}
#strengths .Box01 .Box_l{
    width: 45%;
    min-width: 420px;
}
#strengths .Box_l h3{
    margin-bottom: 2rem;
}
#strengths .Box01 .Box_r{
    width: 530px;
}
#strengths .Box01 .Box_r_in{
    margin-bottom: 5rem;
}
#strengths .Box01 h4{
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}
#strengths .Box01 .Box_r{
    flex: 1;
}
#strengths .Box01 .Box_r .link_wrap{
    gap: 2.5rem;
    width: 400px;
}
#strengths .Box01 .Box_r .link_wrap a{
    max-width: 170px;
}
#strengths .Box01 .Box_r .gss{
    margin-bottom: 0.5rem;
}
#strengths .Box01 .Box_r .gss .tit{
    font-size: 1.7rem;
}
#strengths .Box01 .Box_r .gss img{
    width: 30px;
    margin-right: 0.5rem;
}
#strengths .Box01 .Box_r table td:first-child{
    width: 250px;
}

.Box_award .txtBox{
    width: 370px;
    margin-right: 5rem;
}
.Box_award .imgBox{
    flex: 1;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
    margin-top: 1rem;
}
#sub .Mgt02{
    margin-top: 10rem;
}
#strengths .bg_gray{
    padding: 10rem 0;
}

#strengths .Box02 .Box_r,
#strengths .Box03 .Box_r,
#strengths .Box04 .Box_r{
    width: 420px;
}
#strengths .Box_r .Mgb{
    margin-bottom: 4rem;
}
#strengths .Box02 .Box_r p{
    padding-top: 0.5rem;
}

p.p_Mgt{
    margin-top: 0.5rem;
}

/* =================================
   事業案内 共通
================================= */
.gas_link_wrap{
    justify-content: center;
    gap: 2.5rem;
    margin-bottom: 9rem;
}
.gas_link_wrap a.cta_01 {
    width: 23%;
    padding: 18px 20px 20px 20px;
}
.gas_link_wrap a.cta_01 span{
    line-height: 1.3;
}
#lp_gas .gas_link_wrap a.cta_01,
#home_gas .gas_link_wrap a.cta_01{
    height: 52px;
}

#gasEquipment01,
#lpgasConstruction{
    scroll-margin-top: -30px;
}
#gasEquipment02,
#acu24,
#price,
#Supported_services,
#flow{
    scroll-margin-top: 40px;
}
#area{
    scroll-margin-top: 60px;
}
#SafetySecurity01,
#top{
    scroll-margin-top: 80px;
}
#SafetySecurity02{
    scroll-margin-top: -40px;
}


@media screen and (max-width: 1068px) {
    .gas_link_wrap a.cta_01{
        font-size: 1.5vw;
        gap: 0.5vw;
    }
    .gas_link_wrap a.cta_01 img{
        width: 4vw;
    }
}
@media screen and (max-width: 999px) {
    .gas_link_wrap a.cta_01{
        width: 47%;
    }
}


/* =================================
   都市ガス事業
================================= */
.gas_topBox .link_wrap{
    width: 400px;
    margin: 5rem auto 0 auto;
    justify-content: center;
}
.gas_topBox .link_wrap a{
    width: 170px;
    margin: 0 auto;
}

@media screen and (max-width: 1210px) {
    #city_gas .gas_topBox{
        height: auto;
    }
}

#city_gas .Box01{
    margin-top: 10rem;
}
#city_gas .Box02{
    padding: 12rem 0;
}
#city_gas .Box02 h3{
    margin-bottom: 5rem;
}
#city_gas .Box02 .txtBox{
    width: 800px;
    margin: 0 auto;
}
#city_gas .Box02 .Box_in{
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    margin-top: 7rem;
}
#city_gas .Box02 .Box_in .imgBox img{
    margin: 0 auto;
    width: 100px;
}
#city_gas .Box02 .Box_in .img_size01 img{
    width: 130px;
    height: 125px;
}
#city_gas .Box02 .Box_in .img_size02 img{
    width: 80px;
}
#city_gas .Box02 .Box_in .img_size04 img{
    width: 70px;
}

#city_gas .Box03{
    padding: 7rem 0 8rem 0;
    margin-top: 2rem;
}
#city_gas .Box03 h3{
    margin-bottom: 4rem;
}
#city_gas .Box03 p.txt{
    width: 700px;
    margin: 0 auto 4rem auto;
}
#city_gas .Box03 .Box_in{
    width: 800px;
    margin: 0 auto;
}
#city_gas .Box03 .Box_l{
    width: 47%;
    margin-right: 4rem;
}
#city_gas .Box03 .Box_l ul li{
    padding: 2rem;
    font-size: 2rem;
}
#city_gas .Box03 .Box_l ul li:first-child{
    margin-bottom: 1.5rem;
}
#city_gas .Box03 .Box_l ul li span{
    font-size: 4rem;
}

#city_gas .Box03 .Box_r{
    width: 47%;

}
.txt_line{
    font-size: 1.7rem;
    margin-bottom: 2rem;
}

.areaMap{
    padding: 2rem 3rem;
}




/* =================================
   LPガス事業
================================= */
.gas_topBox{
    position: relative;
    height: 550px;
}

#lp_gas .gas_topBox{
    height: 37vw;
}
@media screen and (min-width: 1500px) {
    #lp_gas .gas_topBox{
        height: 550px;
    }

}


.gas_topBox h3{
    margin-bottom: 3rem;
}
.gas_topBox .txtBox{
    width: 45%;
    min-width: 415px;
    margin: 0 auto 0 0;
}
.gas_topBox .imgBox{
    position: absolute;
    top: 1rem;
    right: 0;
    width: 50%;  
}
@media screen and (max-width: 1199px) {
    .gas_topBox .txtBox{
        width: 490px;
    }
}
@media screen and (max-width: 1099px) {
   .gas_topBox .imgBox{
    width: 45vw; 
   } 
}
@media screen and (max-width: 999px) {
   .gas_topBox .imgBox{
    width: 40vw; 
   } 
}

@media screen and (min-width: 1501px) {
   .gas_topBox .imgBox{
    height: 530px;
   }
   .gas_topBox .imgBox img{
    width: 100%;
    height: 100%;
    object-fit: cover;
   }
}
@media screen and (max-width: 1300px) {
    .gas_topBox{
        height: 36vw;
    }
}


.Box_gas h3{
    margin-bottom: 5rem;
}
.Box_gas .txtBox{
    width: 800px;
    margin: 0 auto 5rem auto;
}
.Box_gas .Box_in{
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

#lp_gas .Mgt_pc{
    margin-top: 12rem;
}
#lp_gas .Box02{
    padding: 10rem 0 0 0;
}

#lp_gas .Box02 .top{
    margin-bottom: 7rem;
}
#lp_gas .Box02 .top img{
    width: 150px;
    margin-left: 1rem;
}

#lp_gas .Box02 h4{
    margin-bottom: 4rem;
}
#lp_gas .Box02 .acu_wrap{
    align-items: center;
    margin-bottom: 3rem;
    gap: 3rem;
}

#lp_gas .Box02 .acu_wrap .Box_l{
    border: 0.5px solid #000;
    width: 39%;
    padding: 5rem 3.5rem;
}
#lp_gas .Box02 .acu_wrap .Box_l img{
    width: 230px;
    margin: 4rem auto 5rem auto;  
}
#lp_gas .Box02 .acu_wrap .imgBox{
    flex: 1;
}

#lp_gas .Box02 .bg_gray{
    padding: 3.5rem 3rem;
}
#lp_gas .Box02 .bg_gray h4{
    width: 325px;
    margin: 0 auto 2rem auto;
    padding-bottom: 0.5rem;
}
#lp_gas .Box02 ul.grid{
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem; 
}
#lp_gas .Box02 ul.grid li{
    padding: 2.5rem;
}
#lp_gas .Box02 ul.grid li img{
    width: 130px;
    margin: 1rem auto 3rem auto;
}
#lp_gas .Box02 ul.grid li h5{
    margin-bottom: 2rem;
}
#lp_gas .Box02 ul.grid li h5 span{
    padding-bottom: 1rem;
}

.Box_system h3{
    margin-bottom: 5rem;
}
.Box_system .Box_in{
    grid-template-columns: repeat(2, 1fr);
    gap: 8rem;
}
.Box_system .Box_in h4{
    margin-bottom: 0.5rem;
}
.Box_system .Box_in p{
    margin-bottom: 2rem;
    height: 205px;
}

@media screen and (max-width: 1049px) {
    .Box_system .Box_in p{
        height: 200px;
    }
}


#lp_gas .Box_out{
    padding: 10rem 0 0 0;
}
#lp_gas .Box_out h3{
    margin-bottom: 4rem;
}
#lp_gas .Box h4{
    margin-bottom: 2rem;
}
.price-table tr {
    border-bottom: 0.5px solid #000;
}
.price-table tr:nth-child(2) {
    border-bottom: 0.5px solid #aaa;
}
.price-table tr:first-child {
    border-top: 0.5px solid #000;
}
.price-table td {
    padding: 1.5rem 0.8rem;
}
.price-table td.txt_red{
    font-size: 1.8rem;
}
.label {
    width: 20%;
    white-space: nowrap;
}
.range {
    width: 25%;
}
.unit-label {
    width: 25%;
}

#lp_gas .Box04,
#lp_gas .Box05{
    padding: 4rem 5rem;
  border: 0.5px solid #000;
}
#lp_gas .Box04 .Box_in{
    margin-top: 4rem;
}
#lp_gas .Box04 .calc{
    gap: 2rem;
}
#lp_gas .bor_Box{
    border: 0.5px solid #000;
    padding: 2rem;
    text-align: center;
}
#lp_gas .Box_a{
    width: 320px;
}
#lp_gas .Box_b{
    width: 400px;
}
#lp_gas .Box04 h5{
    font-size: 2.4rem;
    margin-bottom: 1rem;
}
#lp_gas .Box04 h6{
    font-size: 1.7rem;
    margin-bottom: 0.5rem;
}
#lp_gas .plus{
    font-size: 3rem;
}
p.kome{
    font-size: 1.4rem;
    margin-top: 1rem;
    line-height: 1.7;
}

#lp_gas .Box05{
    margin: 5rem auto 12rem auto;
}
#lp_gas .Box05 p.txt{
    width: 700px;
    margin: 0 auto 2rem auto;
}


/* =================================
   住まいのガス
================================= */
#home_gas .topBox h3 span{
    font-size: 2.5rem;
}
#home_gas .Box01{
    margin-top: 4rem;
    padding: 4rem 0;
}
#home_gas .Box01::before{
    border: 32px solid transparent;
    border-top: 32px solid #2a2a2a;
    bottom: -10rem; 
}
#home_gas .Box01 .tit{
  font-size: 2.5rem;
}
#home_gas .Box01 .Box_in{
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
#home_gas .Box01 .Box_in p{
    margin-bottom: 1rem;
}
#home_gas .Box01 .Box_in p.adjust{
    padding: 1.5rem 0 1rem 0;
}
#home_gas .Box01 .Box_in .imgBox{
    width: 150px;
    height: 150px;
}
#home_gas .Box01 .Box_in .imgBox img{
    width: 70px;
    height: 100px;
    object-fit: contain;
    margin: 0 auto;
}
#home_gas .Box01 .Box_in .img_size02 img{
    width: 100px;
}
#home_gas .Box01 .Box_in .img_size03 img{
    width: 85px;
    padding-top: 1rem;
}

#home_gas .Box02{
    margin-bottom: 5rem;
}
#home_gas .Box02 h3{
    margin-bottom: 2rem;
}

#home_gas .Box03 .Box{
    border: 0.5px solid #000;
}
#home_gas .Box03 .Box_in{
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;   
}
#home_gas .cate_wrap{
    gap: 1rem;
}
#home_gas .cate_wrap p{
    width: 100px;
    padding: 0 1rem 0.2rem 1rem;
}
#home_gas .txt_line{
  text-align: center;
  position: relative;
  left: -1rem;
}
#home_gas .txt_line:before, .txt_line:after{
  height: 2rem;
}
#home_gas .txt_line{
    font-size: 1.6rem;
    margin: 2rem 0 0.2rem 0;
}

@media screen and (max-width: 1000px) {
    #home_gas .txt_line{
        font-size: 1.6vw;
    }
}

#home_gas .Box03 h4{
    margin-bottom: 1rem;
}
#home_gas .Box03 .Box{
    padding: 3rem;
}
#home_gas .Box03 .imgBox{
    margin-top: 2rem;
}
#home_gas .Box03 .img_Mgt{
    margin-top: 5rem;
}
#home_gas .Box03 p.tit{
    font-size: 2.2rem;
    padding: 5rem 0 1rem 0;
    border-bottom: 0.5px solid #000;
    margin-bottom: 4rem;
}

#home_gas .Box04{
    margin-bottom: 12rem;
}
#home_gas .Box04 h3{
    margin-bottom: 3rem;
}
#home_gas .Box04 .bg_black{
    display: flex;
    padding: 35px 5rem;
    gap: 60px;
}
#home_gas .Box04 .label{
    width: 90px;
}
#home_gas .Box04 .label::after {
        top: 50%;
        transform: translateY(-50%);
        width: 0.5px;
        height: 100%;
}
#home_gas .Box04 .label p{
    line-height: 1.1;
}
#home_gas .Box04 .label span.number{
    font-size: 4rem;
}
#home_gas .Box04 h4{
    margin-bottom: 1rem;
    line-height: 1.5;
}
#home_gas .Box04 .Box_r{
    flex: 1;
    padding-bottom: 0.7rem;
}
#home_gas .Box04 .Mgb{
    margin-bottom: 5rem;
}
.cta_wrap span.out {
        font-size: 3.6rem;
        line-height: 0.7;
        margin-top: 0.5rem;
        padding-left: 1.2rem;
        display: inline-block;
}
.cta_wrap span.time {
    font-size: 1.6rem;
}
.cta_wrap span.out::before {
    width: 18px;
        height: 30px;
        top: 0.3rem;
        left: -1rem;
}
.cta_wrap{
    gap: 2rem;
    margin-top: 2rem;
}
#home_gas .Box04 .cta_wrap a{
    width: 47%;
}
.cta_wrap a{
    height: auto;
    padding: 1.3rem 2rem 1rem 2rem;
}
#home_gas .Box04 .cta_wrap a{
    padding: 1.8rem 2rem 0.8rem 2rem;
}

.cta_wrap .mail_wrap .tit02{
    font-size: 2rem;
    line-height: 2.8;
    padding-left: 3.2rem;
}
.cta_wrap .mail_wrap .tit02::before {
        width: 25px;
        height: 24px;
        top: 0.3rem;
        left: 0;
}
#home_gas .Box04 .arrow_bt::before{
    bottom: -4.9rem;
    border: 16px solid transparent;
    border-top: 16px solid #2a2a2a;    
}

/* =================================
   採用情報
================================= */
#recruit .recruit__topimg{
  background: url(../img/topimg_recruit.webp) no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  height: 50vw;
}
#recruit .topTxt{
  top: 18vw;
  left: 50%;
  font-size: 4rem;
  line-height: 1.8;
}
@media screen and (max-width: 1199px) {
    #recruit .topTxt{
        top: 16vw;
        font-size: 3.5vw;
    }
}

#recruit .topBox{
    text-align: center;
}
#recruit h3.en{
    font-size: 15rem;
}
#recruit .topBox p{
    font-size: 1.8rem;
    text-align: center;
}

#recruit .Box01 h4{
    letter-spacing: 0.03em;
}
#recruit .Box01 p.tit{
    font-size: 3rem;
    text-align: center;
    margin-bottom: 8rem;
}
#recruit .Box01 .Box_in{
    grid-template-columns: repeat(2, 1fr);
    gap: 8rem;     
}
#recruit .Box01 .imgBox{
    margin: 1.5rem 0;
}
@media screen and (max-width: 1149px) {
    #recruit .Box01 h4{
        font-size: 2.4vw;
    }
}


#recruit .Box03 h3,
#recruit .Box04 h3,
#recruit .Box05 h3,
#recruit .Box06 h3,
#recruit .Box07 h3,
.ctaBox h3{
    margin-bottom: 5rem;
}
#recruit .Box03 .Box_in{
    grid-template-columns: repeat(3, 1fr);
    gap: 8rem;  
}
#recruit .Box03 .maru{
    width: 220px;
    height: 220px;
    margin: 0 auto 1rem auto;
}
#recruit .Box03 .maru p{
    font-size: 2.5rem;
    padding-top: 7rem;
}
#recruit .Box03 .maru p.adjust{
    padding-top: 5.5rem;
}

#recruit .Box04 .Box_l{
    width: 450px;
    margin-right: 8rem;
}
#recruit .Box04 .Box_r{
    flex: 1;
}
#recruit .Box04 h4{
    font-size: 2.2rem;
    margin-bottom: 4rem;
}
#recruit .Box04 h4 span{
    font-size: 3.8rem;
}
#recruit .Box04 p,
#recruit .Box05 p{
    margin-bottom: 3rem;
}

#recruit .Box05 .flex_wrap{
    flex-direction:row-reverse;
    gap: 8rem;
}
#recruit .Box05 .Box_l{
    width: 500px;
}
#recruit .Box05 .Box_r{
    flex: 1;
}
#recruit .Box05 h4{
    margin-bottom: 2rem;
}
#recruit .Box05 a.cta_01{
    width: 300px;
}

#recruit .Box06 table.c-table th{
    width: 160px;
}
#recruit .Box06 p.Mgb{
    margin-bottom: 1rem;
}

#recruit .Box07{
    margin-bottom: 15rem;
}
.o_flowBox01 li {
  position: relative;
  width: 14%;
}
.o_flowBox01 li:nth-child(4){
  width: 21%;
}
.o_flowBox01 li::after{
    right: -15%;
    top: 79%;
  border-width: 7.5px 0 7.5px 10px;
  border-color: transparent transparent transparent #000;
}
.o_flowBox01 li:nth-child(4)::after{
  right: -10%;
}
.o_flowBox01 li:not(:last-child){
  margin-right: 3%;
}
.o_flowBox01 .txt_line_02 span:before,
.o_flowBox01 .txt_line_02 span:after{
    height: 2rem;
}
.o_flowBox01 .txt_line_02{
    font-size: 1.5rem;
}
.o_flowBox01{
    justify-content: center;
}
.o_flowBox01 li p.wrap{
    font-size: 1.8rem;
    padding: 1rem 0 1.4rem 0;
}
.o_flowBox01 li:nth-child(2) p,
.o_flowBox01 li:nth-child(3) p{
  margin-top: 7.5rem;
}
@media screen and (max-width: 1199px) {
    .o_flowBox01 li{
        height: 11vw;
        position: relative;
    }
    .o_flowBox01 li p.wrap{
        position: absolute;
        bottom: 0;
        width: 100%;
    }
    .o_flowBox01 .txt_line_02{
        font-size: 1.2vw;
        position: absolute;
        bottom: 5.5rem;
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        white-space: nowrap;
    }
}


#recruit .Box07 .txt_line_02{
    margin: 2rem 0 1rem 0;
}


.ctaBox .txt_line_02{
    font-size: 2rem;
    margin-bottom: 2rem;
}
.ctaBox .txt_line_02 span:before,
.ctaBox .txt_line_02 span:after{
    height: 3rem;
}
.ctaBox .txt{
    text-align: center;
}
.ctaBox .Box{
    width: 47%;
}
.ctaBox .tit{
    font-size: 2rem;
    margin-bottom: 1rem;
}
.ctaBox .cta_wrap{
    justify-content: space-between;
    gap: 5rem;
    margin-top: 5rem;
}
.ctaBox .cta_wrap a{
    width: 100%;
    height: 132px;
    padding: 0.7rem 2rem 1.2rem 2rem;
}
.ctaBox .cta_wrap span.out{
    margin-top: 3.2rem;
}
.ctaBox a.mail_wrap_other{
    padding: 3.5rem 2rem 1.2rem 2rem;
}
.ctaBox a.mail_wrap_other .tit02{
    font-size: 2.2rem;
}
.ctaBox a.mail_wrap_other .tit02::before{
    top: 0.5rem;
}

/* =================================
   社員インタビュー
================================= */
#anchor01{
    scroll-margin-top: 90px;
}
#anchor02,
#anchor04{
    scroll-margin-top: 110px;
}
#anchor03{
    scroll-margin-top: -80px;
}

#interview h3.top{
    margin-bottom: 8rem;
}
#interview .Box_01{
    flex-direction:row-reverse;
    align-items: center;
}
#interview .txtBox{
    width: 40%;
    min-width: 500px;
    margin-right: 5rem;
}
#interview .imgBox{
    flex: 1;
}
#interview .Box_01 h4{
    margin-bottom: 5rem;
}
#interview .Box_01 h4.adjust{
    letter-spacing: 0.05em;
}
.occupation{
    font-size: 1.7rem;
    width: 120px;
    padding: 0 1rem 0.2rem 1rem;
    margin-bottom: 1rem;
}
.ocu_l{
    width: 160px;
}
#interview .name{
    font-size: 3rem;
}
#interview .year{
    font-size: 1.7rem;
    margin-left: 0.2rem;
}
#interview .Box_02{
    padding: 4rem;
    gap: 4rem;
    margin-top: 5rem;
}
#interview .Box_02 .wrap{
    width: 47%;
}
#interview .Box_02 .tit{
    font-size: 1.7rem;
    margin-bottom: 1rem;
    padding: 0 0 0.2rem 1.5rem;
}
#interview .Box_02 .Mgb{
    margin-bottom: 4rem;
}
#interview .bg_gray{
    margin: 8rem auto;
}
#interview .Box_bt{
    margin-bottom: 12rem;
}


/* =================================
   働く環境
================================= */
#environment h3{
    margin-bottom: 5rem;
}

#environment .Box01 .tit,
#environment .Box02 .tit{
    font-size: 2.8rem;
    margin-bottom: 5rem;
}
#environment .Box01 .Box_in{
    flex-direction:row-reverse;
}
#environment .Box01 .Box_in .txtBox{
    width: 45%;
    min-width: 500px;
    margin-right: 5rem;
}
#environment .Box01 h4{
    margin-bottom: 1rem;
}
#environment .Box01 .Box_in .imgBox{
    flex: 1;
}
#environment .Box01 .Box_in .flex_nowrap{
    gap: 2rem;
    margin-top: 2rem;
}
#environment .Box01 .Box_in .flex_nowrap img{
    width: 48.5%;
}
#environment .Box01 .content_wrap .bk_Box{
    font-size: 1.4rem;
    width: 150px;
    margin: 3rem 0 0.5rem 0;
    padding: 0 1rem 0.2rem 1rem;
}

#environment .Box01 .grid{
    grid-template-columns: repeat(2, 2fr);
    gap: 1.5rem;
    margin: 2rem auto 0 auto;
    width: 400px;
}
#environment .Box01 .grid .maru{
    width: 190px;
    height: 190px;
}
#environment .Box01 .grid .maru p{
    font-size: 1.7rem;
    padding-top: 7rem;
}
#environment .Box02 ul {
        margin-top: 2rem;
        gap: 3rem;
}
#environment .Box02 ul li{
    width: calc(33% - 20px);
    padding: 3rem;
}
#environment .Box02 h4{
    font-size: 2.8rem;
    margin-bottom: 1rem;
}
@media screen and (max-width: 1064px){
    #environment .Box02 h4{
        font-size: 2.7vw;
    }
}


#environment .Box03 .gym_wrap{
    margin-top: 2rem;
}
#environment .wrap .flex_wrap .imgBox{
    width: calc(50% - 40px);
}
#environment .Box03 .txt_line{
    margin-bottom: 0.5rem;
}
#environment .Box03 h4{
    margin-bottom: 1rem;
}
#environment .Box03 .imgBox img{
    margin-bottom: 1rem;
}
#environment .Box03 .Mgb{
    margin-bottom: 7rem;
}

#environment .Box04{
    padding: 12rem 0;
}
#environment .Box04 h3{
    font-size: 3rem;
    margin-bottom: 3rem;
}
#environment .Box04 .tit{
    font-size: 2rem;
    margin-bottom: 3rem;
    text-align: center;
}
#environment .Box04 .txt_line:before, 
#environment .Box04 .txt_line:after {
        height: 3rem;
}
#environment .Box04 .grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
        margin: 2rem auto 0 auto;
}
#environment .Box04 .grid .maru {
        width: 190px;
        height: 190px;
        margin: 0 auto;
}
#environment .Box04 .grid .maru p {
    font-size: 1.7rem;
        padding-top: 7rem;
}

ul.slide{
    margin-top: 7rem;
}
ul.slide li {
  flex: 0 0 auto;
  width: 335px;
  height: 250px;
}



/* =================================
   新着情報
================================= */
#news,
#news-post{
    margin-bottom: 8em;
}
.newsBox {
  flex-direction: row-reverse;
}

#news h3 {
  font-size: 2.8rem;
  line-height: 3.6rem;
  margin: 1.5rem 0;
}

ul.tab-nav{
    width: 640px;
    margin: 0 auto 5rem auto;
    gap: 2rem;
        justify-content: end;
}
li.tab-nav__item a{
    /*width: calc(20% - 2rem);
    min-width: 200px;*/
    width: 200px;
    height: 45px;
    padding: 0.5rem 2rem;
}

/* 4番目の要素の「直前」に幅100%の見えない要素を挿入し、そこで改行させる */
.tab-nav__item--row2:nth-child(4)::before {
    content: "";
    flex-basis: 100%;
    width: 0;
}

/* 2行目の「先頭要素(4番目)」にだけ margin-left: auto を指定 */
.tab-nav__item--row2:nth-child(4) {
    margin-left: auto;
}

li.tab-nav__item img{
    width: 50px;
}
li.tab-nav__item {
    transition: .3s;
    position: relative;
    z-index: 1;
}
li.tab-nav__item::before {
  content: "";
    width: 100%;
    height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform-origin: 50% 0%;
  transform: scaleY(0);
  transition: transform ease .3s;
}
li.tab-nav__item:hover::before {
  transform-origin: 50% 100%;
  transform: scaleY(1);
}
li.tab-nav__item::before{
    background: var(--main-blue);
}
li.tab-nav__item:hover{
    opacity: 1;
}


li.post-list__item{
  padding: 5rem 6rem 5rem 6rem;
  gap: 4rem;

}
li.post-list__item a{
    gap: 4rem;
}
#news span.post-list__pdf-link h3{
    margin: 0.5rem 0 1.5rem 0;;
}
span.post-list__pdf-link{
    gap: 3rem;
}
.post-list__body{
    flex: 1;
}
.post-list__thumb{
  width: 32.5%;
  height: 262.5px;
}
.post-list__meta{
    gap: 2rem;
}
.post-list__date{
    font-size: 2rem;
    padding-bottom: 0.8rem;
}
.post-list__cats{
    font-size: 1.8rem;
    padding-top: 0.1rem;
}
.post-list__title {
    margin-top: 1rem;
}
.post-list__body .view_bk{
    margin-top: 3rem;
}
p.txt_adjust_pc{
    text-align: center;
}


/* =================================
   詳細ページ
================================= */
#news-post h3{
    margin: 3rem 0 4rem 0;
}

/* ===== アイキャッチ左よせ ===== */
.post-single__thumb {
    float: left;
    max-width: 45%;     
    margin: 0 4rem 4rem 0;
}

/* ===== 本文中の画像 ===== */
.post-single__content img {
    display: block;      /* インライン回り込みを解除してブロック要素化 */
    clear: both;          /* 上のfloat要素（サムネイル画像）の影響も断ち切る */
    float: none;
    max-width: 600px; 
    height: auto;
    margin-top: 4rem;
    margin-bottom: 4rem; 
}

/* ===== 本文中の画像_中央揃え ===== */
.post-single img.aligncenter{
    margin: 4rem auto;
}
/* ===== 本文中の画像_左寄せ ===== */
.post-single img.alignleft{
    margin: 4rem 1.5rem 4rem 0;
}

#news-post a.cta_01{
    margin: 0 auto;
}

/* 「お客様の声」の場合は回り込みを解除 */
.post-single__body.no-wrap .post-single__thumb {
    float: none;
}

.post-single__body.no-wrap .post-single__content {
    max-width: 600px;
}


#news-post .pager {
    width: 100%;
  margin: 8rem auto;
}
.pagerin img {
    width: 50px;
}

div#pager{
    margin-top: 5rem;
}



/* =================================
   お問い合わせ
================================= */
#contact .topBox p.tit{
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 2rem;
}
#contact .topBox p.kome{
    width: 500px;
    margin: 0 auto;
}
#contact h3{
    font-size: 2.8rem;
}
#contact h3{
    margin-bottom: 2rem;
}
#contact .Box01{
    margin: 8rem auto;
}
#contact .Box01 a{
    width: 400px;
    margin: 0 auto;
}
#contact .Box01 span.out::before {
        width: 18px;
        height: 30px;
        top: 0.3rem;
        left: -1rem;
}
#contact table.c-table th span.adjust{
    padding-top: 1.2rem;
}
#contact table.c-table th span.adjust02{
    padding-top: 0.5rem;
}

.hissu {
    font-size: 1.2rem;
    line-height: 1.4;
    height: 20px;
    padding: 0.1rem 0.5rem 0.2rem 0.5rem;
    margin-top: 0.5rem;
}
#contact label.c_b{
    text-align: center;
}
.privacy_wrap{
    margin-top: 4rem;
}

.submit_wrap{
    width: 300px;
    height: 60px;
    margin: 5rem auto 0 auto;
}
.submit_wrap:before {
    right: 3.5rem;
    width: 50px;
    height: 3px;
}
.submit_wrap .btn01{
    padding-right: 7rem;
}

.popup-inner .title{
    font-size: 1.7rem;
    margin-top: 5rem;
}

#thanks{
  margin-bottom: 8rem;
}
#thanks .miniTextBox{
    padding: 9rem 0 14rem 0;
}
#thanks .miniTextBox p{
    text-align: center;
}

#error{
  margin-top: 20rem;
}


#thanks{
  margin-bottom: 8rem;
}



