[id] {
  scroll-margin-top: 80px; /* ← ヘッダー高さぶん */
}

p.lang_change{
    margin-left: 10px;
    font-weight: bold;
}

p.lang_change, p.lang_change a{
    color: #959595;
}

p.lang_change a.current {
    color: #3081a5;
}

.l-mainnav__util .lang_change {
    display: none;
}
.l-mainheader__inner.js-header-inner>.lang_change {
    visibility: hidden;
}

.philosophy_yakuin_img img {
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: top center;
}

.fgrad{
    background: linear-gradient(to right, #007aa4 0%, #006e92 20%, #005c74 40%, #003744 60%, #001417 65%, #001417 80%, #003744 85%, #005c74 92%, #006e92 97%, #007aa4 100%);
}
.l-mainfooter.fgrad {
    color: #fff;
}
.l-mainfooter.fgrad .l-fnav-sub__item{
    color: #fff;
}
.l-mainfooter.fgrad .l-mainfooter__copyright{
    color: #fff;
}
video.video_lat1 {
    display: block;
    aspect-ratio: 1920 / 1080;
}

.un-slider__image video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-ttl-w.l-section {
    max-width: 980px;
    margin-bottom: 1.5em;
}
.navi {
    background: #f8f8f8;
    line-height: 1;
}
.navi>div{
    padding-top: 20px;
    padding-bottom: 20px;
    max-width: 980px;
    font-size: 1.3rem;
}

.company_main_block {
    max-width: 800px;
}

.company_ttl {
    background: #007ea2;
    color: #fff;
    padding: 10px;
    line-height: 1;
    font-size: 1.1em;
    font-weight: bold;
    position: relative;
}
.main-subttl {
    font-size: 2em;
    /* font-weight: bold; */
    letter-spacing: 0.1em;
    line-height: 1.1;
    font-family: "Avenir Next", var(--font-sans);
}

.main-ttl {
    font-weight: bold;
    /* padding: 0 0.3em; */
}

section.company_block.company_block_2 {
    display: flex;
    gap: 40px;
}

section.company_block {
    margin-top: 40px;
}

section.company_block.company_block_2 section.company_block {
    width: 50%;
}

section.company_block.company_block_2 {
    margin-top: 0;
}

.company_desc {
    font-size: 0.9em;
    padding: 10px 10px 0;
}

.link_block_more {
    margin-top: 1em;
    text-align: right;
}

section.link_blocks.l-section {
    max-width: 1080px;
}

.link_block {
    margin-top: 80px;
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
}

.link_block>div {
    width:100%;
}

.link_block_ttl {
    position: relative;
    font-weight: 500;
    font-size: 2.2rem;
    line-height: var(--line-height-s);
}

.link_block_desc ,
.link_block_more {
    position: relative;
    font-size: 1.5rem;
}

.text_block.l-section {
    max-width: 980px;
}

.text_block.l-section {
    margin-top: 80px;
}

.text_ttl {
    margin-bottom: 2em;
    position: relative;
    font-weight: 500;
    font-size: 2.2rem;
    padding: 0 0 0 18px;
    line-height: var(--line-height-s);
    color:  var(--color-prim);
    letter-spacing: 0.2em;
}

.text_ttl2 {
    margin-top: -0.5em;
    line-height: var(--line-height-s);
    color: var(--color-prim);
    font-size: 2.2rem;
    margin-bottom: 0.5em;
    font-weight: 500;
}

.text_desc p {
    margin-bottom: 1em;
}

.text_desc>p:last-child {
    margin-bottom: 0;
}

.text_desc p.text_desc_kome {
    font-size: 0.9em;
    line-height: 1.5;
}

.text_ttl::before {
    content: "";
    width: 4px;
    height: calc(0.8em);
    background-color: var(--color-prim);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-45%);
}

.text_subttl {
    /* font-size: 1.8rem; */
    font-weight: 500;
    margin-bottom: 0.5em;
    color: var(--color-prim);
}


.text_block ul{
    list-style: disc;
    margin-left: 1em;
}

.text_block ol {
    list-style: num;
    margin-left: 1em;
}

.text_block ol>li{
    padding-left: 1em;
}


.philosophy_yakuins ul {
    margin-left: 1.8em;
    margin-block-start: 1em;
}

table.text_table {
    width: 100%;
    /* border: solid 1px #000; */
}

table.text_table td,table.text_table th{
  padding: 15px 0;
}

table.text_table thead tr{
  background-color: #0986a8; /* 奇数行 */
  color: #fff;
}

table.text_table tbody tr:nth-child(odd) {
  /* background-color: #d0deef; */ /* 奇数行 */
}

table.text_table tbody tr:nth-child(even) {
  /* background-color: #e9eff7; */ /* 偶数行 */
}

table.text_table tr td:first-child,
table.text_table tr th:first-child{
    /* border-right: solid 1px #000; */
    font-weight: bold;
    /* letter-spacing: 0.1em; */
}

