@charset "utf-8";
/*
 Theme Name:   3di-concept
 Description:  3di-conceptのテーマです。
 Template:     twentytwenty
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/************************
 * 初期設定 *
 ***********************/

 /* font */
@font-face {
    font-family: 'Aileron'; font-weight: 100; font-style: thin; src: url(fonts/Aileron-UltraLight.otf) format('opentype');
}
@font-face {
    font-family: 'Aileron'; font-weight: 700; font-style: bold; src: url(fonts/Aileron-Bold.otf) format('opentype');
}

:root {
    --header-color: #fff;
    --footer-color: #000;
    --main-bg-color: #fdfdfd;
    --entry-header-color: #fdfdfd;
    --f-black: #333;
    --table-border-color: #aaa;

    --font-j: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    --font-e: 'Aileron', sans-serif;
}

/* other */
html,body{
    height: 100%;
}
html{
    font-family: var(--font-j);
    font-size: 62.5%;
    scroll-behavior: auto;
}
body{
    color: #595757;
}
*,.widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary{
    font-family: var(--font-j, sans-serif);
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.05em;
}
h1{
    font-size: 4.8rem;
}
h2{
    font-size: 3.6rem;
}
h3{
    font-size: 2.4rem;
}
h4{
    font-size: 1.8rem;
}
h5,h6{
    font-size: 1.6rem;
}
p {
    line-height: 1.6;
    margin: 0 0 1em 0;
}
.entry-content p, .entry-content li {
    line-height: 1.6;
}
dt + dd {
    margin-top: 0;
}
ul, ol {
    margin: 0;
}
li {
    list-style: none;
    margin: 0;
}
a{
    color: #595757;
    text-decoration: none;
}
button:focus, button:hover, .button:focus, .button:hover, .faux-button:focus, .faux-button:hover, .wp-block-button .wp-block-button__link:focus, .wp-block-button .wp-block-button__link:hover, .wp-block-file .wp-block-file__button:focus, .wp-block-file .wp-block-file__button:hover, input[type="button"]:focus, input[type="button"]:hover, input[type="reset"]:focus, input[type="reset"]:hover, input[type="submit"]:focus, input[type="submit"]:hover{
    text-decoration: none;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .entry-content cite, .entry-content figcaption, .entry-content table, .entry-content address, .entry-content .wp-caption-text, .entry-content .wp-block-file{
    font-family: var(--font-j);
}
input, textarea, button, .button, .faux-button, .faux-button.more-link, .wp-block-button__link, .wp-block-file__button{
    font-family: var(--font-j);
}
.entry-content > *:first-child {
    margin-top: 0;
}
.add-font{
    font-family: 'Roboto', sans-serif;
    font-size: inherit;
    font-weight: 100;
}
.mobile-menu {
    display: block;
}
@media (min-width: 1000px){
    .modal-menu {
        left: auto;
        width: 300px!important;
    }
}
@media (min-width: 1000px){
    .header-titles-wrapper {
    margin-right: 0;
    max-width: 100%;
    padding: 0;
    text-align: left;
    }
}
/* TOP動画(slick未使用の場合) */
/* Slider */
.slideArea {
  position:relative;
  z-index: 1;
  /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
  height: 92vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
.slideArea::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #c4c4c4;
  background-image: url(images/slide-mask3.svg);
  background-size: 2px 2px;
  opacity: .4;
}
.slideArea .slide-text{
  position: absolute;
  top: 50%;
  left: 6%;
  transform: translateY(-36%);
  color: #fff;
  z-index: 20;
}
.slideArea .slide-text h1{
    font-family: var(--font-e);
    font-size: 4rem;
    font-weight: 700;
    letter-spacing: 0.075em;
    margin: 0;
    margin-bottom: 0.5em;
}
@media(min-width: 700px){
    .slideArea .slide-text h1{
        font-size: 8.4rem;
    }
}
.slideArea .slide-text p{
    font-size: 1.8rem;
}
@media(min-width: 700px){
    .slideArea .slide-text p{
        font-size: 2.8rem;
    }
}
.slide-img {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:92vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}
p.scroll {
    position: absolute;
    bottom: -64px;
    right: -20px;
    transform: rotate(90deg);
    width: fit-content;
    display: none;
}
@media(min-width: 700px){
    p.scroll{
        display: block;
    }
}
p.scroll::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 1px;
    background: #333;
    animation: scroll 1.8s ease-in-out 2s infinite;
}
p.scroll span {
    transform: rotate(-180deg);
    display: block;
    padding-right: 120px;
}
@keyframes scroll {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.fade-screen.slider {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100% ;
    height: 92vh;
    overflow: hidden;
}
.fade-screen.slider video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* モーダルカスタム */
.modal-cstm{
    position: fixed;
    background: #000;
    top: 0;
    right: 0px;
    height: auto;
    z-index: 9999;
    padding-top: 64px;
    transition: 0.3s ease-in-out;
    will-change: transform;
    transform: translateX(100%);
}
.modal-overflow{
    overflow-y: hidden;
}
.modal-cstm.modal-open{
    display: block;
    transform: translateX(0);
}
.modal-menu li {
    border-color: transparent;
    border-style: none;
    border-width: 0.1rem 0 0 0;
    display: flex;
    flex-wrap: wrap;
    line-height: 1;
    justify-content: flex-start;
    margin: 0;
}
.modal-menu > li > a, .modal-menu > li > .ancestor-wrapper > a{
    color: #fff;
    font-family: var(--font-e);
    font-size: 2.8rem;
    font-weight: 100;
    letter-spacing: 0.05em;
    padding: 1rem 3rem;
}
.modal-menu .ancestor-wrapper a > span{
    display: block;
    font-family: var(--font-j,serif);
    font-size: 1.3rem;
    margin: 0.5em 0;
    margin-bottom: 0;
}
@media (min-width: 700px){
    .modal-menu {
        left: auto;
        width: 300px;
    }
}
@media (min-width: 1000px){
    .modal-menu {
        left: auto;
        width: 100%;
    }
}
@media (min-width: 1000px){
    .menu-bottom {
        padding: 2rem 0;
    }
}
.modal-menu a:focus, .modal-menu a:hover, .modal-menu li.current-menu-item > .ancestor-wrapper > a, .modal-menu li.current_page_ancestor > .ancestor-wrapper > a {
    text-decoration: none;
    /*opacity: .7;*/
}
/* ハンバーガーメニュー */
.nav-toggle .open-btn,
.close-nav-toggle .open-btn{
    position: relative;/*ボタン内側の基点となるためrelativeを指定*/
    background: transparent;
    cursor: pointer;
    width: 48px;
    height:48px;
    /*border: 1px solid #333;*/
    /*border-radius: 5px;*/
}
.nav-toggle .open-btn span,
.close-nav-toggle .open-btn span{
    display: inline-block;
    position: absolute;
    left: 18%;
    height: 4px;
    background: #000;
    border-radius: 5px;
    width: 68%;
    transition: all .3s;
}
.nav-toggle .open-btn span:nth-of-type(1) {
  top:12px;
}
.nav-toggle .open-btn span:nth-of-type(2) {
  top:23px;
}
.nav-toggle .open-btn span:nth-of-type(3) {
  top:34px;
}

.close-nav-toggle .open-btn span:nth-of-type(1) {
    top: 18px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 44%;
}
.close-nav-toggle .open-btn span:nth-of-type(2){
    top: 30px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 44%;
}
.nav-toggle .open-btn.btn-change-color span,
.close-nav-toggle .open-btn.btn-change-color span{
    display: inline-block;
    position: absolute;
    left: 18%;
    height: 4px;
    background: #fff;
    width: 68%;
}
.modal-nav-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.model-title{
    display: inline-block;
    margin-bottom: 0;
}
button.toggle.nav-toggle {
    position: fixed;
    top: 26px;
    right: 24px;
    display: block!important;
    width: fit-content;
    z-index: 10000;
    height: fit-content;
}
.toggle-inner{
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.3rem;
    position: relative;
}
.toggle-inner.toggle-show{
    opacity: 0;
    animation: toggle-show 0.3s ease-in-out 5s normal none running;
    animation-fill-mode: forwards;
}
@keyframes toggle-show {
  0% {
    opacity: 0;
    }
  100%{
    opacity: 1;
  }
}

.toggle-inner p {
    color: #000;
    font-size: 1.4rem;
    white-space: nowrap;
    margin: 0;
}
@media(min-width: 700px){
    .toggle-inner p{
        font-size: 2rem;
    }
}
.nav-toggle .toggle-inner{
    padding-top: 0;
}
#site-header{
    background: var(--header-color,inherit);
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
}
#site-header.move{
    opacity: 0;
    top: -100px;
    animation: header-top 1.8s ease-in-out 2s forwards;
    animation-fill-mode: forwards;
}
@keyframes header-top {
  0% {
    top: -100px;
}
10%{
    opacity: 1;
  }
  100% {
    opacity: 1;
    top: 0;
  }
}
#site-header .site-logo{
    width: 140px;
}
@media(min-width: 700px){
    #site-header .site-logo{
        width: 200px;
    }
}
#site-header .site-logo{
    opacity: 1;
}
#site-header.move .site-logo{
    opacity: 0;
    animation: header-logo-opa 1.8s ease-in-out 3.6s forwards;
}
.header-inner .toggle{
    display: flex!important;
    padding: 0;
    position: relative;
    z-index: 100000;
}
@keyframes header-logo-opa {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.header-inner {
    padding: 24px 0 !important;
}
@media (min-width: 1000px){
    .header-inner {
        display: block;
        padding: 2.8rem 0;
    }
}
.header-titles-wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 0;
    text-align: center;
}
#footer {
    background-color: rgba(62, 58, 57, .9);
    color: #fff;
    position: relative;
}
#footer::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(images/BA2T6495_1.jpg);
    background-size: cover;
    z-index: -1;
}
#footer .footer-inner{
    padding: 2em 4%;
}
#footer .footer-logo{
    max-width: 240px;
    margin: 0;
    margin-bottom: 16px;
}
.footer-widgets-wrap{
    display: flex;
    flex-direction: column;
    max-width: 1300px;
    padding: 2.4em 0;
    margin: 0 auto;
}
@media(min-width: 780px){
    .footer-widgets-wrap{
        flex-direction: row;
    }
}
#footer .footer-info-company a{
    color: #fff;
}
#footer .footer-info-flex.wp-block-columns{
    flex-direction: column;
}
@media(min-width: 1000px){
    #footer .footer-info-flex.wp-block-columns{
        flex-direction: row;
        margin-top: 8.8rem;
    }
}
#footer .f-contact{
    max-width: 100%;
    background: #fff;
    color: #222;
    margin-bottom: 4rem;
}
@media(min-width: 700px){
    #footer .f-contact{
        max-width: 280px;
    }
}
#footer .wp-block-column.footer-info-contact{
    margin: 0;
    margin-top: 4rem;
}.top-section-contents ul
@media(min-width: 1000px){
    #footer .wp-block-column.footer-info-contact{
        margin-top: 0;
        margin-left: 2em;
    }
}
#footer .f-contact a::before{
    content: "";
    display: inline-block;
    width: 48px;
    height: 48px;
    background-size: 100%;
    background-repeat: no-repeat;
    margin-right: 1em;
}
#footer .f-contact.f-contact-tel a::before{
    background-image: url(images/i-phone.png);
}
#footer .f-contact.f-contact-form a::before{
    background-image: url(images/i-mail.png);
}
#footer .f-contact a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    padding: 0.25em 1.5em;
}
@media(min-width: 700px){
    #footer .f-contact a{
        justify-content: left;
        padding-right: 0.5em;
    }
}
#footer .f-address{
    margin: 0!important;
    margin-bottom: 1em!important;
}
#footer .f-address p{
    font-size: 1.4rem;
    margin-bottom: 0.5em;
}
@media (min-width: 700px){
    .footer-widgets {
        margin-left: 4rem;
        width: 50%;
    }
}
.footer-copyright{
    width: 100%;
    background: #fff;
    padding: 0.75em 0;
    margin: 0 auto;
}

