@charset "UTF-8";
/*-----------------------共通、PC-----------------------*/
/*------------------基本設定------------------*/
/*使用フォント*/
@font-face {
  font-family: 'BIZUDPGothic-Bold';
  src: url('../fonts/BIZUDPGothic-Bold.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'BIZUDPGothic-Regular';
  src: url('../fonts/BIZUDPGothic-Regular.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'ZenOldMincho-Regular';
  src: url('../fonts/ZenOldMincho-Regular.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'ZenOldMincho-Bold';
  src: url('../fonts/ZenOldMincho-Bold.woff2') format('woff2');
  font-display: swap;
}
@font-face {/*BIZUDPの一部文字置き換え*/
  font-family: "lowline-only";
  src: local("Hiragino Sans"), local("Hiragino-Sans"), local("游ゴシック体"),
    local("YuGothic"), local("Meiryo"), local("Meiryo UI"), local("メイリオ");
  unicode-range: U+005F, U+FF3F;
  font-display: swap;
}
/*使用フォント ここまで*/
/*共通カラー*/
:root {
  color-scheme: light;/*ライトモードのみの運用*/
  --text-color: #333333;
  --white: #ffffff;
  --black: #000000;
  --text-blue: #2E4D89;
  --text-blue-sub: #036EB8;
  --line-blue: #024F85;
  --important: #AD2447;
  --gray: #727171;
  interpolate-size: allow-keywords;
}
/*共通カラー　ここまで*/
/*基本書式*/
body,main,header,footer{
  background: #fff;
  font-family: "lowline-only" , "BIZUDPGothic-Regular" , "BIZ UDPGothic" , "ヒラギノ角ゴPro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo ,"ＭＳ Ｐゴシック" , sans-serif;
  font-style:normal;
  line-height:1.9;
  letter-spacing:0.04em;
  font-size: 16px;
  font-weight: normal;
  color: var(--text-color);
  line-break:strict;
  word-break:break-word;
  overflow-wrap:break-word;
  word-wrap:break-word;
  font-feature-settings:"palt";
  vertical-align: middle;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,h6{
  line-height: 1.9;
  font-size: 1.5em;
  letter-spacing: 0.05em;
}
a{
  color: var(--text-color);
  text-underline-offset:0.2em;
  transition: opacity .3s;
}
a:hover{
  opacity: .5;
  transition: opacity .3s;
  cursor: pointer;
}
button{transition: opacity .3s;}
button:hover{opacity: .5; transition: opacity .3s; cursor: pointer;}
.no_sp{display: inline-block;}/*PCのみ表示・適用*/
.grecaptcha-badge {visibility: hidden;}/*reCAPTCHAのロゴを非表示にする*/
:target {scroll-margin-top: 30px;}
/*footerを最下部に固定*/
html {height: 100%;}
body {min-height: 100%;display: flex;flex-direction: column;}
main {flex: 1;z-index: 2;overflow-x: hidden;padding-top: 108px;/*header fixed height*/}
main.page-front{padding-top: 0;}
/*footerを最下部に固定 ここまで*/
body{opacity: 0.01;/*フェードイン初期値*/overflow-x: hidden;}
/*------------------基本設定　ここまで------------------*/

/*-------------header-------------*/
header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 108px;
  padding: 0 32px;
  font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
  font-size: 16px;
  background-color: var(--white);
  color: var(--text-color);
  position: fixed;
  top: 0;
  z-index: 150;
}
header a,
header button{text-decoration: none;}
/*header 挙動*/
#header.header-up{animation: HeaderUp 0.5s forwards;}
@keyframes HeaderUp{
    from{opacity: 1;transform: translateY(0);}
    to{opacity: 0;transform: translateY(-110px);}
}
#header.header-down{animation: HeaderDown 0.5s forwards;}
@keyframes HeaderDown{
    from{opacity: 0;transform: translateY(-110px);}
    to{opacity: 1;transform: translateY(0);}
}
#header.header-up:has(.list-open),
#header.header-down:has(.list-open){ animation: unset; }
/*header 挙動 ここまで*/
/*メインメニュー*/
.header-nav{
    width: auto;
    height: auto;
    background-color: var(--white);
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}
.header-nav-contents{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 80px;
}
.header-nav-contents > div{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.header-nav-sub-opener,
.header-nav-item{
    display: flex;
    width: auto;
    padding: 0 12px;
    gap: 8px;
    height: 108px;
    align-items: center;
    text-align: center;
    line-height: 1.35;
}
/*サブメニューがある要素のアイコン*/
.header-nav-sub-opener span::after{
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-image: url("../images/icon-arrowbox-b-b.png");
  background-repeat: no-repeat;
  background-size: contain;
}
/*サブメニューがある要素のアイコン ここまで*/
/*サブメニュー挙動*/
.header-nav-sub{
    display: flex;
    justify-content: center;
    width: 0px;
    height: 0px;
    flex-direction: column;
    position: absolute;
    top: 108px;/*header height*/
    left: 0;
    z-index: 1;
    opacity: 0;
    align-items: center;
    background-image: url("../images/bg-pre.png");background-size: cover;background-repeat: no-repeat;
    overflow: hidden;
}
.header-nav-sub > li{width: 100%;height: 100%;}
.header-nav-sub > li > a{
    color:var(--text-blue);
    font-size: 1.1rem;
    border: 1px solid #fff;
    display: inline-block;
    text-align: center;
    width: 0px;
    height: 0px;
    padding: 0px;
}
.header-nav-hassub .header-nav-headline a{color:var(--text-blue);}
.header-nav-headline{display: none;}
@media only screen and (min-width: 1181px) {/*レスポンシブメニュー切り替えまでのみ適用*/
    .header-nav-hassub:hover .header-nav-headline,
    .header-nav-hassub:has(:hover) .header-nav-headline,
    .header-nav-hassub:has(:focus) .header-nav-headline{
        display: flex;
        position: absolute;
        color:var(--text-blue);
        top: 254px;
        left: calc(50% - 15em);
        font-size: 35px;
        z-index: 25;
        height: auto;
        width: auto;
        max-width: 10em;
        word-break: auto-phrase;
        justify-content: flex-end;
        align-items: flex-start;
        letter-spacing: .09em;
    }
    .header-nav-hassub:hover .header-nav-sub,
    .header-nav-hassub:has(:hover) .header-nav-sub,
    .header-nav-hassub:has(:focus) .header-nav-sub{
        height: 360px;
        width: 100%;
        z-index: 20;
        opacity: 1;
        transition: height .3s ease;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-content: center;
        align-items: center;
        gap: 3em;
        padding: 4em 6em 4em 50%;
        background-image: url(../images/bg-pre.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;/*要調整：画面幅によって分岐？*/
    }
    .header-nav-hassub:hover .header-nav-sub > li > a,
    .header-nav-hassub:has(:hover) .header-nav-sub > li > a,
    .header-nav-hassub:has(:focus) .header-nav-sub > li > a{
        width: 100%;
        height: auto;
        padding: 3px;
        border: none;
        text-align: left;
        font-size: 19px;
    }
    .header-nav-sub > li{
        width: auto;
        min-width: 250px;
        height: auto;
    }
}
/*サブメニュー挙動 ここまで*/
.header-nav-no_pc{display: none !important;}
a.header-logo {
    display: block;
    width: 350px;
    height: auto;
}
/*メニュー該当箇所での着色*/
.nav-selected,.nav-selected a{color: var(--text-blue-sub) !important;}
.header-nav-sub .nav-selected,.header-nav-sub a.nav-selected{color: #86b7da !important;}
/*メニュー該当箇所での着色　ここまで*/
/*メインメニュー ここまで*/
/*-------------header ここまで-------------*/

/*-------------footer-------------*/
.btn__gotop{
    width: 60px;height: 60px;
    background-image: url("../images/icon-gotop.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: fixed;
    bottom: 60px;
    right: 60px;
}
footer{
  background-color: var(--white);
  width: 100%;height: auto;
}
.footer-top{
    width: 100%;
    height: auto;
    display: flex;
    background-image: url("../images/bg-pre.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.footer-top-contents{
    width: 100%; max-width: 1560px;
    padding: 80px 60px;
    height: auto;
    display: flex;
    justify-content: space-between;
    gap: 80px;
    margin: 0 auto;
}
.footer-info{
    width: auto;height: auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.footer-logo{
    display: block;
    width: 350px; height: auto;
}
.footer-info-address-title{font-family: 'BIZUDPGothic-Bold'; font-weight: normal;}
.footer-info-address address{font-style: normal;}
.footer-nav{
    width: auto; min-width: 540px;
    height: auto;
    display: flex;
    gap: 100px;
}
.footer-nav-1,.footer-nav-2{
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.footer-nav a{text-decoration: none;}
.footer-bottom{
    width: 100%;
    height: auto;
    background-color: var(--text-blue);
}
.footer-bottom-contents{
    width: 100%; max-width: 1560px;
    margin: 0 auto;
    height: auto;
    padding: 30px 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--white);
    font-size: 14px;
}
.footer-bottom-contents a{color: var(--white);font-size: 14px;}
/*-------------footer ここまで-------------*/


/*-------------home-------------*/
/*fv*/
.home__fv-content{height: calc(100vw * 0.463);}
.home__fv-content-1{position: absolute; z-index: -1; width: 100%; height: auto;}
.home__fv-content-1__sp{position: absolute; z-index: -1; width: 100%; height: auto;display: none;}
.home__fv-content-2{height: calc(100vw * .4);  max-height: 90vh;}
/*fv end*/
.home__article{
    width: 100%;
    height: auto;
    padding: 100px 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.article-box{
    width: 100%;
    max-width: 1440px;
    height: auto;
    padding-left: 65px;
}
.text__headline{
    width: 100%;
    max-width: 1440px;
    height: auto;
    display: flex;
    color: var(--line-blue);
    font-size: 33px;
    gap: 0.4em;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
}
.text__headline::before{
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.35em;
    background-image: url("../images/icon-headline.png");
    background-repeat: no-repeat;
    background-size: contain;
    flex-shrink: 0;
    transform: translateY(0.2em);
}
.link__default{
    display: flex;
    width: fit-content;
    height: auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.7em;
    text-decoration: none;
    color: var(--text-blue);
    font-size: 22px;
    margin: 0 0 0 auto;
}
.link__default::after{
    content: "";
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    background-image: url(../images/icon-arrowbox-b-r.png);
    background-repeat: no-repeat;
    background-size: contain;
    flex-shrink: 0;
    transform: translateY(-0.1em);
}
/*news*/
.post-list{
    width: 100%; max-width: 1440px;
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 36px 0;
}
.post-list li{
    width: 100%; max-width: 1440px;
    height: auto;
}
.post-list li a{
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 40px;
    width: 100%; max-width: 1440px; height: auto;
    border-bottom: solid 1px var(--line-blue);
    padding: 24px 0;
}
.post__data{flex-shrink: 0;}
.post__date{
    color: var(--gray);
    transform: translateY(0.08em);
    letter-spacing: 0.1em;
    min-width: 11em;
}
.post__title{font-size: 18px;}
/*news end*/
/*home__about*/
.home__about.home__article{
    background-image: url("../images/home-about-bg.png");
    background-size: cover;
    background-repeat: no-repeat;
}
.home__about-box{
    display: flex;
    width: 100%; max-width: 1440px;
    height: auto;
    gap: 72px;
    padding: 36px 0;
}
.home__about-symbol{
    width: 380px;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
}
.home__about-text{
    background-color: #ffffff82;
    padding: 72px;
}
.home__about-text-headline{
    color: var(--text-blue);
    font-family: 'ZenOldMincho-Regular';
    font-weight: normal;
    width: 594px;
    height: auto;
    border-bottom: solid 1px var(--line-blue);
    font-size: 36px;
    padding-bottom: 0.7em;
    letter-spacing: 0.1em;
}
.home__about-text p{
    padding-top: 32px;
    line-height: 2.5;
    width: 594px;
}
/*home__model*/
.home__article.home__model{
    background-image: url("../images/home-model-bg.png");
    background-size: cover;
    background-repeat: no-repeat;
}
.home__article.home__model::before{
    content: "";
    display: block;
    width: 340px;
    height: 78px;
    background-image: url("../images/text-aichi.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 30px;
    transform: translateY(-100px);
}
.model-list{
    width: 100%; max-width: 1440px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 46px;
    padding: 36px 0;
}
.model-list li{
    width: calc(100% / 3 - 31px );
    height: auto;
    aspect-ratio: 25 / 22;
}
.model-list__box{
    display: flex;
    width: 100%;
    height: auto;
    aspect-ratio: 25 / 22;
    padding: 16px;
    background-image: url("../images/model-bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--white);
    text-decoration: none;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.model-list__headline{
    font-family: 'ZenOldMincho-Regular'; font-weight: normal;
    font-size: 19px;
    letter-spacing: 0.1em;
    width: 100%;
}
.model-list__item{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: translateY(-12px);
}
.model-list__item img{
    width: 35%;
    height: auto;
    aspect-ratio: 1 / 1;
}
.model-list__text{
    display: inline-block;
    width: 100%;
    font-family: 'ZenOldMincho-Regular'; font-weight: normal;
    font-size: 27px;
    text-align: center;
    line-height: 1.45;
}
.model-list__aside {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 14px;
    gap: 0.2em;
}
.model-list__aside::after{
    content: "";
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    flex-shrink: 0;
    background-image: url("../images/icon-arrow-w-r.png");
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-0.02em);
}
/*home__model end*/
/*home__technology*/
.home__technology .text__headline{
    margin: 0 auto;
    padding: 100px 60px;
    max-width: 1560px;
}
.technology-box{
    text-decoration: none;
    width: 352px;
    height: auto;
    display: block;
}
.technology-box img{
    width: 352px;
    height: auto;
    aspect-ratio: 352 / 272 ;
    object-fit: cover;
}
.technology-box-title{
    display: inline-block;
    width: 100%;
    height: auto;
    font-family: 'BIZUDPGothic-Bold';
    font-weight: normal;
    padding-top: 0.4em;
    font-size: 22px;
    color: var(--text-blue);
    text-align: center;
}
.home__technology .home__article{width: 100%; max-width: 1560px; margin: 0 auto;}
/*slick*/
.slick-slider{
    width: 392px;/*352+40*/
    overflow: visible;
    transform: translateX(60px);
    padding: 36px 0 0 0;
    z-index: 1;
}
.slick-list{overflow: visible;}
.slick-slide{padding-right: 40px;}
.card-arrow-prev{
    display: block;
    width: 40px;
    height: 40px;
    background-image: url("../images/icon-arrowbox-w-l.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 16px;
    transform: translateY(180px);
    z-index: 5;
    pointer-events: all;
}
.card-arrow-next{
    display: block;
    width: 40px;
    height: 40px;
    background-image: url("../images/icon-arrowbox-w-r.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 16px;
    transform: translateY(180px);
    z-index: 5;
    pointer-events: all;
}
.card-arrowarea{
    position: absolute;
    z-index: 5;
    transform: translateY(-360px);
    width: 100%;
    height: 430px;
    background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 6%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0.76) 94%, white 100%);
    pointer-events: none;
}
/*slick end*/
/*home__technology end*/
/*home__company*/
.home__company{
    width: 100%;
    height: auto;
    padding: 80px 0;
    background-image: url("../images/home-company.png");
    background-repeat: no-repeat;
    background-size: cover;
}
.home__company .text__headline{margin: 0 auto;padding: 0 60px 90px 60px; max-width: 1560px;}
.home__company-box{
    width: 100%;
    max-width: 1560px;
    padding: 0 60px;
    height: auto;
    margin: 0 auto;
}
.home__company .link__default{
    width: 600px;
    margin: 0 auto 0 0;
}
.home__company .link__default::before{
    content: "";
    display: block;
    width: 660px;
    height: 1px;
    background-color: var(--text-blue);
    position: absolute;
    left: 0;
    transform: translateY(-70px);
}
@media only screen and (min-width: 1561px) {
    .home__company .link__default::before{width: calc(50% - 120px);}
}
/*home__company end*/
/*home__contact*/
.home__article.home__contact{
    background-image: url("../images/home-contact.png");
    background-repeat: no-repeat;
    background-size: cover;
    padding: 130px 60px;
}
.list__style-1{
    width: 100%;
    max-width: 1440px;
    height: auto;
    display: flex;
    flex-direction: column;
}
.list__style-1 li{
    padding: 24px 0;
    border-bottom: solid 1px var(--text-blue);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.home__contact .list__style-1 li{font-size: 20px;}
.home__contact .article-box{padding-top: 20px;}
/*home__contact end*/
/*-------------home ここまで-------------*/

/*-------------page -------------*/
.page-banner{
    width: 100%;
    height: auto;
    padding: 130px 60px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    background-image: url("../images/page-topbanner.png");
    background-size: cover;
    background-repeat: no-repeat;
    color: var(--white);
    font-family: 'ZenOldMincho-Regular'; font-weight: normal;
    justify-content: center;
    align-items: center;
}
h1.page-banner__title{
    font-size: 40px;
    line-height: 1.3;
    font-family: 'ZenOldMincho-Regular'; font-weight: normal;
    display: inline-block;
    width: 100%; max-width: 1440px;
    height: auto;
}
.page-banner__title-sub{
    font-size: 24px;
    line-height: 1.3;
    display: inline-block;
    width: 100%; max-width: 1440px;
    height: auto;
}

.page-breadcrumbs{
    width: 100%; max-width: 1560px;
    height: auto;
    margin: 0 auto;
    padding: 8px 60px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 14px;
}
.page-breadcrumbs a{text-decoration: none;}
.page-breadcrumbs div{color: var(--text-blue-sub);font-family: 'BIZUDPGothic-Bold'; font-weight: normal;}

.page__editcontents{
    width: 100%; max-width: 1144px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.page__editcontents h1,
.page__editcontents h2{
    width: 100%;
    max-width: 1024px;
    height: auto;
    display: flex;
    color: var(--line-blue);
    font-size: 33px;
    gap: 0.4em;
    font-family: 'BIZUDPGothic-Bold';
    font-weight: normal;
    color: var(--text-blue);
    padding-bottom: 1em;
}
.page__editcontents h1::before,
.page__editcontents h2::before{
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.35em;
    background-image: url(../images/icon-headline.png);
    background-repeat: no-repeat;
    background-size: contain;
    flex-shrink: 0;
    transform: translateY(0.2em);
}
.page__editcontents h3{
    width: 100%;
    max-width: 1024px;
    height: auto;
    display: flex;
    font-family: 'BIZUDPGothic-Bold';
    font-weight: normal;
    font-size: 24px;
    color: var(--text-blue);
    padding-bottom: 2em;
    align-items: flex-end;
}
.page__editcontents h3::after{
    content: "";
    width: calc(100% - 120px); max-width: 1024px;
    height: 1px;
    background-color: var(--line-blue);
    position: absolute;
    transform: translateY(0.5em);
}
.page__editcontents ul li{
    list-style: disc;
    padding-right: 1em;
    transform: translateX(1em);
}
.page__editcontents ol li{
    list-style: auto;
    padding-right: 1.4em;
    transform: translateX(1.4em);
}
.page__editcontents .link-pdf{margin: 1em auto;display: inline-block;}
.page__editcontents .link-pdf::after{
    content: "";
    display: inline-block;
    width: 1.55em;
    height: 1.6em;
    background-image: url(../images/icon-pdf.png);
    background-size: contain;
    background-repeat: no-repeat;
    transform: translateY(0.4em);
    margin-left: 0.5em;
}
.page__editcontents hr{border-block-start: solid 1px var(--line-blue);}
.page__editcontents table{border-collapse: collapse;border: none;}
.page__editcontents td{padding: 0.2em;border: none;border-bottom: solid 1px var(--line-blue);}
.page__editcontents .table-area{width: 100%; height: auto; overflow: auto;}
.page__pagenation{
    width: 100%;max-width: 1560px;
    height: auto;
    padding: 80px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    justify-content: center;
}
.page__pagenation li{
    width: 50px; height: 50px;
    display: flex;justify-content: center;align-items: center;
}
.page__pagenation a{
    width: 50px; height: 50px;
    display: flex;justify-content: center;align-items: center;
    border: solid 1px var(--line-blue);
    color: var(--text-blue);
    text-decoration: none;
    background-color: var(--white);
}
.page__pagenation .selected a{color: var(--white); background-color: var(--text-blue);}
a.page__pagenation-prev{
    background-image: url("../images/icon-arrowbox-w-l.png");
    background-repeat: no-repeat;
    background-size: contain;
    border: none;
}
a.page__pagenation-next{
    background-image: url("../images/icon-arrowbox-w-r.png");
    background-repeat: no-repeat;
    background-size: contain;
    border: none;
}

/*page-single*/
.single__info{
    width: 100%; max-width: 1144px;
    height: auto;
    padding: 100px 60px 0 60px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.single__info::after{
    content: "";
    width: 100%; max-width: 1440px;
    height: 1px;
    margin: 0 auto;
    background-color: var(--line-blue);
}
.single__info-date{color: var(--gray);}
.single__info-title{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    font-size: 32px;
    color: var(--text-blue);
    padding-bottom: 16px;
}
.page-single .page__editcontents{padding: 56px 60px 100px 60px;}
.page-single a.link__default{margin: 120px 0 0 auto;}
.page-single a.link__default::before{
    content: "";
    width: calc(100% - 120px); max-width: 1024px;
    height: 1px;
    background-color: var(--line-blue);
    pointer-events: none;
    position: absolute;
    transform: translateY(-80px);
}
.single-events-thumb,
.single-technology-thumb{
    margin: 0 auto;
    width: calc(100% - 120px);
    max-width: 500px;
    height: auto;
    object-fit: contain;
    margin-top: 80px;
}
/*page-single end*/

/*page*/
.page__contents table{width: 100%;border-collapse: collapse;}
.page__contents td,
.page__contents th{
    border-bottom: solid 1px var(--line-blue);
    padding: 1em 0;
}
.page-anchor{
    width: 100%; max-width: 1560px;
    height: auto;
    display: flex;
    padding: 100px 60px 0 60px;
    gap: 60px;
    margin: 0 auto;
}
.page-anchor li{width: stretch; height: auto;}
.page-anchor a{
    width: auto; height: auto;
    display: flex;
    padding: 0 0 16px 0;
    text-decoration: none;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid 1px var(--line-blue);
    color: var(--text-blue);
}
.page-anchor a::after{
    content: "";
    display: inline-block;
    width: 18px; height: 18px;
    background-image: url("../images/icon-arrowbox-b-b.png");
    background-repeat: no-repeat;
    background-size: contain;
}

/*page-plivacy*/
.page-plivacy .page__editcontents h3{padding-top: 80px;}
.page-plivacy .page__editcontents h3:first-child{padding-top: 0;}
.page-plivacy .page__editcontents ul{padding-top: 24px;}
/*page-plivacy end*/

/*page-technology*/
.page-technology .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.post-list-technology{
    width: 100%; height: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
}
.post-list-technology li{width: calc(100% / 3 - 40px);height: auto;}
.post-list-technology .technology-box,
.post-list-technology .technology-box img{width:100%;}
/*page-technology end*/

/*page-faq*/
.page-faq .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.faq__list{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 60px 0 60px 0;
}
.faq__list li{
    width: 100%; height: auto;
    display: flex;
    flex-direction: column;
    padding: 24px 24px 24px 80px;
    border: solid 1px var(--text-blue);
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    color: var(--text-blue);
    font-size: 24px;
}
.faq__list .list-opener{
    width: 26px;
    height: 26px;
    display: block;
    background-image: url(../images/icon-arrowbox-b-b.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    transform: translateX(-2.2em) translateY(0.4em);
}
.faq__list .list-opener.list-open{
    background-image: url(../images/icon-arrowbox-w-t.png);
}
.faq__list-q,.faq__list-a{
    width: 100%;height: auto;
    display: flex;gap: 16px;
}
.faq__list-q span,.faq__list-a span{flex-shrink: 0;}
.faq__list-a{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    color: var(--important);
    font-size: 24px;
    height: 0; overflow: hidden;
    transition: height .3s ,padding-top 0.3s allow-discrete;
}
.faq__list li:has(.list-open) .faq__list-a{
    height: auto;
    padding-top: 1em;
}
/*page-faq end*/

/*page-news*/
.page-news .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.post-list li:has(.link-pdf) .post__title::after{
    content: "";
    display: inline-block;
    width: 1.3em;
    height: 1.4em;
    background-image: url(../images/icon-pdf.png);
    background-size: contain;
    background-repeat: no-repeat;
    transform: translateY(0.3em);
    margin-left: 0.4em;
}
/*page-news end*/

/*page-public(public-information)*/
.page-public .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.page__post-box{
    width: 100%; height: auto;
    display: flex;
    gap: 60px;
    padding-top: 60px;
}
.page__post-list-box{width:stretch;height: auto;}
.page__post-list-box .post-list{padding: 0;}
.page__post-list-box .post-list li:first-child a{padding-top: 0;}
.page__post-setector-box{
    width: 290px; height: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
}
.page__post-setector-headline{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    color: var(--text-blue);
    font-size: 23px;
    padding-top: 1.5em;
}
.page__post-setector{
    width: 100%;height: auto;
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: solid 1px var(--line-blue);
}
.page__post-setector li{width: 100%; height: auto;}
.page__post-setector a{
    width: 100%; height: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    color: var(--text-blue);
    background-color: var(--white);
    border-left: solid 1px var(--line-blue);
    border-right: solid 1px var(--line-blue);
    border-bottom: solid 1px var(--line-blue);
    text-decoration: none;
    padding: 16px;
}
.page__post-setector a::after{
    content: "";
    display: block;
    width: 18px; height: 18px;
    background-image: url("../images/icon-arrowbox-b-r.png");
    background-repeat: no-repeat;
    background-size: contain;
}
.page__post-setector a.setector-selected{color: var(--white); background-color: var(--text-blue);}
.page__post-setector a.setector-selected::after{background-image: url("../images/icon-arrowbox-w-r.png");}
.page__post-list-box .page__pagenation{padding-top: 40px;}
/*page-public end*/

/*page-report*/
.page-report .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
/*page-report end*/

/*page-events*/
.page-events .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.post-list-event{width: 100%; height: auto;}
.post-list-event li{width: 100%; height: auto;}
.event-box{
    width: 100%; height: auto;
    display: flex;
    gap: 20px;
    padding: 26px 0;
    text-decoration: none;
    border-bottom: solid 1px var(--line-blue);
    align-items: center;
}
.event-box img{
    width: 194px; height: 150px;
    object-fit: cover;
    flex-shrink: 0;
}
.event-box-data{
    width: stretch; height: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.event-box-date{
    color: var(--gray);
    transform: translateY(0.08em);
    letter-spacing: 0.1em;
}
/*page-events end*/

/*page-contact*/
.page-contact .page__contents{
    width: 100%; max-width: 1144px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.contact__aside{text-align: center;padding-bottom: 40px;}
.page-contact .link__default{margin: 0 auto;}
.page-contact table{ margin-top: 60px; font-size: 20px;}
.page-contact th{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    color: var(--text-blue);
    font-size: 23px;
    width: 14em;
}
.page-contact ul.contact__aside-bottom{
    padding-top: 24px;
}
.page-contact .contact__aside-bottom li{
    list-style: disc;
    padding-right: 1em;
    transform: translateX(1em);
}
/*page-contact end*/

/*page-company*/
.page-company .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.company-greetings-box{
    border: solid 1px var(--text-blue);
    padding: 40px 60px;
    font-family: 'ZenOldMincho-Regular'; font-weight: normal;
    color: var(--text-blue);
    font-size: 26px;
    letter-spacing: normal;
}
.company-greetings .article-box,
.company-about .article-box{padding-top: 40px;}
.company-greetings p{
    line-height: 2;
    padding: 40px 0;
}
.company-greetings p a{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    text-decoration: none;
}
.company-greetings-name{
    font-family: 'ZenOldMincho-Regular'; font-weight: normal;
    width: 100%;height: auto;
    display: inline-block;
    text-align: right;
    font-size: 20px;
}
.page-company .page__contents.company-about{
    background-image: url("../images/company-bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    max-width: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page-company .page__contents td,
.page-company .page__contents th,
.page-about .page__contents td,
.page-about .page__contents th{padding: 2em 0;}
.page-company .page__contents th,
.page-about .page__contents th{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    color: var(--text-blue);
    font-size: 20px;
    width: 12em;
}
/*page-company end*/

/*page-strategy(business-strategy)*/
.page-strategy .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.page-strategy .page__contents.strategy-model{
    background-image: url("../images/home-model-bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    max-width: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page-strategy .article-box{padding-top: 40px;}
.strategy-model-box{
    border: solid 1px var(--text-blue);
    padding: 40px 60px;
    font-family: 'ZenOldMincho-Regular'; font-weight: normal;
    color: var(--text-blue);
    font-size: 24px;
    letter-spacing: normal;
    text-align: left;
}
.strategy-model-box span{font-family: 'ZenOldMincho-Bold'; font-weight: normal;}
.page-strategy .model-list{justify-content: center;padding-top: 60px;}
.page-strategy .model-list__box::after{
    content: "";
    display: block;
    width: 100%; height: 24px;
    background-image: url("../images/icon-arrow-w-b.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.page-strategy .page__contents.strategy-about-b{
    background-color: #EAF6FF;
    max-width: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page-strategy .page__contents.strategy-about-w{
    background-color: var(--white);
    max-width: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page-strategy .page__contents.strategy-about-w::before,
.page-strategy .page__contents.strategy-about-b::before{
    content: "";
    display: block;
    width: 600px;
    height: 45px;
    background-image: url("../images/text-aqua-infra.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    transform: translateY(-40px);
}
#aichi-model-1::before{background-image: url("../images/text-aqua-infra.png");}
#aichi-model-2::before{background-image: url("../images/text-innovation.png");height: 38px;}
#aichi-model-3::before{background-image: url("../images/text-crisis-management.png");}
#aichi-model-4::before{background-image: url("../images/text-hybrid-energy.png");}
#aichi-model-5::before{background-image: url("../images/text-integration.png");}
.strategy-about__box{
    width: 100%; height: auto;
    padding: 40px 60px 40px 43px;
    background-color: var(--white);
    color: var(--text-blue);
    border: solid 1px var(--text-blue);
    display: flex;
    align-items: center;
    gap: 40px;
}
.strategy-about__box img{width: 80px; height: 80px; flex-shrink: 0;}
.strategy-about__box span{
    width: 1px; height: stretch;
    background-color: var(--text-blue);
}
.strategy-about__box li{
    text-indent: -1em;
    padding: 0.15em 0 0.15em 1em;
}
/*page-strategy end*/

/*page-about*/
.page-about .page__contents{
    width: 100%; max-width: 1560px;
    height: auto;
    padding: 100px 60px;
    margin: 0 auto;
}
.page-about .article-box{padding-top: 40px;}
.facility-point-box{
    width: 100%; height: auto;
    padding-top: 40px;
    display: flex;
    gap: 16%;
    align-items: center;
    font-size: 20px;
}
.facility-point-headline{
    font-family: 'ZenOldMincho-Regular'; font-weight: normal;
    color: var(--text-blue);
    font-size: 32px;
    flex-shrink: 0;
}
.about-facility img{
    width: 100%; height: auto;
    object-fit: contain;
}
.facility-map-list{
    width: 100%; height: auto;
    padding-top: 60px;
    display: flex;
    gap: 0 20px;
    flex-wrap: wrap;
}
.facility-map-list li{
    width: calc(50% - 10px);
    height: stretch;
    display: flex;
    padding: 20px 0;
    border-bottom: solid 1px var(--line-blue);
    flex-direction: column;
    justify-content: center;
}
.facility-map-list-title{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    color: var(--text-blue);
    font-size: 22px;
    line-height: 1.4;
    padding-bottom: 8px;
    display: flex;
}
.facility-map-list li ul{display: revert;}
.facility-map-list li:first-child li span{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    color: var(--important);
}
.facility-map-list li li{
    display: revert;
    list-style: disc;
    border: none;
    padding: 0;
    padding-right: 1em;
    transform: translateX(1em);
    width: 100%;
}
.page-about .page__contents.about-business{
    background-image: url("../images/home-about-bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    max-width: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.about-business .link__default{margin: 16px auto 0 0;}
.about-schedule-img{
    width: stretch;
    height: auto;
}
.about-schedule-img img{height: 0;width: 100%;transition:height 0.3s  allow-discrete;}
.about-schedule-img:has(.list-open).about-schedule-img img{height: auto;}
/*page-about end*/

/*page-end*/

/*-------------page ここまで-------------*/


.no_pc{display: none;}/*PCのみ表示・適用*/
/*-----------------------共通、PC　ここまで-----------------------*/


/*-----------------------レスポンシブ-----------------------*/
@media only screen and (max-width: 1380px) {
    .model-list__text{font-size: 23px;}
}
@media only screen and (max-width: 1350px) {
    a.header-logo{width: 260px;}
    .header-nav-sub-opener, .header-nav-item{gap: 4px;}
    .header-nav-item,.header-nav-sub-opener {font-size: 14px;}
    .home__about-text-headline{width: 100%;font-size: 32px;}
    .home__about-text p{width: fit-content;line-height: 2;}
}
@media only screen and (max-width: 1235px) {
    .model-list__text{font-size: 21px;}
    .model-list__item img {width: 33%;}
}
@media only screen and (max-width: 1180px) {
    .no_pc{display: inline-block;}/*レスポンシブ時のみ表示*/

    /*サブメニュー挙動リセット*/
    .header-nav-no_pc{display: flex !important;}
    /*メインメニュー*/
    header{height: 60px;position: fixed;z-index: 100;overflow-x: hidden;}
    .header-nav{height: auto;position: fixed;top: 0;}
    /*レスポンシブメニュー開閉ボタン*/
    .header-nav__sp-button{
        display: flex;
        height: 60px;
        width: 60px;
        z-index: 150;
        color: #fff;
        font-size: 11px;
        font-weight: bold;
        position: fixed;
        top: 0px;
        right: 0px;
        justify-content: center;
        background-color: var(--text-blue);
        border: 1px #fff solid;
        box-sizing: border-box;
    }
    .header-nav__sp-icon,
    .header-nav__sp-icon::before,
    .header-nav__sp-icon::after{
        content: '';
        display: block;
        height: 2px;
        width: 38px;
        background-color: var(--white);
        position: absolute;
        top:12px;
        transition: all 0.3s;
    }
    .header-nav__sp-icon::before {top: 8px;}
    .header-nav__sp-icon::after {top: 16px;}
    .header-nav__sp-label::before{
        content: 'MENU';
        position: relative;
        top: 32px;
        color: var(--white);
    }
    /*レスポンシブメニュー開閉ボタン ここまで*/

    .header-nav{
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 60px 0 0 0;
        left: 100%;
        text-align: left;
        z-index:145;
        background-color: var(--text-blue);
        transition: all 0.3s;
        text-align: left;
        overflow-y: scroll;
        /*スクロールバー非表示*/
        -ms-overflow-style: none; /* IE, Edge 対応 */
        scrollbar-width: none;    /* Firefox 対応 */    
    }
        .header-nav::-webkit-scrollbar {
        display: none; /* Chrome, Safari 対応 */
    }
    /*スクロールバー非表示　ここまで*/
    /*メインメニュー開閉挙動*/
    .header-nav:has(.header-nav__sp-button.list-open){left: 0;transition: all 0.3s;}
    .header-nav > div{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .list-open .header-nav__sp-icon{background-color: rgba(255, 255, 255, 0);}
    .list-open .header-nav__sp-icon::before {
        top: 9px;
        transform: rotate(33deg);
        transition: all 0.3s;
    }
    .list-open .header-nav__sp-icon::after {
        top: 9px;
        transform: rotate(-33deg);
        transition: all 0.3s;
    }
    .list-open .header-nav__sp-label::before{
        content: 'close';
        transition: all 0.3s;
        letter-spacing: 0.01em;
    }
    /*メインメニュー開閉挙動 ここまで*/
    .header-nav-item,
    .header-nav-sub-opener, .header-nav-item{
        font-size: 18px;
        color: var(--white);
    }
    .header-nav-sub-opener{
        border-top: solid 1px var(--white);
        display: flex;
        justify-content: space-between;
    }
    .header-nav-sub-opener:hover{
        cursor: pointer;
        opacity: .5;
        transition: opacity .3s;
    }
    .header-nav > div{
        width: 100%;
        justify-content: space-between;
        font-size: 17px;
        color: var(--white);
    }
    .header-nav-sub > li > a{color: var(--white);border: unset;border-top: solid 1px var(--white);}
    .header-nav > div > button,
    .header-nav > div > a{
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-top: solid 1px var(--white);
        width: 100%;
        height: auto;
        min-height: 70px;
        padding: 0 30px;
        color: var(--white) !important;
        font-size: 18px;
    }
    .header-nav-sub-opener,
    .header-nav-item{
        width: 100%;
        height: auto;
        min-height: 70px;
        padding: 15px 30px;
    }
    .header-nav-no_pc > a > div{display: flex;align-items: center;}
    .header-nav-sub{
        width: 100%;
        height: 0;
        top: unset;
        z-index: unset;
        overflow: hidden;
        flex-direction: column;
        position: relative;
        background-image: none;
        transition: height 0.3s  allow-discrete;
    }
    .header-nav-sub > li{height: auto;}
    .header-nav-sub > li > a{
        border-left: none;
        border-right: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: var(--text-blue-sub);
        text-align: left;
        font-size: 18px;
    }
    /*タップ可能メニューのアイコン*/
    .header-nav > div > a > span::before,
    .header-nav > div > a > span::after,
    .header-nav-sub > li > a > span::before,
    .header-nav-sub > li > a > span::after{
        content: '';
        display: block;
        height: 1px;
        width: 20px;
        background-color: var(--white);
        border-radius: 1px;
        transform: rotate(33deg);
    }
    .header-nav > div > a > span::after,
    .header-nav-sub > li > a > span::after{transform: rotate(-33deg);margin-top: 10px;margin-right: 4px;}
    /*サブメニューがある要素のアイコン*/
    .header-nav-sub-opener span:before{
        content: '';
        display: block;
        height: 1px;
        width: 24px;
        background-color: var(--white);
        transition: all 0.3s;
        transform: rotate(0deg);
    }
    .header-nav-sub-opener span::after{
        content: '';
        display: block;
        height: 24px;
        width: 1px;
        margin-left: 12px;
        margin-top: -12px;
        background-color: var(--white);
        position: absolute;
        transition: all 0.3s;
        transform: rotate(0deg);
    }
    /*サブメニュー挙動*/
    .header-nav-hassub:has(.list-open) .header-nav-sub{
        overflow: visible;
        height: fit-content;
        opacity: 1;
    }
    .header-nav-hassub:has(.list-open) .header-nav-sub > li > a{
        width: 100%;
        height: auto;
        min-height: 70px;
        padding: 0 30px 0 48px;
    }
    /*サブメニュー開閉アイコン挙動*/
    .header-nav-hassub:has(.list-open) .header-nav-sub-opener span::after{transform: rotate(90deg);transition: all 0.3s;}
    /*サブメニュー挙動 ここまで*/
    .page-home a.nav-selected{color: #86b7da !important;}
    .header-nav a.nav-selected{color: #86b7da !important;}
    /*メインメニュー ここまで*/
    main{padding-top: 60px;}/*headerサイズに合わせて位置調整*/
    .header-nav-sub-opener a{color: var(--white) !important;}
    /*レスポンシブメニュー ここまで*/

    .home__about-box{flex-direction: column;align-items: flex-start;}
    .model-list {justify-content: center;}
    .model-list li{width: calc(100% / 2 - 80px);}
    .home__contact .list__style-1 li{align-items: flex-start;flex-direction: column;gap: 20px;}
    .footer-nav{min-width: unset;}


    .no_sp{display: none;}/*レスポンシブ時のみ表示・適用*/
}

@media only screen and (max-width: 930px) {
    .home__company .link__default{width: 100%;}
    .home__company .link__default::before{width: calc(100% - 60px);}
    .footer-top-contents{flex-direction:column}
    .footer-top{background-position: -1600px;}
    .model-list li{width: 100%; aspect-ratio: unset;}
    .model-list__box{aspect-ratio: unset;}
    .model-list__item{flex-direction: row;transform: unset;width: 50%;min-width: 380px;}
    .model-list__item img{width: 100px;}
    .post-list-technology li{width: calc(100% / 2 - 30px);}
    .page__post-box{flex-direction: column;}
    .page__post-setector-box{width: 100%;}
    .page__post-setector{flex-direction: column;}
    .page__post-setector-headline{padding-top: 0.5em;}

}

@media only screen and (max-width: 768px) {
    .article-box{padding-left: 0;}
    .home__about-text{padding: 60px;}
    .page__contents tr{display: flex;flex-direction: column;}
    .page__contents td, .page__contents th,
    .page__contents td, .page__contents th{border-bottom: none;padding-top: 0;}
    .page-company .page__contents th,
    .page-about .page__contents th{padding-bottom: 1em;min-width: unset;}
    .page-company .page__contents td,
    .page-about .page__contents td{padding-top: 0;}
    .page__contents td:last-child, .page__contents th:last-child{border-bottom: solid 1px var(--line-blue);}
    .page-contact th{width: auto;}
    .page-anchor{flex-direction: column; gap: 20px;}
    .facility-map-list{flex-direction: column;}
    .facility-map-list li{width: 100%;}
    .facility-point-box{flex-direction: column;gap: 16px;align-items: flex-start;}
    .strategy-about__box{flex-direction: column;}
    .strategy-about__box span{width: 100%; height: 1px;}
    .page-strategy .page__contents.strategy-about-w::before, .page-strategy .page__contents.strategy-about-b::before{width: 60%;}
}
@media only screen and (max-width: 680px) {
.home__fv-content{height: calc(100vw * 0.885);}
.home__fv-content-1{display: none;}
.home__fv-content-1__sp{position: absolute; z-index: -1; width: 100%; height: auto;display:block;}
.home__fv-content-2{height: calc(100vw * .7);}
}

@media only screen and (max-width: 520px) {
    .home__article{padding: 100px 32px;}
    .home__article.home__contact{padding: 130px 32px;}
    .home__company-box{padding: 0 32px;}
    .home__article.home__model::before{width: 200px;height: 46px;}
    .home__about-symbol{width: 280px;}
    .footer-top-contents{gap: 40px;}
    .footer-nav{flex-direction: column;gap: 12px;}
    .footer-bottom-contents{flex-direction: column;gap: 16px;}
    .footer-top {background-position: -2300px;}
    .post-list-technology li{width: 100%;}
    .post-list li a{flex-direction: column;align-items: flex-start;gap: 8px;}
    .post__date{min-width: unset;}
    .event-box{flex-direction: column;}
    .event-box img{width: 100%;height: auto;aspect-ratio: 194 / 150;}
    .footer-logo{width: 100%;max-width: 300px;object-fit: contain;}
    .footer-top-contents{padding: 80px 32px;}
    .footer-bottom-contents{padding: 30px 32px;}
    .home__technology .text__headline{padding: 100px 32px;}
    .home__company .text__headline{padding: 0 32px 90px 32px;}
    .page-banner{padding:32px;gap: 12px;}
    h1.page-banner__title {font-size: 32px;}
    .page-banner__title-sub{font-size: 18px;}
    .page-breadcrumbs{padding: 8px 32px;}
    .page__editcontents{padding: 100px 32px;}
    .single__info{padding: 100px 32px 0 32px;}
    .page-single .page__editcontents{padding: 56px 32px 100px 32px;}
    .page-anchor{padding: 100px 32px 0 32px;gap: 18px;}
    .page-technology .page__contents{padding: 100px 32px;}
    .page-faq .page__contents{padding: 100px 32px;}
    .page-news .page__contents{padding: 100px 32px;}
    .page-public .page__contents{padding: 100px 32px;}
    .page-report .page__contents{padding: 100px 32px;}
    .page-events .page__contents{padding: 100px 32px;}
    .page-contact .page__contents{padding: 100px 32px;}
    .page-company .page__contents{padding: 100px 32px;}
    .page-strategy .page__contents{padding: 100px 32px;}
    .company-greetings-box{padding: 20px 32px;}
    .strategy-model-box{padding: 20px 32px;}
    .page-about .page__contents{padding: 100px 32px;}
    .home__about-text{padding: 32px;}
    .model-list__item{flex-direction: column;}
    .strategy-about__box{padding: 32px 32px 33px 32px;}
    .page-single a.link__default::before{width: calc(100% - 64px);}
    .page__editcontents h3::after{width: calc(100% - 64px);}
    .btn__gotop{bottom: 32px;right: 20px;}
}
@media only screen and (max-width: 390px) {
    a.header-logo{width: calc(100% - 80px);}
}
/*-----------------------レスポンシブここまで-----------------------*/


@media print{
  html{
    max-width: 1800px;
    min-width: 600px;
    overflow-x: hidden;
  }
  body{width: 100%; height: auto;}
  .header{
    position: absolute;
    max-width: 1800px;
  }
}