table.text_table tr {
    border-bottom: solid 1px #000;
    letter-spacing: 0.05em;
}

#outline .text_table tr td:first-child {
    width: 8em;
}

#history .text_table tr td:first-child {
    width: 7em;
}
.philosophy_yakuin_name {
    font-weight: 500;
    font-size: 1.3em;
}
.philosophy_yakuin_keireki li::marker {
  color:var(--color-prim);
}

.icon_links {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.icon_links>div {
    width: calc( (100% - 30px)/2 );
}
.icon_link_ttl {
    font-weight: bold;
}

.icon_link_more {
    text-align: right;
}

.philosophy_img {
    margin-top: 20px;
}

.text_block img {
    max-width: 100%;
    /* height: auto; */
}


.gmap {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* アスペクト比 16:9 */
}
.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.text_icon img {
    width: 100%;
}
.philosophy_yakuin_desc {
    padding: 10px;
}
.philosophy_yakuin {
    margin-bottom: 40px;
}
.text_img {
    /* max-width: 100%; */
    /* width: 100%; */
    margin: 40px auto;
}
.philosophy_yakuins  .philosophy_yakuin:last-child {
    margin-bottom: 0;
}

.text_icons {
    display: flex;
    flex-wrap: wrap;
    /* max-width: 740px; */
    /* padding: 0 20px; */
    margin: 60px auto;
    gap: 40px 0;
}

.text_icons.text_icons>div {
    width: calc( (100%) / 6 );
}

.text_icon_ttl {
    text-align: center;
    margin-top: 5px;
}

.main-img {
    aspect-ratio: 8/1;
    position: relative;
    /* height: 80px; */
}

.main-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.main-img-ttl {
    position: absolute;
    top: 12%;
    left: 5%;
    font-size: 2rem;
    color: #fff;
    font-weight: 500;
    padding: 0 0 0 18px;
}
.main-img-ttl::before {
    content: "";
    width: 4px;
    height: calc(0.8em);
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-45%);
}
.main-img-ttl.main-img-ttl-b {
    color: #000;
}
.main-img-ttl.main-img-ttl-b::before {
    background: #000;
}
text_icon_img img {
    width: 100%;
    height: auto;
    text-align: center;
    margin: auto;
    display: block;
}
.text_icon_img.text_icon_img_size1 img {
    width: 51%;
    margin: auto;
    display: block;
}
.text_icon_img.text_icon_img_size2 img {
    width: 29%;
    margin: auto;
    display: block;
}


.text_img2 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.text_img2>img,
.text_img2>div {
    width: 100%;
}

.text_img45 {
    max-width: 800px;
    margin: auto;
}
.text_img2_half {
    max-width: 600px;
    margin: auto;
}
.text_img23 {
    max-width: 430px;
    margin: auto;
}

p.text_img_ttl {
    margin: auto;
    padding: 0 20px 10px;
}
p.text_img_desc {
    margin: 10px  auto 0;
    padding: 0 20px;
}

.text_img .text_desc_kome {
    margin: 10px auto 0;
    /* max-width: 90%; */
    padding: 0 20px;
}

.icon_link_desc {
    margin-top: 20px;
    border: solid 1px #000;
    padding: 10px;
    border-radius: 3px;
}
body.page-privacy .main-img img {
    object-position: 50% 30%;
}

.mail_blocks {
    max-width: 90%;
    margin: 40px auto;
    padding: 20px;
    background: #eff5ff;
}

.mail_block {
    margin-bottom: 15px;
}

p.mail_blocks_desc {
    max-width: 90%;
    margin: auto;
}
.mail_block_desc {
    margin-left: 2em;
}

body.page-contact .text_block.l-section {
    max-width: 880px;
}

.contact_block {
    font-size: 2rem;
    margin-top: 40px;
}

.contact_block_c {
    display: flex;
    flex-wrap: wrap;
    /* margin-bottom: 7px; */
}

.contact_block_ttl {
    width: 100%;
    margin-bottom:10px;
}

.contact_block_ttl span {
    font-size: 0.7em;
    margin-left: 5px;
    background: var(--color-prim);
    color: #fff;
    padding: 2px 5px;
}

.contact_block_desc {
    flex: 1;
}

.contact_block_desc input {
    border: solid #000 1px;
    padding: 5px;
    width: 100%;
    margin-bottom: 10px;
}

.contact_block_desc textarea {
    width: 100%;
    border: solid 1px #000;
    height: 8em;
}

.contact_block_btn {
    text-align: center;
    margin-top: 40px;
}

.contact_block_btn button,
.contact_block_btn input[type="submit"] {
    padding: 9px 40px;
    background: var(--color-prim);
    color: #fff;
    width: 180px;
    border-radius: 30px;
    cursor: pointer;
}
.text_video video {
    width: 100%;
    height: auto;
}

section.text_block.news_block.l-section {
    max-width: 880px;
}

.news_lists_c {
    padding: 20px 5px;
    border-top: solid 1px #ddd;*/
}

