@charset "utf-8";

@media (max-width: 834px) {

/*----------------------------------------------------------------------

  common

----------------------------------------------------------------------*/

body {
  min-width: 0;
  padding-bottom: 1px;
}
.no_sp {
  display: none;
}

 /* 古めのスマホの「高さの再計算（viewport変動）× 末端オーバースクロール」バグ対策 */
/* @media (orientation: landscape) {
  html, body {
    overscroll-behavior-y: none;
  }
} */


/* container
-------------------------------------------------- */
.container_1700 {
  padding: 0 5.3333%;
}
.container_1300 {
  padding: 0 5.3333%;
}
.container_1200 {
  padding: 0 5.3333%;
}
.container_1100 {
  padding: 0 5.3333%;
}
.container_1000 {
  padding: 0 5.3333%;
}
.container_850 {
  padding: 0 5.3333%;
}
.container_750 {
  padding: 0 5.3333%;
}


/* mv (main visual)
-------------------------------------------------- */
.mv .bg_1 {
  height: 125px;
}
.mv .bg_1 .title {
  margin-top: 40px;
}
.mv .English {
  height: 30px;
}
.mv h1 {
  font-size: 1.0625rem; /* 17px */
  margin-top: calc(10px + var(--leading-trim, var(--leading-trim-1_9)));
}
.mv .bg_2 {
  height: 35px;
}




/*----------------------------------------------------------------------

  Header

----------------------------------------------------------------------*/
#header {
  position: static;
  padding-left: 5.3333%;
  height: 60px;
}
#header.HeightMin {
  position: static;
  height: 60px; /* 元の高さに戻す */
  animation: none;
}
#header .left {
  flex-direction: column;
  align-items: flex-end;
}
#header .left .logo {
  width: 162px;
}
#header .left p {
  font-size: 11px;
  margin-left: 0;
}


/* navi ------------------------------- */
#navi {
  padding-bottom: 35px;
  /* padding-bottom: calc((45 / 375) * 100vw); */
  display: flex;
  flex-direction: column;
  width: 70%;
  position: fixed;
  top: 0;
  bottom: 0;
  right: -70%;
  left: auto;
  z-index: 20;
  overflow-y: auto;
  opacity: 0;
  transition: 0.4s;
  scrollbar-width: none;          
  -ms-overflow-style: none;       
}
#navi::-webkit-scrollbar {
  display: none;                  
}
.open #navi {
  right: 0;
  opacity: 1;
}
#navi .visual {
  width: 119px;
}
#navi .blue_bg {
  background-image: url(../images/common/navi_blue_bg.svg);
  background-position: bottom right;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: clamp(60px, -159.4444px + 34.7222dvh, 110px);
  /* 60px_375x632 90px_440x776 */
  padding-bottom: clamp(70px, 5.5728px + 10.1942dvh, 112px);
  /* 70px_375x632 112px_834x1044 */
  padding-right: 5.3333vw;
  padding-left: calc((35 / 375) * 100vw);
}


/* ==== blue_bg_wave ==== */
#navi .blue_bg_wave {
  display: block;
  width: 100%;
  height: auto;
  margin-top: -1px;
}


/* ==== menu ==== */
#navi ul.menu {
  flex-direction: column;
  align-items: flex-start;
  color: #fff;
  font-weight: 500;
  
}
#navi ul.menu li {
  margin-left: 0;
}
#navi ul.menu li a::before {
  background: #fff;
}

#navi ul.menu li:not(:first-child) {
  margin-top: 15px;
}