.footer-copyright small{
    display: block;
    color: var(--f-black);
    font-size: 1.6rem;
    letter-spacing: 0.2em;
    text-align: center;
}
.page-sub .footer-copyright{
    background: #4b4848;
}
.page-sub .footer-copyright small{
    color: #fff;
}
.f-section-title {
    font-family: var(--font-e);
    font-size: 5.6rem;
    font-weight: 100;
    letter-spacing: 0.01em;
    line-height: 1.25;
    text-align: center;
    margin: 0;
}
.f-section-subtitle{
    text-align: center;
}
.footer-widgets{
    margin: 0!important;
}
.footer-widgets.column-one,
.footer-widgets.column-two{
    padding: 0 3rem;
}
@media (min-width: 1080px){
    .footer-widgets.column-one,
    .footer-widgets.column-two{
        padding: 0 6rem;
    }
}
.footer-widgets.column-one.grid-item {
    width: 100%;
    border-right: none;
}
@media (min-width: 780px){
    .footer-widgets.column-one.grid-item {
        width: 58%;
        border-right: 1px solid;
    }
}
.footer-widgets.column-two.grid-item {
    width: 100%;
}
@media (min-width: 780px){
    .footer-widgets.column-two.grid-item {
        width: 42%;
    }
}
.footer-map{
    margin-bottom: 1.6rem;
}
.main-wrap{
    max-width: 1200px;
    padding: 2em 4%;
    margin: 0 auto;
}
#modeling .section-row-title{
    font-size: 1.8rem;
}
#modeling .section-list-title{
    font-size: 1.6rem;
    font-weight: 400;
}
main#top{
    position: relative;
}
/*
main#top::after {
    position: absolute;
    bottom: 0;
    background-image: url(images/top-bg.jpeg);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    padding-bottom: 12rem;
    opacity: .35;
    content: "";
    width: 100%;
    height: 100%;
    z-index: -1;
}
*/
.content-title{
    font-size: 2.2rem;
    font-weight: 400;
}
@media(min-width: 700px){
    .content-title{
        font-size: 2.8rem;
    }
}
.top-news-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80%;
    min-height: 20rem;
    border-top: 1px solid #595757;
    border-bottom: 1px solid #595757;
    padding: 4rem 0;
    margin: 8rem 10% 16rem;
    position: relative;
}
@media(min-width: 780px){
    .top-news-section{
        flex-direction: row;
        padding: 0 4rem;
    }
}
.top-news-section .top-news-wrap{
    width: 100%;
}
.top-news-section .news-top-list h3{
    width: 80%;
    margin: 0;
    font-size: inherit;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.5;
}
.top-news-section .news-top-list .top-news-date{
    width: 20%;
    max-width: 6em;
    margin-bottom: 0;
    margin-right: 2em;
    white-space: nowrap;
}
.top-news-section .btn-news{
    position: absolute;
    bottom: -3.6em;
    right: 0;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    display: block;
    background: #4b4848;
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    width: 100%;
    text-align: center;
    text-transform: none;
    padding: 0.5em 1em;
    letter-spacing: 0.2em;
}
@media(min-width: 600px){
    .top-news-section .btn-news{
        max-width: 180px;
    }

}
.top-section-heading.top-section-heading-news{
    width: auto;
    font-size: 6.6rem;
    text-align: left;
    padding: 0.25em 0;
    white-space: nowrap;
}
@media(min-width: 700px){
    .top-section-heading.top-section-heading-news{
        padding-right: 4rem;
    }
}
.top-news-section .news-top-list{
    margin: 1em 0;
}
@media(min-width: 780px){
    .top-news-section .news-top-list{
        margin: 0.5em 0;
    }
}
.top-news-section .news-top-list a{
    display: flex;
    flex-direction: column;
}
@media(min-width: 780px){
    .top-news-section .news-top-list a{
        flex-direction: row;
    }
}
.top-section{
    width: 100%;
    padding: 0 6%;
    padding-bottom: 14rem;
    position: relative;
}
.top-section-heading{
    width: 100%;
    font-family: var(--font-e);
    font-size: 6.4rem;
    /*font-size:clamp( 8rem, 10vw, 12rem);*/
    font-weight: 100;
    letter-spacing: 0.01em;
    line-height: 0.8;
    margin: 0;
    margin-bottom: 0.25em;
}
@media(min-width: 700px){
    .top-section-heading{
        width: 50%;
        font-size: calc(6.6rem + 30 * (100vw - 780px)/380);
    }
}
@media(min-width: 700px){
    .top-section.about .top-section-heading{
        padding-left: 4.8rem;
    }
}
.top-section-title {
    color: #595757;
    border-bottom: 1px solid;
    font-size: 2.2rem;
    font-weight: 100;
    font-family: var(--font-j);
    letter-spacing: 0.1em;
    padding: 0;
    padding-bottom: 0.2em;
    margin: 0;
    margin-bottom: 3.2rem;
}
@media(min-width: 700px){
    .top-section-title{
        font-size: 3.2rem;
        padding: 0 1.5em;
        padding-bottom: 0.2em;
    }
}
.top-section-desc{
    width: 100%;
    height: auto;
    min-height: 28rem;
    /*padding: 2.8rem 4.8rem;*/
    /*padding-right: 24%;*/
    /*background: #eeefef;*/
    /*margin: 0 4rem;*/
}
@media (min-width: 700px){
    .top-section-desc{
        width: 55%;
    }
}
@media (min-width: 1080px){
    .top-section-desc{
        min-height: 24vw;
        height: 100%;
    }
}
.top-section-contents{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0;
}
@media (min-width: 700px){
    .top-section-contents{
        padding: 0 3.8em;
    }
}
@media (min-width: 1080px){
    .top-section-contents{
        flex-direction: row;
        align-items: center;
    }
}
.top-section-contents ul {
    margin-bottom: 5.6rem;
}
@media (min-width: 700px){
    .top-section-contents ul{
        margin-bottom: 2.4rem;
    }
}
@media (min-width: 1080px){
    .top-section-contents ul{
        margin-bottom: 0;
    }
}
.top-section-contents ul li{
    font-size: 1.6rem;
    line-height: 1;
    margin: 0;
    letter-spacing: 0.1em;
    padding: 0.5em 1em;
}
@media(min-width: 700px){
    .top-section-contents ul li{
        font-size: 2.4rem;
    }
}
.top-section-img{
    position: absolute;
    top: 6.8rem;
    right: 0;
    width: 46%;
    height: auto;
    overflow: hidden;
    object-fit: cover;
    background: #ccc;
    clear: both;
}
@media(min-width: 700px){
    .top-section-img{
        top: 0;
    }
}
.top-section-img:before {
    content: "";
    display: block;
    padding-top: 66.7%;
}
.top-section-img img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    object-fit: cover;
}
a.top-section-link,
.top-section-link a {
    display: block;
    background: #4b4848;
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    width: 100%;
    min-width: 180px;
    text-align: center;
    text-transform: none;
    padding: 0.5em 1em;
    letter-spacing: 0.2em;
}
@media(min-width: 600px){
    a.top-section-link {
        width: 40%;
        white-space: nowrap;
    }
}
.top-section:nth-of-type(2n - 1) .top-section-desc{
    float: right;
    padding: 0;
    /*padding-left: 24%;*/
}
.top-section:nth-of-type(2n - 1) .top-section-heading{
    text-align: right;
    margin-left: auto;
}
.top-section.clearfix .top-section-contents{
    padding-right: 0!important;
}
@media(min-width: 700px){
    .top-section.clearfix .top-section-contents{
        padding-right: 2em!important;
    }
}
.top-section.clearfix .top-section-contents a.top-section-link{
    margin-left: auto;
}
@media(min-width: 700px){
    .top-section.clearfix .top-section-contents a.top-section-link{
        margin-left: 0;
    }
}
.top-section.contents .top-section-title,
.top-section.contents .top-section-contents ul li{
    text-align: right;
}
@media(min-width: 700px){
    .top-section.contents .top-section-title,
    .top-section.contents .top-section-contents ul li{
        text-align: left;
    }
}
/*
.top-section:nth-of-type(2n - 1) .top-section-contents{
    flex-direction: column;
}
@media (min-width: 1080px){
    .top-section:nth-of-type(2n - 1) .top-section-contents{
        flex-direction: row-reverse;
    }
}
*/
.top-section:nth-of-type(2n - 1) .top-section-img {
    left: 0;
}
.top-section.about{
    padding-bottom: 10%;
}
.top-section.about::before {
    content: "";
    /*background-image: url(images/top-bg-text.png);*/
    background-size: 100%;
    background-repeat: no-repeat;
    /*min-width: 1300px;*/
    width: 70%;
    height: 100%;
    position: absolute;
    top: 19rem;
    padding-bottom: 30rem;
    box-sizing: content-box;
    left: 0;
    /* overflow: hidden; */
    z-index: -1;
}
.top-section:last-of-type{
    /*padding-bottom: 12rem;*/
}
.top-section.contents::before {
    content: "";
    background-image: url(images/top-bg3.jpg);
    background-size: 100%;
    min-width: 1300px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -32.4rem;
    padding-bottom: 30rem;
    box-sizing: content-box;
    right: 0;
    opacity: .08;
    /* overflow: hidden; */
    z-index: -1;
}
.top-section.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
.page-title{
    width: 100%;
    padding: 5.6rem 6%;
    padding-top: calc(5.6rem + 6.4rem);
    background: #4b4848;
    color: #fff;
}
.page-title p{
    font-family: var(--font-e);
    /*font-size: 4.2rem;*/
    font-size: 3.4rem;
    font-weight: 100;
    line-height: 1;
    margin: 0;
    margin-bottom: 0.2em;
    text-transform: capitalize;
}
@media(min-width: 700px){
    .page-title p{
        font-size: 6.8rem;
    }
}
@media(min-width: 1000px){
    .page-title p{
        font-size: 9.6rem;
    }
}
.page-title h1,
.page-title h2{
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin: 0;
    padding-left: 1em;
}
@media(min-width: 700px){
    .page-title h1,
    .page-title h2{
        font-size: 2.4rem;
    }
}
.sub-wrap{
    padding: 8rem 6%;
    padding-top: 4rem;
}
#contents.sub-wrap{
}
@media(min-width: 700px){
    #contents .sub-wrap{
        padding-right: 0;
    }
}
#contents .section-contents{
    display: flex;
    flex-direction: column-reverse;
}
@media(min-width: 700px){
    #contents .section-contents{
        flex-direction: row;
    }
}
#contents .section-contents .section-desc{
    width: 100%;
    border-bottom: 1px solid #4b4848;
    position: relative;
}
@media(min-width: 700px){
    #contents .section-contents .section-desc{
        width: 48%;
    }
}
#contents .section-link{
    position: absolute;
    bottom: -1px;
    right: 0;
    display: block;
    width: fit-content;
    font-weight: 100;
    font-size: 1.8rem;
    background: #4b4848;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.2em;
    padding: 0.75em 1em;
    margin-left: auto;
}
#contents .section-contents .section-img{
    width: 100%;
    margin-left: 0;
    margin-bottom: 2.4rem;
}
@media(min-width: 700px){
    #contents .section-contents .section-img{
        width: 42%;
        margin-left: 10%;
        margin-bottom: 0;
    }
}
#contents .section-title-e{
    font-family: var(--font-e);
    font-size: 6.4rem;
    font-weight: 100;
    line-height: 1;
    letter-spacing: 0.025em;
    white-space: pre-wrap;
    margin: 0;
    margin-bottom: 2.4rem;
}
@media(min-width: 1000px){
    #contents .section-title-e{
        font-size: calc(5rem + 30 * (100vw - 1000px)/600);
    }
}
@media(min-width: 1000px){
    #contents .section-title-e{
        white-space: nowrap;
    }
}
#contents .section-title-j{
    font-size: 2.4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    padding-left: 0.5em;
    margin: 0;
    margin-bottom: 4rem;
}
#contents .section-text{
    min-height: 6em;
    color: #717071;
    font-size: 1.8rem;
    line-height: 2;
    margin-bottom: 5.2rem;
}
#contents .section-img{
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    object-fit: cover;
    margin-top: 6px;
}
#contents .section-img:before {
    content: "";
    display: block;
    padding-top: 82.9%;
}
#contents .section-img img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#model-fixture .content-title{
    background: #4b4848;
    color: #fff;
    padding: 0.5em;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 1em;
}
#model-fixture .section-row{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#model-fixture .section-item {
    width: 100%;
    padding: 0;
    padding-bottom: 0;
    margin: 0;
}
@media(min-width: 700px){
    #model-fixture .section-item {
        width: 50%;
    }
}
#model-fixture .section-item.section-row-100{
    width: 100%;
    padding-top: 0;
}
#model-fixture .section-item dd{
    margin: 0;
}
#model-fixture .section-item-title{
    width: fit-content;
    background: #4b4848;
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    padding: 0.5em 1.5em;
    margin: 0 auto;
    margin-bottom: 1em;
}
#model-fixture .section-case-title{
    border-bottom: 1px solid;
    font-weight: 400;
    padding-bottom: 0.5em;
    margin: 0;
    margin-bottom: 0.5em;
}
#model-fixture .section-item-text{
    text-align: center;
    margin-bottom: 4rem;
}
#model-fixture .section-list{
    margin-top: 4rem;
    margin-bottom: 8rem;
}
#model-fixture .section-list li{
    display: flex;
    flex-direction: column;
    align-items: center;
    border-bottom: 1px solid;
    padding: 1em;
}
@media(min-width: 700px){
    #model-fixture .section-list li{
        flex-direction: row;
    }
}
#model-fixture .section-list li:first-of-type{
    border-top: 1px solid;
}
#model-fixture .section-list .section-list-title{
    width: 100%;
    font-weight: 400;
    padding-bottom: 1em;
    margin-bottom: 0.5em;
    margin: 0;
}
@media(min-width: 700px){
    #model-fixture .section-list .section-list-title{
        width: 30%;
        padding: 0;
        margin: 0;
    }
}
#model-fixture .section-list p{
    width: 100%;
    margin: 0;
}
@media(min-width: 700px){
    #model-fixture .section-list p{
        width: 70%;
    }
}
#model-fixture .section-row:not(.section-row-8) .section-img{
    aspect-ratio: 4/3;
}
#model-fixture .section-img img {
    margin: 0 auto;
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin-bottom: 2.4rem;
}
#model-fixture .section-row.section-row-8 >* {
    width: 25%;
}
@media(min-width: 700px){
    #model-fixture .section-row.section-row-8 >* {
        width: 12.5%;
    }
}
#model-fixture .section-row.section-row-8 .section-img{
    padding: 0.4rem;
}
#modeling .content-title{
    background: #4b4848;
    color: #fff;
    padding: 0.5em;
    letter-spacing: 0.05em;
    line-height: 1;
    margin: 0;
    margin-bottom: 1em;
}
#modeling .section{
    padding-top: 0;
}
#modeling .section-row{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding-top: 0;
    padding-bottom: 4rem;
}
#modeling .section-row-2 > .section-row-item{
    width: 100%;
}
@media(min-width: 700px){
    #modeling .section-row-2 > .section-row-item{
        width: 49%;
    }
}
#modeling .section-row-2 > .section-row-item:nth-of-type(1){
    margin: 0;
    margin-bottom: 2rem;
    padding: 20px;
    border: 1px solid #333;
}
@media(min-width: 700px){
    #modeling .section-row-2 > .section-row-item:nth-of-type(1){
        margin-right: 1%;
    }
}
#modeling .section-row-2 > .section-row-item:nth-of-type(2){
    margin-left: 1%;
}
#modeling .section-row .section-title-e{
    font-family: var(--font-e);
    font-size: 6rem;
    border-bottom: 1px solid;
    margin-bottom: 0.5em;
}
#modeling .section-row .section-title-j{
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.45;
    margin-top: 0;
}
#modeling .section .item-title-j {
    font-size: 1.8rem;
    font-weight: 400;
    margin: 0;
    margin-left: -1px;
    padding: 0.75em 1em;
    background: #4b4848;
    color: #fff;
    width: calc(100% - 4px);
}
#modeling .section-row .item-title-j{
    font-size: 1.8rem;
    font-weight: 400;
    margin: 0;
    margin-bottom: 1em;
    padding: 0.75em 1em;
    background: #4b4848;
    color: #fff;
}
#modeling .section-row-5{
    display: flex;
    flex-wrap: wrap;
}
#modeling .section-row-5 > *{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20%;
    border: 1px solid #ddd;
    line-height: 1;
    padding: 2em 1em;
    margin-left:-1px;
    margin-top:-1px;
}
#modeling .section-list-more{
    text-align: right;
    margin: 0.5em;
}
#modeling .content-bg{
    background: #f4f4f4;
    padding-top: 8rem;
}
#modeling .item-alternate{
    display: flex;
    margin: 0;
}
#modeling .item-alternate:nth-of-type(2n-1){
    flex-direction: row;
}
#modeling .item-alternate:nth-of-type(2n){
    flex-direction: row-reverse;
}
#modeling .item-alternate > *{
    width: 50%;
}
#modeling .item-alternate dd{
    background: #fff;
    padding: 3em;
    margin: 0;
}
#modeling .item-alternate .item-no{
    font-family: var(--font-e);
    font-size: 6rem;
    margin: 0;
    line-height: 0.8;
    padding-bottom: 0.25em;
    border-bottom: 1px solid;
    margin-bottom: 0.5em;
}
#modeling .section-row-item .item-list{
    padding: 2rem;
}
#modeling .item-alternate h4{
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1.5;
}
#modeling .item-alternate .item-alternate-img{
    position: relative;
    /*width: 100%;*/
    height: auto;
    overflow: hidden;
    object-fit: cover;
}
#modeling .item-alternate .item-alternate-img:before {
    content: "";
    display: block;
    padding-top: 56.3%;
}
#modeling .item-alternate .item-alternate-img img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#modeling .modeling-tool{
    position: relative;
}
#modeling .modeling-tool::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    height: 200px;
    background-image: url(images/modeling/modeling-tool-logo.jpg);
    background-size: contain;
    background-repeat: no-repeat;
}
#modeling .section-row-4{
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    padding-bottom: 4rem;
}
#modeling .section-row-4 > *{
    width: 100%;
    min-height: 220px;
    border: 1px solid;
    padding: 2.4rem;
    margin-bottom: 2rem;
    position: relative;
}
@media(min-width: 700px){
    #modeling .section-row-4 > *{
        width: 48%;
        margin: 1%;
    }
}
@media(min-width: 1000px){
    #modeling .section-row-4 > *{
        width: 24%;
        margin: 0;
        margin-left: 1%;
    }
}
#modeling .section-row-4 .item-title-e{
    position: absolute;
    bottom: 0;
    right: 2rem;
}
@media(min-width: 1000px){
    #modeling .section-row-4 > *:first-of-type{
        margin-left: 0;
    }
}
#modeling .section-other{
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 8rem;
}
/*
#modeling .section-row-4 > *:nth-of-type(2n){
    margin-left: 2%;
}
*/
#modeling .section-row-4 .item-title-e{
    color: #ccc;
    font-family: var(--font-e);
    font-size: 5.4rem;
    font-weight: 100;
    /*border-bottom: 1px solid;*/
    line-height: 0.8;
    padding-bottom: 0.25em;
    margin: 0.25em 0;
}
#modeling .section-row-4 .item-title-j{
    display: flex;
    align-items: center;
    min-height: 3em;
    font-weight: 400;
    margin: 0;
    margin-bottom: 1em;
}
#modeling .section-row-4 .item-desc{
    font-size: 1.8rem;
}
#modeling .section-row-item{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#modeling .section-row .section-row-100{
    width: 100%;
}
#modeling .section-row-item .section-img {
    position: relative;
    width: 46%;
}
#modeling .section-row-item .section-img p{
    margin-top: 0.5em;
    text-align: center;
}
#modeling .section-row-item .section-img p span{
    display: inline-block;
}
#modeling .section-row-item .section-img.img-before,
#modeling .section-row-item .section-img.img-before-small{
    margin-right: 8%;
}
#modeling .section-row-item .section-img.img-before::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-100%);
    right: -10%;
    border-style: solid;
    border-width: 4vw 0 4vw 2.4vw;
    border-color: transparent transparent transparent #4b4848;
    z-index: 2;
}
@media(min-width: 700px){
    #modeling .section-row-item .section-img.img-before::before {
        transform: translateY(-80%);
    }

}
#modeling .section-row-item .section-img.img-before-small::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -12%;
    border-style: solid;
    border-width: 1.8vw 0 1.8vw 1.4vw;
    border-color: transparent transparent transparent #4b4848;
    z-index: 2;
}
#modeling .section-row-item .section-img.section-row-100{
    width: 52%;
}
#modeling .section-row-item .section-img.section-row-80 {
    width: 80%;
    margin-top: 0;
}
@media(min-width: 700px){
    #modeling .section-row-item .section-img.section-row-80{
        margin-top: -4.8rem;
    }
}
#modeling .section-row-item.item-after{
    align-items: center;
}
#modeling .section-row-item.item-before{
    position: relative;
}
#modeling .section-row-item.item-before::before{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-70%);
    right: -10%;
    border-style: solid;
    border-width: 4vw 0 4vw 2.4vw;
    border-color: transparent transparent transparent #4b4848;
    z-index: 2;
    display: none;
}
@media(min-width: 700px){
    #modeling .section-row-item.item-before::before{
        display: block;
    }
}
#modeling .section-row-item.item-before dl{
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}
#modeling .section-row-item.item-before dd{
    margin: 0;
}
#modeling .section-row-item.item-before .section-img-desc{
    width: 100%;
}
#modeling .section-row-item.item-before .section-img-desc p{
    text-align: center;
    margin-top: 0.5em;
}
#scan .content-title{
    background: #4b4848;
    color: #fff;
    padding: 0.5em;
    letter-spacing: 0.05em;
    line-height: 1;
    margin: 0;
    margin-bottom: 1em;
}
#scan .section-row-item.section-row-2 > *{
    width: 100%;
}
@media(min-width: 700px){
    #scan .section-row-item.section-row-2 > *{
        width: 48%;
    }
}
#scan .section-row-item.section-bg .section-img{
    margin-bottom: 2em;
}
@media(min-width: 700px){
    #scan .section-row-item.section-bg .section-img{
        margin-bottom: 0;
    }
}
#scan .section-row-item.section-bg .section-text > p:last-of-type{
    margin: 0;
}
.flex-reverse{
    flex-direction: column-reverse;
}
@media(min-width: 700px){
    .flex-reverse{
        flex-direction: row;
    }
}
#scan .section-row-item.section-bg{
    padding: 4rem;
    background: #f4f4f4;
    align-items: center;
}
@media(min-width: 700px){
    #scan .section-row-item.section-bg{
        padding: 2.4rem 6rem;
    }
}
#scan .atos{
    font-size: 1.8rem;
    font-weight: 400;
    margin: 0;
    margin-bottom: 1em;
}
#scan .section-item .item-title-e{
    font-family: var(--font-e);
}
#scan .section-row-4{
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 0;
}
#scan .section-row-4 > *{
    width: 100%;
    border: 1px solid;
    padding: 2.4rem;
    margin-bottom: 2rem;
}
@media(min-width: 700px){
    #scan .section-row-4 > *{
        width: 48%;
    }
}
#scan .section-other{
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 8rem;
}
#scan .section-row-4 > *:nth-of-type(2n){
    margin-left: 0;
}
@media(min-width: 700px){
    #scan .section-row-4 > *:nth-of-type(2n){
        margin-left: 2%;
    }
}
#scan .section-row-4 .item-title-e{
    font-size: 6rem;
    border-bottom: 1px solid;
    line-height: 0.8;
    padding-bottom: 0.25em;
    margin: 0.25em 0;
}
#scan .section-row-4 .item-title-j{
    display: flex;
    align-items: center;
    min-height: 3em;
    font-weight: 400;
    margin: 0;
    margin-bottom: 1em;
}
#scan .section-row-3.scan-data{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding-top: 0;
}
#scan .section-row-3.scan-data > *{
    width: 100%;
    margin-bottom: 2.4rem;
}
@media(min-width: 700px){
    #scan .section-row-3.scan-data > *{
        width: 48%;
    }
}
#scan .section-row.scan-data{
    /*border: 1px solid;*/
    /*background: #f4f4f4;*/
    padding-bottom: 4rem;
    margin-bottom: 4rem;
}
#scan ul.ul-desc {
    min-height: 184px;
}
#scan ul {
    list-style-position: inside;
}
#scan ul li::before{
    /*content: "\030FB";*/
    content: "・";
}
#scan ul li{
    padding-left: 1em;
    text-indent: -1em;
}
#scan .section-row-3 ul{
    padding: 1em;
}
#scan .section-row-3 ul li{
    margin-bottom: 0.5em;
}
#scan .section-row-3 > .section-item:last-of-type{
    margin-left: 0;
}
@media(min-width: 700px){
    #scan .section-row-3 > .section-item:last-of-type{
        margin-left: 4%;
    }
}
#scan .section-row.scan-data > .section-row-100{
    width: 100%;
    padding-top: 0;
    border: 1px solid;
}
#scan .section-row.scan-data > .section-item{
    border: 1px solid;
    background: #fff;
    position: relative;
}
#scan .section-row.scan-data > .section-item::before {
    content: "";
    display: none;
    position: absolute;
    top: -4rem;
    left: 50%;
    transform: translateX(-50%);
    border-top: 20px solid #4b4848;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}