.news_lists .news_lists_c:last-child {
    border-bottom:  solid 1px #ddd; 
}

.news_lists_c_date {
    line-height: 1;
    font-size: 0.9em;
    margin-bottom: 0.5em;
}

.news_lists_c_desc {
    line-height: 1.5;
}

.news_lists_pager {
    margin-top: 40px;
    text-align: center;
}

.news_lists_pager>span {
    margin: 0 5px;
}

.news_lists_pager>span.news_lists_pager_active>a{
    background:#ddd;
}


.news_lists_pager>span>a{
    
    display: inline-flex;
    border-radius: 50%;
    width: 1.8em;
    height: 1.8em;
    align-items: center;
    justify-content: center;
    line-height: 1.8;
}

.news_select {
    text-align: right;
    margin-bottom: 20px;
}

.news_select>select {
    border: solid 1px #ddd;
    padding: 5px 5px;
}

.nwes_content_block {
    max-width: 800px;
    margin: auto;
    padding: 80px 0 0px;
}

.single-title,
.page-title,
.entry-title {
    font-size: 2.4rem;
    font-weight: 500;
    margin-top: 1.4em;
    margin-bottom: 1.8em
}

.nwes_content_block a {
    color: rgb(0, 0, 238);
    text-decoration: underline;
}

.entry-content p {
    line-height: 2;
    margin: 1.6em 0;
}

.contact_block p {
    margin: 0;
}

.recaptcha-wrap {
    display: table;
    margin: 0 auto;
    margin-top: 20px;
}

.check_block>p {
    font-size: 0.9em;
    line-height: 1.5;
}
.check_block>p a {
    color: rgb(0, 0, 238);
    text-decoration: underline;
}
body.page-home .l-mainheader__inner::before {
    display:none;
}
.l-mainheader__inner::before ,
body.page-home .is-shrink .l-mainheader__inner::before{
    background: linear-gradient(to right, #007aa4 0%, #006e92 20%, #005c74 40%, #003744 60%, #001417 65%, #001417 80%, #003744 85%, #005c74 92%, #006e92 97%, #007aa4 100%);
    content: "";
    display: block;
    height: 4px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999999;
}

@media (max-width: 767.98px){
    .l-mainnav__util .lang_change {
         display:none;
     }
 .lang_change {
    margin-left: auto !important;
    margin-right: 20px;
}

    .l-megamenu__category {
        display: flex;
        flex-wrap: wrap;
    }

    .l-megamenu__category>li {
        width: 100%;
    }
    .l-mainfooter.fgrad .l-fnav-main__cattop.is-hierarichical button {
        color: #fff;
    }
    .text_icons.text_icons>div {
        width: calc( (100%) / 3 );
    }

}

@media (min-width: 768px), print {

    .nwes_content_block {
        padding: 120px 0 0px;
    }
    .contact_block_ttl {
        width: 12em;
        margin-bottom:0;
    }
    
    .mail_block_desc {
        margin-left: 0;
    }
    .mail_block {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 15px;
    }
    
    .mail_block_ttl {
        width: 17em;
    }
    
    .mail_block_desc {
        flex: 1;
    }
    
    .text_img2 {
        gap: 40px;
    }
    
    .text_img2>img ,
    .text_img2>div {
        width: calc( (100% - 40px) / 2 );
    }

    .main-img {
        aspect-ratio: 10/1;
    }
    .main-img-ttl {
        padding: 0 0 0 25px;
    }
    .text_ttl::before {
        width: 5px;
    }

    .philosophy_yakuin {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 40px;
        gap: 25px;
    }

    .philosophy_yakuin_img {
        width: 250px;
    }

    .philosophy_yakuin_desc {
        flex: 1;
        padding: 0px;
    }

    .main-img-ttl {
        font-size: 3rem;
    }

    #philosophy {
        position: relative;
        margin-bottom: 300px;
    }
    
    #philosophy .philosophy_img {
        position: absolute;
        right: 10%;
        width: 380px;
        bottom: -225px;
    }
    
    .link_block {
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        margin-top: 120px;
        margin-left: initial;
        margin-right: initial;
        max-width: none;
    }

    .link_block_ttl {
        font-size: 3rem;
    }

    .link_block_desc ,
    .link_block_more {
        position: relative;
        font-size: 1.8rem;
    }
    .link_block>div {
        width: calc(  (100% - 40px ) / 2 );
    }

    .link_blocks .link_block:nth-child(2n) {
    flex-direction: row-reverse;
    }
    .text_ttl{
        font-size: 3rem;
        padding: 0 0 0 25px;
    }

    .text_ttl2 {
        font-size: 3rem;
    }
    
    .text_ttl::before {
        width: 5px;
    }
    .text_subttl{
        /* font-size: 2.5rem; */
    }

    .text_block.l-section {
        margin-top: 120px;
    }

    .icon_links {
        gap: 60px;
    }
    
    .icon_links>div {
        width: calc( (100% - 60px * 2)/3 );
    }
}