/* ==== button_list ==== */
#navi ul.button_list {
  margin-top: clamp(35px, -80.3846px + 30.7692vw, 55px);
  /* 35px_375 55px_440 */
  display: block;
}
#navi ul.button_list li a.tel {
  display: block;
  font-size: 1.625rem; /* 26px */
  color: #fff;
  line-height: 1.2;
  margin-top: var(--leading-trim, var(--leading-trim-1_2));
  margin-bottom: var(--leading-trim, var(--leading-trim-1_2));
}
#navi ul.button_list li a.tel span {
  font-size: 70%;
}
#navi ul.button_list li a.mail_button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc((2 / 17) * 1em);
  background-color: #fff;
  border-radius: 4px;
  font-size: 1.0625rem; /* 17px */
  line-height: 1.2;
  padding: calc((8 / 17) * 1em) 15px;
  margin-top: 20px;
  text-align: center;
}
#navi ul.button_list li a.mail_button svg {
  width: 20px;
}
#navi ul.button_list li a.contact_form_button {
  display: block;
  background-color: #fff;
  border-radius: 4px;
  line-height: 1.2;
  padding: calc((8 / 16) * 1em) 15px;
  text-align: center;
  margin-top: 15px;
}


/* ==== company ==== */
#navi .company {
  display: block;
  margin-top: clamp(20px, -95.3846px + 30.7692vw, 40px);
  /* 20px_375 40px_440 */
  padding-right: 5.3333vw;
  padding-left: calc((35 / 375) * 100vw);
}
#navi .company .logo {
  width: calc((175 / 207) * 100%);
  /* width: 175px; */
}
#navi .company p {
  margin-top: calc(7px + var(--leading-trim, var(--leading-trim-1_9)));
}


/* mask
-------------------------------------------------- */
#mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;

  background-image: url(../images/common/hamburger_mask.jpg);
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;

  cursor: pointer;
  z-index: 5;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.open #mask {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0.3s;
}


/* hamburger ------------------------------- */
#hamburger {
  display: block;
  width: 50px;
  height: 50px;
  cursor: pointer;
  position: fixed;
  top: 5px;
  right: calc(5.3333% - 10px);
  z-index: 30;
  transition: 0.2s;
}
#hamburger span {
  display: block;
  width: 30px;
  background-color: #3e3a39;
  position: absolute;
  transition: 0.2s;
}
#hamburger span:nth-child(1) {
  top: 15px;
  right: 10px;
  height: 4px;
}
#hamburger span:nth-child(2) {
  bottom: 15px;
  right: 10px;
  height: 2px;
}

.open #hamburger {
  transform: rotate(270deg);
}
.open #hamburger span {
  background-color: #fff;
}
/* メニュー展開時の背景スクロールロック */
body.open {
  overflow: hidden;
}




/*----------------------------------------------------------------------

  Footer

----------------------------------------------------------------------*/
#footer {
  flex-direction: column-reverse;
}


/* ==== footer up  ==== */
#footer .right {
  width: 100%;
  padding: 40px 5.3333% 50px;
}
#footer .right h2 {
  font-size: 0.9375rem; /* 15px */
}
#footer .right .contact_info {
  margin-top: 30px;
  padding: 0;
}
#footer .right .contact_info .tel_fax {
  gap: 15px 30px;
}

#footer .right .contact_info .tel_fax li {
  font-size: 1.75rem; /* 28px */
}
#footer .right .hours {
  font-size: 0.9375rem; /* 15px */
  margin-top: calc(20px + var(--leading-trim, var(--leading-trim-1_6)));
}

#footer .right .button_list {
  justify-content: left;
  margin-top: 45px;
  gap: 15px 10px;
}
#footer .right .button_list a.mail_button {
  font-size: 1.125rem; /* 18px */
  border-radius: 4px;
  padding: calc((9 / 18) * 1em) 35px;
  gap: 0.4em calc((10 / 18) * 1em);
}
#footer .right .button_list a.mail_button svg {
  width: calc((20 / 18) * 1em);
  transform: translateY(calc((2 / 18) * 1em));
}
#footer .right .button_list a.contact_form_button {
  font-size: 1rem;
  border-radius: 4px;
  padding: calc((10 / 16) * 1em) 35px; 
}