/*
#scan .section-row.scan-data > .section-item:nth-of-type(2)::before{
    right: 72px;
}
#scan .section-row.scan-data > .section-item:nth-of-type(3)::before{
    left: 72px;
}
*/
@media(min-width: 700px){
    #scan .section-row.scan-data > .section-item::before {
        display: inline;
    }
}
#scan .section-row-100 .section-item{
    display: flex;
    align-items: center;
}
#scan .section-row-3.scan-data > p.section-row-100 {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 6rem;
    padding: 1em;
}
#scan .section-row-100 .section-item > *{
    width: 100%;
}
@media(min-width: 700px){
    #scan .section-row-100 .section-item > *{
        width: 50%;
    }
}
#scan .section-row-3 .item-title-j{
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0;
    padding: 0.75em 1em;
    background: #f4f4f4;
    border-bottom: 1px solid;
}
#scan .section-row-3 .section-item h4{
    margin: 0;
    padding: 1em;
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
}
#scan .section-row-2{
    display: flex;
    flex-wrap: wrap;
    padding-top: 0;
}
#scan .section-row-2 > *{
    width: 100%;
    margin-bottom: 2rem;
}
@media(min-width: 700px){
    #scan .section-row-2 > *{
        width: 48%;
        margin-bottom: 0;
    }
}
#scan .section-row-2 > *:last-of-type{
    margin-left: 0;
}
@media(min-width: 700px){
    #scan .section-row-2 > *:last-of-type{
        margin-left: 4%;
    }
}
#scan .section-row-2 .item-title-j {
    font-size: 2rem;
    margin: 0;
    margin-bottom: 1em;
    padding: 0.75em 1em;
    background: #f4f4f4;
    border: 1px solid;
}
#scan .section-row-2 .item-title-j-bg{
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0;
    margin-bottom: 1em;
    padding: 0.75em 1em;
    background: #f4f4f4;
    border: 1px solid;
}
#scan .section-row-2 .item-list-wrap{
    padding: 1em 2em;
}
#news .entry-content {
    display: flex;
    flex-direction: column;
    margin-bottom: 4rem;
}
@media(min-width: 700px){
    #news .entry-content {
        flex-direction: row;
    }
}
#news .entry-option{
    width: 100%;
}
@media(min-width: 700px){
    #news .entry-option{
        width: 36%;
    }
}
#news .entry-thumb-img{
    display: block;
    transition: all .3s;
    position: relative;
}
#news .entry-thumb-img:before {
    content: "";
    display: block;
    padding-top: 66.7%;
}
#news .entry-thumb-img:hover{
    opacity: .7;
}
#news .entry-thumb-img img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#news .entry-date{
    margin: 0;
    margin-bottom: 0.25em;
}
#news .entry-title{
    border-bottom: 1px solid;
    font-size: 2.2rem;
    font-weight: 400;
    padding-bottom: 0.25em;
    margin: 0;
    margin-bottom: 0.5em;
}
@media(min-width: 700px){
    #news .entry-title{
        font-size: 3.2rem;
    }
}
#news .entry-title a{
    font-size: inherit;
    font-weight: inherit;
    transition: all .3s;
}
#news .entry-title a:hover{
    opacity: .5;
}
#news.section-inner{
    width: 92%;
    padding: 8rem 0;
    padding-bottom: 0;
}
@media(min-width: 1000px){
    #news.section-inner{
        width: 72%;
    }
}
#news .entry-text {
    width: 100%;
    max-width: 100%;
    /*padding-right: 4rem;*/
    padding: 0;
}
@media(min-width: 700px){
    #news .entry-text {
        width: 64%;
        padding: 0 4rem;
    }
}
.post-single .entry-title {
    border-bottom: 1px solid;
    padding-bottom: 0.25em;
    font-size: 2.6rem;
    font-weight: 400;
    margin-bottom: 0.75em;
}
@media(min-width: 700px){
    .post-single .entry-title{
        width: 100%;
        font-size: 4rem;
        /*padding: 0 4rem;*/
    }
}
#about > section{
    padding-bottom: 0;
}
#about > section:first-of-type{
    padding-top: 0;
}
#about .section-title{
    font-size: 2.4rem;
    font-weight: 400;
    border-bottom: 1px solid;
    letter-spacing: 0.05em;
    padding: 0 0.5em;
    padding-bottom: 0.25em;
    margin: 0;
    margin-bottom: 0.75em;
}
@media(min-width: 700px){
    #about .section-title{
        font-size: 3.2rem;
    }
}
#about .section-img{
    margin-bottom: 4rem;
}
#about .section-table{
    border-right: 1px solid var(--table-border-color);
    border-bottom: 1px solid var(--table-border-color);
    border-left: 1px solid var(--table-border-color);
    display: flex;
    flex-wrap: wrap;
}
#about .section-table dt,
#about .section-table dd{
    font-size: 1.4rem;
    padding: 1em;
    margin: 0;
}
@media(min-width: 700px){
    #about .section-table dt,
    #about .section-table dd{
        font-size: 1.6rem;
    }
}
#about .section-table dt{
    width: 30%;
    background: #f4f4f4;
    border-top: 1px solid var(--table-border-color);
}
#about .section-table dd{
    width: 70%;
    border-top: 1px solid var(--table-border-color);
    border-left: 1px solid var(--table-border-color);
    text-align: left;
}
#about-section-table dd{
    
}
#about .map-wrap{
    width: 100%;
    height: 280px;
    /*position: relative;*/
}
.privacy-policy{
    margin: 0;
}
#privacy h2{
    font-weight: 400;
    font-size: 2.4rem;
    border-bottom: 1px solid;
    padding-bottom: 0.5em;
}
#otoiawase {
    max-width: 1300px;
    margin: 0 auto;
}
#otoiawase .contact-flex > *{
    padding: 4rem 2rem;
}
@media(min-width: 700px){
    #otoiawase .contact-flex > *{
        padding: 4rem;
    }
}
#otoiawase .contact-flex .flex-title{
    font-size: 1.8rem;
    font-weight: 400;
    text-align: center;
    margin: 0;
    margin-bottom: 1em;
}
@media(min-width: 1000px){
    #otoiawase .contact-flex .flex-title{
        font-size: 2.4rem;
    }
}
#otoiawase .contact-flex.wp-block-columns{
    flex-direction: column;
}
#otoiawase .contact-flex.wp-block-columns > *{
    margin: 0;
    margin-bottom: 2rem;
}
@media(min-width: 1000px){
    #otoiawase .contact-flex.wp-block-columns{
        flex-direction: row;
    }
}
@media(min-width: 1000px){
    #otoiawase .contact-flex.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child){
        margin-left: 2rem;
    }
}
#otoiawase .contact-flex .contact-text,
#otoiawase .contact-flex .contact-text a{
    display: flex;
    align-items: center;
    justify-content: center;
    /*font-size:clamp( 24px, 3vw, 32px);*/
    font-size: calc(2.4rem + 8 * (100vw - 320px)/680);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}