/* ==== footer bottom ==== */
#footer .left_bg {
  width: 100%;
  flex-direction: row-reverse;
}
#footer .left_bg .bg {
  width: 15%;
}
#footer .left {
  width: 85%;
  padding: 30px calc((35 / 375) * 100%) 20px;
  border-top: none;
  border-bottom: none;
}
#footer .left .logo_name p {
  font-size: 0.9375rem; /* 15px */
}
#footer .left .footer_navi {
  margin-top: 30px;
}
#footer .left .content_bottom {
  margin-top: 45px;
}




/*----------------------------------------------------------------------

  top

----------------------------------------------------------------------*/

/* top_mv
-------------------------------------------------- */
#top_mv {
  position: static;
  aspect-ratio: auto;
  overflow: hidden;
}

/* 768 x 1024の縦から適用 */
@media (min-height: 874px) {
  #top_mv .visual,
  #top_mv .visual picture,
  #top_mv .visual img {
  max-height: 77svh;
}
}

#top_mv .text {
  position: static;
  padding: 25px 5.3333%;
}
#top_mv .text p{
  line-height: 1.6;
  margin-top: calc(20px + var(--leading-trim, var(--leading-trim-1_6)));
  margin-bottom: var(--leading-trim, var(--leading-trim-1_6));
}


/* top_news
-------------------------------------------------- */
#top_news {
  padding: 30px 0 50px;
}
#top_news .content {
  gap: 0;
}
#top_news .content h2 {
  font-size: 2.125rem; /* 34px */
}
#top_news .content ul {
  margin-top: 20px;
  padding-left: 0;
  width: 100%;
}
#top_news li:not(:first-child) {
  margin-top: 20px;
}
#top_news li a {
  flex-direction: column;
  gap: 8px 0; /* 上下、左右 */
}


/* top_about_us
-------------------------------------------------- */

#top_about_us .content_1 {
  padding-top: 62px;
  border-top-width: 2px;
}
#top_about_us .title {
  display: block;
  text-align: left;
}
#top_about_us .title .English {
  width: calc((327 / 375) * 100vw);
  /* 327_375 */
  height: auto;
}
#top_about_us .title .English img {
  height: auto;
  width: 100%;
}
#top_about_us .title h2 {
  font-size: 1rem;
  line-height: 1.4;
  padding: 0 20px;
  margin-top: 20px;
}


/* ==== 波なみパート ▼ ==== */
#top_about_us .visual_text_bg {
  height: initial;
  max-height: initial;
  min-height: initial;
}
#top_about_us .visual_text_bg::after {
  width: 100vw;    /* 画面幅いっぱいのサイズにする */
  left: calc(50% - 50vw); /* 親コンテナのpaddingを突き抜けて画面左端にくっつける計算式 */
  background-position-x: 16%;
}
#top_about_us .visual_text {
  flex-direction: column;
  align-items: flex-start;
}
#top_about_us .visual_text::after {
  min-width: inherit;
  margin-left: 0;
}
#top_about_us .visual_text .visual {
  min-width: 232px;
  width: calc((232 / 375) * 100vw);
}
#top_about_us .visual_text .text {
  font-size: 1rem;
  text-align: justify;
  padding: 35px 0;
  margin: 0;
}
/* ==== 波なみパート ▲ ==== */


#top_about_us .content_2 {
  padding-top: 60px;
  padding-bottom: 52px;
  border-bottom-width: 2px;
}
#top_about_us .content_2 .container_1000 {
  padding: 0;
}
#top_about_us .body h3 {
  font-size: clamp(2.625rem, calc((44 / 375) * 100vw), 50px);
/* 42_44_50 */
}
#top_about_us .body ul {
  margin-top: 45px;
}
#top_about_us .body li {
  flex-direction: column;
  align-items: flex-start;
}
#top_about_us .body li.two,
#top_about_us .body li.three {
  margin-top: 45px;
}
#top_about_us .body li .visual {
  width: calc((300 / 335) * 100%);
  max-width: 352px;
  padding-right: 0;
  text-align: left;
}
#top_about_us .body li .visual img {
  width: 100%;
}
#top_about_us .body li .text {
  width: 100%;
  margin-top: 30px;
}
#top_about_us .body li .text p {
  text-align: justify;
  margin-top: calc(30px + var(--leading-trim, var(--leading-trim-1_9)));
}


/* top_service
-------------------------------------------------- */
#top_service {
  padding: 60px 0 60px;
}
#top_service .title_outer {
  justify-content: flex-start;
}
#top_service .title {
  display: block;
  text-align: left;
}
#top_service .title .English {
  width: calc((257 / 375) * 100vw);
  /* 257_375 */
  height: auto;
}
#top_service .title .English img {
  height: auto;
  width: 100%;
}
#top_service .title h2 {
  font-size: 1rem;
  line-height: 1.4;
  padding: 0 20px;
  margin-top: 20px;
}


/* ==== 波なみパート ▼ ==== */
#top_service .visual_text_bg {
  height: initial;
  max-height: initial;
  min-height: initial;
}
#top_service .visual_text_bg::after {
  width: 100vw;    /* 画面幅いっぱいのサイズにする */
  left: calc(50% - 50vw); /* 親コンテナのpaddingを突き抜けて画面左端にくっつける計算式 */
  background-position-x: 16%;
  bottom: -10%;
  clip-path: inset(0 0 10% 0);
}
#top_service .visual_text {
  flex-direction: column-reverse;
  align-items: flex-start;
}
#top_service .visual_text::after {
  min-width: inherit;
  margin-left: 0;
}
#top_service .visual_text .visual {
  min-width: 232px;
  width: calc((232 / 375) * 100vw);
}
#top_service .visual_text .text {
  font-size: 1rem;
  text-align: justify;
  padding: 35px 0;
  margin: 0;
}
/* ==== 波なみパート ▲ ==== */


#top_service .body {
  margin-top: 0;
  padding-left: 0;
  padding-top: 60px;
}
#top_service .body h3 {
  font-size: clamp(2.625rem, calc((44 / 375) * 100vw), 50px);
/* 42_44_50 */
}
#top_service .body ul {
  margin-top: 40px;
  padding-left: 0;
}
#top_service .body li {
  flex-direction: column;
  align-items: flex-start;
}
#top_service .body li:not(:first-child) {
  margin-top: 45px;
}
#top_service .body li .visual {
  width: calc((256 / 375) * 100%);
  padding-right: 0;
  text-align: left;
}
#top_service .body li .text {
  width: 100%;
  margin-top: 20px;
}
#top_service .body li .text p {
  margin-top: calc(20px + var(--leading-trim, var(--leading-trim-1_9)));
}


/* top_products
-------------------------------------------------- */
#top_products {
  padding-bottom: 65px;
}
#top_products .title_bg_container { 
  height: calc((250 / 375) * 100vw);
}
#top_products .title_bg img {
  object-position: 8% 0;
}
#top_products .title {
  text-align: left;
}
#top_products .title .English {
  width: calc((280 / 375) * 100vw);
  height: auto;
}
#top_products .title .English img {
  width: 100%;
  height: auto;
}
#top_products .title h2 {
  margin-top: calc(20px + var(--leading-trim, var(--leading-trim-1_9)));
}