#otoiawase .contact-text::before{
    content: "";
    display: inline-block;
    width: 48px;
    height: 48px;
    background-size: 100%;
    background-repeat: no-repeat;
    margin-right: 0.5em;
}
#otoiawase .contact-text.contact-tel::before{
    background-image: url(images/i-phone.png);
}
#otoiawase .contact-text.contact-mail::before{
    background-image: url(images/i-mail.png);
}
#access{
    padding-top: 12rem;
}
@media (min-width: 700px){
    .privacy-policy {
        margin: 0;
    }
}
@media(min-width: 700px){
    #about .map-wrap{
        height: 500px;
        max-height: 500px;
    }
}
#about .map-wrap iframe{

    width: 100%!important;
    height: 100%!important;
}
.img-center img{
    margin: 0 auto;
}
.pb-0{
    padding-bottom: 0;
}
.pagination .nav-links {
    justify-content: space-between;
    margin: 0 auto;
    margin-bottom: 6rem;
    padding: 4rem 0;
    width: 100%;
}
@media(min-width: 700px){
    .pagenation .nav-links{
        width: 50%;
    }
}
.nav-links .placeholder {
    display: block;
    visibility: hidden;
}
.nav-links > * {
    border: 1px solid;
    margin: 0 0.5em;
    padding: 0.75em 1em;
    line-height: 1;
}
.pagination-single{
    margin: 0 auto;
    width: 100%;
    max-width: 600px;
}
.pagination-single.only-next .pagination-single-inner{
    justify-content: space-between;
}
.pagination-single-inner{
    flex-direction: row;
    justify-content: space-between;
    margin-top: 6rem;
}
.pagination-single a {
    background: #4b4848;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0;
    text-decoration: none;
    flex: none;
    display: block;
    text-align: center;
    padding: 0.5em 0;
}
.pagination-single a:focus .title, .pagination-single a:hover .title{
    text-decoration: none;
}
.pagination-single a,
.title-limit{
    width: 88px;
}
.pagination a:hover {
    text-decoration: none;
}
.pagination .prev {
    margin: 0 auto 0 0;
}
.pagination .next {
    margin: 0 0 0 auto;
}
.pagination-single a + a{
    margin: 0;
}
.title.title-limit {
    visibility: hidden;
}
.pagination-single a .arrow {
    margin: 0 0.25em 0 0;
}
@media (min-width: 700px){
    .pagination-single a .arrow {
        margin: 0 0.25em 0 0;
    }
}
.pagination-single .next-post {
    text-align: center;
}
@media (min-width: 700px){
    .pagination-single .next-post {
        text-align: center;
    }
}
.pagination-single .next-post .arrow {
    margin: 0 0 0 0.25em;
}
@media (min-width: 700px){
    .pagination-single .next-post .arrow {
        margin: 0 0 0 0.25em;
    }
}
.post-all{
    justify-content: center;
}
.nav-links .page-numbers:not(.next):not(.prev):not(.current){
    display: none;
}
@media(min-width: 700px){
    .nav-links .page-numbers:not(.next):not(.prev):not(.current){
        display: block;
    }
}
.nav-links .page-numbers.current{
    display: block;
    background: #484848;
    color: #fff;
}