#top_products .body {
  padding-top: 40px;
}
#top_products .body .intro {
  font-size: 1.0625rem; /* 17 */
  text-align: justify;
}
#top_products .body ul {
  flex-direction: column;
  margin-top: 55px;
}
#top_products .body ul li {
  width: 100%;
}
#top_products .body ul li.one {
  padding-right: 0;
}
#top_products .body ul li.two {
  padding-left: 0;
  margin-top: 55px;
}
#top_products .body ul li h3 {
  font-size: 1.25rem; /* 20 */
  padding: 9px 34px;
  border-radius: 25px;
}
#top_products .body ul li p {
  margin-top: calc(30px + var(--leading-trim, var(--leading-trim-1_9)));
  word-break: auto-phrase;
}
#top_products .body ul li .grid_bg {
  margin-top: 30px;
}
#top_products .body .button_container {
  margin-top: 50px;
}
#top_products .body .button {
  padding: 19px 35px;
}




/*----------------------------------------------------------------------

  products

----------------------------------------------------------------------*/

/* products_intro
-------------------------------------------------- */
#products_intro {
  padding: 60px 0 60px;
}
#products_intro p {
  font-size: 1.0625rem; /* 17px */
  text-align: justify;
  line-height: 2.1;
  margin-top: var(--leading-trim, var(--leading-trim-2_1));
  margin-bottom: var(--leading-trim, var(--leading-trim-2_1));
}


/* products_items
-------------------------------------------------- */

/* ==== intro ==== */
#products_items {
  padding-bottom: 50px;
}
#products_items .item .intro h2 {
  font-size: 1.25rem; /* 20 */
  border: 2px solid var(--orange_1);
  border-radius: 25px;
  padding: 9px 34px;
}
#products_items .item .intro p {
  word-break: auto-phrase;
  margin-top: calc(30px + var(--leading-trim, var(--leading-trim-1_7)));
}
#products_items .item .intro .grid_bg {
  display: flex;
  justify-content: center;
  margin-top: 35px;
}
#products_items .item .intro .grid_bg .visual {
  position: static;
  transform: none;
  width: 90%;
  height: auto;
}
#products_items .item .intro .grid_bg > svg {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  z-index: -5;
}
#products_items .item .intro .grid_bg > svg .bg line {
  stroke-width: 1px; 
  stroke: var(--orange_1);
}
/* two */
#products_items .item.two {
  padding-top: 60px;
}
#products_items .item.two .intro .grid_bg .visual {
  width: 68%;
}


/* ==== spec ==== */
#products_items .item .spec {
  margin-top: 45px;
}
#products_items .item .content {
  flex-direction: column;
  row-gap: 40px;
}
#products_items .item .spec .left,
#products_items .item .spec .right {
  width: 100%;
}
#products_items .item .spec .title h3 {
  font-size: 1.125rem; /* 18px */
  padding: 0 15px;
  border-left-width: 4px;
}
#products_items .item .spec ol {
  margin-top: calc(25px + var(--leading-trim, var(--leading-trim-1_9)));
}
#products_items .item .spec p {
  margin-top: calc(25px + var(--leading-trim, var(--leading-trim-1_9)));
}


/* ==== video ==== */
#products_items .item .video {
  padding: 40px 5.3333% 45px;
  /* ↑ video 設置後は上記の値を採用する*/
  /* padding: 45px 0 0; */
  /* ↑ video 設置が不要な時は上記の値を採用する*/
}
/* two */
#products_items .item.two .video {
  padding: 45px 0 0;
}


/* ==== gallery ==== */
#products_items .item .gallery {
  background-color: var(--grey_light_1);
  padding: 0 0 25px;
}
#products_items .item .gallery ul{
  grid-template-columns: repeat(2, 1fr);
  column-gap: clamp(10px, calc((10 / 375) * 100vw), 15px);
  row-gap: clamp(15px, calc(15 / 375 * 100vw), 25px);
  margin-top: 8px;
}
#products_items .item .gallery ul li figcaption {
  font-size: 0.875rem; /* 14px */
  margin-top: calc(0.5em + var(--leading-trim, var(--leading-trim-1_9)));
}




/*----------------------------------------------------------------------

  company

----------------------------------------------------------------------*/

/* company_mv
-------------------------------------------------- */

#company_mv .English {
  height: 37px;
}
#company_mv h1 {
  margin-top: calc(5px + var(--leading-trim, var(--leading-trim-1_9)));
}


/* company_profile
-------------------------------------------------- */
#company_profile .title {
  text-align: center;
  padding: 60px 0 30px;
}
#company_profile .title .English {
  font-size: 4.0625rem; /* 65px */
  line-height: 1;
  margin: 0;
}
#company_profile .title h2 {
  font-size: 1rem;
  line-height: 1.4;
  padding: 0 42px;
  margin-top: 20px;
}

#company_profile .info {
  padding: 35px 0 35px;
}

#company_profile .info dl dt {
  width: 100%;
  border-bottom: none;
  padding: 20px 0 0px;
}
#company_profile .info dl dd {
  width: 100%;
  padding-top: 0;
  padding-bottom: 25px;
}
#company_profile .info dl dd .location_info {
  flex-direction: column;
  margin-top: 15px;
}
#company_profile .info dl dd .location_info.two {
  margin-top: 15px;
}
#company_profile .info dl dd .location_info .place,
#company_profile .info dl dd .location_info .postal,
#company_profile .info dl dd .location_info .address_tel {
  width: 100%;
} 

#company_profile .visual_content {
  padding: 0 5.3333%;
}
#company_profile .visual_content .container_1300 {
  padding: 30px 0 40px;
  border-bottom-width: 2px;
}
#company_profile .visual_content .figures {
  margin-bottom: clamp(123px, 23.3891px + 31.1284vw, 283px);
  /* 123_320 283_834 */
}
#company_profile .visual_content .figures figcaption {
  padding: 8px 20px 10px;
}

#company_profile .visual_content .figures .figure_1 {
  width: calc(100% - (20 / 335 * 100%));
}
#company_profile .visual_content .figures .figure_1 img {
  /* width: calc((600 / 814) * 100%); */
  width: 100%;
  /* background-color: unset; */
  padding: 20px;
}
#company_profile .visual_content .figures .figure_2 {
  width: 45%;
  top: calc(100% - 25px);
}


/* company_access
-------------------------------------------------- */
#company_access .title {
  padding: 40px 0 30px;
}
#company_access .title .English {
  font-size: 4.0625rem; /* 65px */
  line-height: 1;
  margin: 0;
}
#company_access .title h2 {
  font-size: 1rem;
  line-height: 1.4;
  padding: 0 42px;
  margin-top: 20px;
}
#company_access .google_maps {
  padding: 30px 0 38px;
}
#company_access .google_maps .content {
  align-items: stretch;
}
#company_access .google_maps .location_info {
  flex-direction: column;
  margin-top: 25px;
}
#company_access .google_maps .location_info .place,
#company_access .google_maps .location_info .postal {
  padding-right: 0;
  margin: 0;
}
#company_access .google_maps .location_info .address_tel {
  line-height: 1.9;
  margin: 0;
}
#company_access .google_maps .content.two {
  margin-top: 40px;
}


/* company_plants
-------------------------------------------------- */
.company_plants{
  padding: 45px 0;
}
.company_plants {
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10px, calc((10 / 375) * 100vw), 15px);
}




/*----------------------------------------------------------------------

  news

----------------------------------------------------------------------*/

/* news_mv
-------------------------------------------------- */
#news_mv .English {
  height: 30px;
}


/* news_list
-------------------------------------------------- */
#news_list {
  padding: 60px 0 45px;
}
#news_list li a {
  flex-direction: column;
  padding: 25px 0 35px;
}
#news_list li.no_news {
  padding: 25px 0 35px;
}
#news_list li a h2 {
  width: 100%;
  margin-top: calc(15px + var(--leading-trim, var(--leading-trim-1_7)));
  text-align: justify;
}


/* pagination
-------------------------------------------------- */
#news_list .pagination {
  margin-top: 20px;
}