#site-content .post-single {
    width: 96%;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 6rem;
}
@media(min-width: 700px){
    #site-content .post-single{
        width: 78%;
    }
}
}
#site-content .post-single .post-title {
    font-size: 3.2rem;
    font-weight: 400;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    border-bottom: 1px solid;
}
@media (min-width: 700px){
    .entry-content {
        font-size: 1.7rem;
    }
}
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
    max-width: 100%;
    width: 100%;
}
#site-content .post-single .entry-date{
    font-size: 1.8rem;
    margin: 0.5em 0;
}
#site-content .post-single .entry-date time{
    font-size: inherit;
}
/* プラグイン */
/* MW WP Form */
input::placeholder{
    color: #bbb;
}
.mw_wp_form input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    top: 2px;
    display: inline-block;
    margin: 0;
    width: 20px;
    min-width: 1.5rem;
    height: 20px;
    background: #fff;
    border-radius: 0;
    border-style: solid;
    border-width: 0.1rem;
    border-color: #dcd7ca;
    box-shadow: none;
    cursor: pointer;
}
.mw_wp_form input[type="checkbox"]:checked::before {
    content: url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23000000%27%2F%3E%3C%2Fsvg%3E);
    position: absolute;
    display: inline-block;
    margin: -0.2rem 0 0 -0.3rem;
    height: 24px;
    width: 24px;
}
.mw_wp_form{
    max-width: 880px !important;
}
.mw_wp_form .wp-mwform-desc{
    margin-bottom: 2em;
}
.mw_wp_form .wp-mwform-title{
    font-weight: 400;
}
.mw_wp_form .wp-mwform-title:first-of-type{
    margin-top: 0;
}
.mw_wp_form dl.wp-mwform-list input,
.mw_wp_form dl.wp-mwform-list textarea{
    border: 1px solid #aaa;
}
.mw_wp_form dl.wp-mwform-list{
    display: flex;
    align-items: center;
    flex-direction: column;
    border-bottom: 1px solid #ccc;
    padding: 2em 0;
    margin: 0;
}
.mw_wp_form dl.wp-mwform-list dt{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: normal;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 500;
    padding-left: 1em;
    margin-bottom: 12px;
}
.mw_wp_form .required {
    display: inline-block;
    height: fit-content;
    background: #923930;
    border-radius: 5px;
    color: #fff;
    font-size: 1.2rem;
    padding: 0.25em 0.5em;
    margin: 0 8px;
    white-space: nowrap;
}
.mw_wp_form dl.wp-mwform-list dd{
    width: 100%;
    margin-left: 0;
}
.mw_wp_form dl.wp-mwform-list dd > p{
    display: flex;
    align-items: center;
    margin-bottom: 0;
}
.mw_wp_form dl.wp-mwform-list dd > p:not(:last-of-type){
    margin-bottom: 1.5em;
}
.mw_wp_form dl.wp-mwform-list dd span{
    font-size: 1.6rem;
    font-weight: 500;
    margin-right: 16px;
}
.mw_wp_form dl.wp-mwform-list dd > p > span:nth-of-type(2){
    margin-left: 16px;
}
.mw_wp_form dl.wp-mwform-list dd span.error{
    font-size: 1.4rem;
}
.mw_wp_form dl.wp-mwform-list dd small{
    display: block;
    font-size: 1.2rem;
}
.mw_wp_form .hasDatepicker{
    width: 160px;
}
.mw_wp_form .mwform-tel-field {
    white-space: nowrap;
}
.mw_wp_form .mwform-tel-field input {
    width: 30%;
}
.mw_wp_form .error{
    font-size: 1.3rem;
    font-weight: 500;
}
.mw_wp_form .privacy-check label{
    display: inline-block;
    margin-left: 8px;
    width: 50%;
}
.mw_wp_form .privacy-link{
    color: #00396B;
    text-decoration: underline;
}
.mw_wp_form .privacy-wrap {
    margin: 2em 0;
    padding: 2em;
    background: #f4f4f4;
}
.mw_wp_form input[type="submit"] {
    margin: 0 auto;
    text-align: center;
    display: block;
    width: 100%;
    max-width: 300px;
    background: #4b4848;
    font-weight: 400;
    letter-spacing: 0.1em;
    transition: all .3s;
}
.mw_wp_form input[type="submit"]:hover{
    opacity: .7;
}
.mw_wp_form select{
    padding: 0.5em;
}
.mw_wp_form.mw_wp_form_preview dl.wp-mwform-list dd span {
    font-weight: 300;
}
.mw_wp_form .is-error{
    background: #ffeeee;
}
.mw_wp_form select option.is-error{
     background: linear-gradient(red, red);
}
@media(min-width: 700px){
    /* MW WP form */
    .mw_wp_form dl.wp-mwform-list{
        flex-direction: row;
    }
    .mw_wp_form dl.wp-mwform-list dt{
        flex-direction: row;
        justify-content: space-between;
        width: 28%;
        margin-bottom: 0;
    }
    .mw_wp_form dl.wp-mwform-list dd{
        width: 72%;
        margin-left: 40px;
    }
}
/* プラグインおわり */
:root .has-subtle-background-background-color{
    background-color: #f4f4f4;
}
.top-section-heading.top-section-heading-news,
.top-section-heading,
.f-section-title,
.page-title p,
#contents .section-title-e{
    text-transform: uppercase;
}
.achievement-list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 1.2rem;
}
.achievement-list li{
    width: 100%;
    border: 1px solid #aaa;
    font-size: 1.4rem;
    text-align: center;
    /*padding-left: 1em;*/
    /*text-indent: -1em;*/
    padding: 0.5em 0;
    margin-top: -1px;
    margin-right: -1px;
}
@media(min-width: 600px){
    .achievement-list li{
        width: 50%;
        font-size: 1.6rem;
    }
}
@media(min-width: 780px){
    .achievement-list li{
        width: 33.3%;
        font-size: 1.6rem;
    }
}
.achievement-list li:not(:nth-of-type(3n)){
    /*margin-right: 2%;*/
}
/*
.achievement-list li::before{
    content: "\030FB";
}
*/
.achivement-more{
    text-align: right;
}