/*----------------------------------------------------------------------

  single

----------------------------------------------------------------------*/
#single_mv {
  padding-bottom: 30px;
}
#single_body {
  padding: 60px 0 55px;
}
#single_body .content {
  padding-bottom: 60px;
}
#single_body .content h1 {
  font-size: 1.4375rem; /* 23px */
  margin-top: calc(15px + var(--leading-trim, var(--leading-trim-1_7)));
}
#single_body .content .main_content {
  padding-top: 40px;
}

#single_body .pagination {
  flex-direction: column-reverse;
  align-items: normal;
  margin-top: 10px;
  font-size: 15px;
}
#single_body .pagination .back_next {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
#single_body .pagination .next {
  margin-left: 0;
}




/*----------------------------------------------------------------------

  contact

----------------------------------------------------------------------*/

/* contact_tel_fax
-------------------------------------------------- */
#contact_tel_fax {
  padding: 55px 0 60px;
}
#contact_tel_fax .left_right {
  flex-direction: column;
  /* text-align: center; */
}
#contact_tel_fax h2 {
  font-size: 1rem;
  width: 100%;
}
#contact_tel_fax .right {
  width: 100%;
  padding-bottom: 0;
  padding-left: 0;
  border-left: none;
  margin-top: 30px;
}
#contact_tel_fax .right ul {
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
  column-gap: 30px;
}
#contact_tel_fax .right .tel,
#contact_tel_fax .right .fax {
  font-size: 2.25rem; /* 36px */
}
#contact_tel_fax .right .fax {
  margin-top: var(--leading-trim, var(--leading-trim-1_3));
}
#contact_tel_fax .right .tel span,
#contact_tel_fax .right .fax span {
  margin-right: 10px;
}
#contact_tel_fax .right .business_hours {
  font-size: 0.9375rem; /* 15px */
  line-height: 1.6;
  margin-top: calc(30px + var(--leading-trim, var(--leading-trim-1_6)));
  margin-bottom: var(--leading-trim, var(--leading-trim-1_6));
}


/* contact_form
-------------------------------------------------- */
#contact_form {
  padding: 40px 0;
  scroll-margin-top: 0;
}
#contact_form h2 {
  font-size: 1.125rem; /* 18px */
}
#contact_form .content {
  padding: 25px 5.9701% 40px;
  margin-top: 30px;
}


/* ==== input_list ==== */
#contact_form .input_list dt:not(:first-child) {
  margin-top: calc(25px + var(--leading-trim, var(--leading-trim-1_9)));
}
input[type="text"],
input[type="email"],
input[type="tel"] {
  padding: 10px 10px;
  border-radius: 3px;
}
textarea {
  padding: 10px 10px;
  height: 280px;
}
#contact_form .privacy_policy {
  margin-top: 55px;
  font-size: 0.8125rem; /* 13px */
}


/* ==== submit_button ==== */
#contact_form .submit_button_container {
  margin-top: 30px;
}
#contact_form .submit_button::after {
  right: -17%;
}
#contact_form .submit_button input {
  padding: 22px 68px;
}


/* contact_visual
-------------------------------------------------- */
#contact_visual {
  padding: 40px 0;
}




/*----------------------------------------------------------------------

  privacy

----------------------------------------------------------------------*/
#privacy {
  padding: 60px 0 60px;
}
#privacy .container_850 {
  padding: 0 5.9702%;
}
#privacy .content {
  padding: 50px 0 50px;
}
#privacy p {
  text-align: justify;
}
#privacy .content h1 {
  font-size: 1.75rem; /* 28px */
}
#privacy .content .intro {
  margin-top: calc(40px + var(--leading-trim, var(--leading-trim-1_9)));
}
/* #privacy .content .item {
  padding-top: 40px;
} */
#privacy .content .item h2 {
  font-size: 1.125rem; /* 18px */
}


}