/*
Theme Name: TAMAGAWA-SEIKI 2025
Theme URI: 
Author: 
Author URI: 
Description: 
Version: 1.0
License: 
License URI: 
Tags: 
*/
@charset "utf-8";

/* ===============================
   common style
   =============================== */

:root {
	/* Based Colors */
	--color-primary: #0068B6;
	--color-secondary: #007DC8;
	--color-tertiary: #D9E8F4;
	--color-border-1: #B8B8B8;
	--color-table-header-1: #DFDFDF;
	--color-column-1: #F0F0F0;
	--color-background-1: #F5F5F5;
	--color-accent-1: #BD8023;
	--color-accent-2: #C8384D;
	--color-accent-3: #4E8C26;
	--color-accent-4: #924176;
	--color-accent-5: #E1E5E7;
	/*  */
    --color-main: #0068B6;
    --color-black: #000;
    --color-white: #fff;
	/* ニュースのカテゴリー */
    --color-news-new_products: #C8384D; /* 新製品 */
    --color-news-information: #4E8C26; /* お知らせ */
    --color-news-event: #007DC8; /* イベント */
    --color-news-important: #000000; /* 重要 */
    --content-width: 928px;
    --font-english: "Barlow Semi Condensed", sans-serif;
}

.color_main {
	color:var(--color-main);
}
.color_secondary {
	color:var(--color-secondary);
}
.color_accent2 {
	color:var(--color-accent-2);
}

/* αに対応 */
.alpha,
.font_yu_gothic {
	font-family: "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
}

/* text link onmouse for pc */
@media ( min-width : 768px ) {
	a.text_a:hover {
		opacity:.5;
		transition:.3s;
	}
}


/* ============================================= base */
html {
  font-size: 62.5%; /* ブラウザ標準16pxの62.5% → 1rem = 10px */
}
@media (max-width: 768px) {
  html {
    font-size: 2.6vw;
  }
}
body {
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: var(--color-black);
}

table {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

img {
  max-width: 100%;
  height: auto;
}
.sp {
	display: none !important;
}
@media (max-width: 767px) {
	.sp {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
}
ul {
	list-style-type:none;
	padding: 0;
}

/* ============================================= tap event cancel */
@media (max-width: 767px) {
	a {
		-webkit-tap-highlight-color: transparent; /* iOS / Android Chrome */
		-moz-tap-highlight-color: transparent;    /* 一部古いFirefox系 */
		-ms-touch-action: manipulation;           /* 古いIE系対策 */
		touch-action: manipulation;               /* ダブルタップズーム防止も兼ねる */
		outline: none;                            /* フォーカス枠も消す（必要に応じて） */
	}
}


/* ============================================= header */
.header {
   position: fixed;
   z-index: 10;
   width: 100%;
   top: 0;
   left: 0;
   background-color: var(--color-white);
   height: 10.8rem;
   box-shadow: 0 0.4rem 0.8rem rgba(0,0,0,0.12);
}
.header_logo {
   position: absolute;
   top: 1.5rem;
   display: grid;
   align-items: center;
   padding: 0 0 0 4.1rem;
}
.header_logo a {
   display: block;
   position: relative;
}
.header_logo a span {
   width: 20vw;
   max-width: 20rem;
   position: relative;
   display: block;
}
/* ------------------------------------- for sp */
@media screen and (max-width: 768px) {
   .header {
      height: unset;
   }
   .header_logo {
      position: relative;
      top: 0;
      height: 6.4rem;
      padding: 0 2.4rem;
   }
   .header_logo a span {
      width: 10.4rem;
   }
}

/* ============================================= global_navigation */
.global_navigation_show {
   overflow-y: hidden;
   position: fixed;
   z-index: 5;
}
.global_navigation {
   position: fixed;
   z-index: 20;
   top: 0;
   left: 0;
   width: 100%;
}
.global_navigation .external a span {
   display: inline-block;
   position: relative;
   padding-right: 1.8rem;
   background-repeat: no-repeat;
   background-position: 100% 50%;
   background-size: 1.2rem auto;
   background-image: url("assets/imgs/common/icon_external.svg");
}
.global_navigation a {
   text-decoration: none;
}
.global_navigation em,
.global_navigation i {
   font-style: normal;
}
.global_navigation li {
   list-style: none;
}
.global_navigation_menu {
   margin: 0;
}
#Global-Navigation-Check,
.global_navigation_menu input {
   display: none;
}
.global_navigation_parent {
   position: relative;
}
.global_navigation_parent label a {
   display: inline-block;
}
.global_navigation_child {
   position: absolute;
   width: auto;
   transition: 0.2s;
   display: grid;
   grid-template-rows: 0fr;
}
.global_navigation_child > div,
.global_navigation_child ul {
   overflow: hidden;
}
.global_navigation_child li a {
   line-height: 1.2;
   display: grid;
   align-items: center;
   width: fit-content;
}
.global_navigation_child li a span i {
   display: inline-block;
}
.global_navigation_child li:last-child {
   border: none;
}
/* ------------------------------------- humbergar */
.global_navigation_button {
   display: none;
}
/* ------------------------------------- search */
.global_navigation_search input[type="text"] {
   background-color: transparent;
   border: none;
   outline: none;
   line-height: 1;
   padding: 0 1rem;
   font-size: 1.4rem;
   color: var(--color-white);
}
.global_navigation_search input[type="text"]::placeholder {
   color: rgba(255,255,255,0.5);
}

/* ------------------------------------- for sp */
@media screen and (max-width: 768px) {
   .global_navigation {
      transition: 0.3s;
      color: var(--color-white);
      font-size: 1.6rem;
   }
   .global_navigation a {
      color: var(--color-white);
      line-height: 1;
      position: relative;
   }
   .global_navigation .external a span {
      background-image: url("assets/imgs/common/icon_external_white.svg");
   }
   .global_navigation_wrapper {
      height: 0;
      overflow: hidden;
   }
   .global_navigation_menu {
      display: none;
      padding: 0 2.4rem;
      margin: 0 0 1rem;
   }
   .global_navigation_menu > li > a,
   .global_navigation_menu label {
      display: block;
      position: relative;
      padding: 1.2rem 1.2rem 1.2rem 1.9rem;
   }
   .global_navigation_parent {
      height: auto;
      width: 100%;
   }
   .global_navigation_child {
      position: relative;
      opacity: 1;
      top: 0;
      margin: 0 0 0 2rem;
      left: auto;
      width: auto;
   }
   .global_navigation_child p {
      font-size: 1.8rem;
      font-weight: bold;
      margin-bottom: 1rem;
   }
   .global_navigation_child p:not(:nth-of-type(1)) {
      margin: 2rem 0;      
   }
   .global_navigation_child ul {
      padding: 0;
      margin: 0 0 1rem;
      display: grid;
      gap: 2rem;
   }
   .global_navigation_child ul.f_center {
     margin: 0.5rem 0 1rem;
   }
   .global_navigation_child li a {
      grid-template-columns: 4rem auto;
      gap: 0 1.2rem;
   }
   .global_navigation_child li a > i {
      display: block;
      background-color: var(--color-white);
   }
   #Global-Navigation-Check:checked ~ * .global_navigation_wrapper {
      position: fixed;
      overflow-y: scroll;
      overflow-x: hidden;
      width: 100%;
      height: 100dvh;
      background-color: var(--color-main);
      transition: 0.3s;
      padding: 6.4rem 0 2.4rem;
   }
   #Global-Navigation-Check:checked ~ * .global_navigation_menu {
      display: block;
      opacity: 1;
   }
   #Global-Navigation-Check:checked ~ * .global_navigation_parent {
      max-height: inherit;
      overflow-y: visible;
   }
   #Global-Navigation-Check:checked ~ * .global_navigation_child {
      transition: 0.3s;
   }
   #Global-Navigation input[type="checkbox"]:checked ~ .global_navigation_child {
      grid-template-rows: 1fr;
   }
   .global_navigation_menu > li > a::before,
   .global_navigation_menu label::before {
      position: absolute;
      content: "";
      display: block;
      width: 0.8rem;
      aspect-ratio: 1 / 1;
      left: 0;
      top: calc(50% - 0.4rem);
      transform: rotate(45deg);
      transform-origin: 50% 50%;
      transition: 0.3s;
      border-right: 2px solid var(--color-white);
      border-top: 2px solid var(--color-white);
   }
   .global_navigation_menu input[type="checkbox"]:checked + label::before {
      transform: rotate(135deg);
   }
   /* ------------------------------------- humbergar */
   .global_navigation_button {
      display: block;
      position: fixed;
      top: 0;
      right: 0;
      z-index: 5;
   }
   .global_navigation_button span {
      display: block;
      width: 6.4rem;
      height: 6.4rem;
      background-color: var(--color-main);
   }
   .global_navigation_button span i {
      display: block;
      overflow: hidden;
      width: 1px;
      height: 1px;
   }
   .global_navigation_button span i::before,
   .global_navigation_button span i::after,
   .global_navigation_button span::after {
      position: absolute;
      left: 2rem;
      content:"";
      width: 2.4rem;
      height: 2px;
      background-color: #FFF;
      transition: 0.3s;
   }
   /* ä¸Šã®æ£’ */
   .global_navigation_button span i::before {
      top: 2.5rem;
   }
   #Global-Navigation-Check:checked ~ .global_navigation label.global_navigation_button span i::before {
      top: 3.11rem;
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
   }
   /* ä¸‹ã®æ£’ */
   .global_navigation_button span::after {
      bottom: 2.6rem;
   }
   #Global-Navigation-Check:checked ~ .global_navigation label.global_navigation_button > span::after {
      bottom:3.11rem;
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
   }
   /* ä¸­ã®æ£’ */
   .global_navigation_button span i::after {
      top: calc(3.2rem - 1.5px);
   }
   #Global-Navigation-Check:checked ~ .global_navigation label.global_navigation_button span i::after {
      display: none;
   }
   /* ------------------------------------- search */
   .global_navigation_search_icon {
      display: none;
   }
   .global_navigation_search {
      margin: 0 2.4rem 2.4rem;
      padding: 1.5rem 0;
      background-color: #005AA5;
   }
   .global_navigation_search p {
      display: grid;
      grid-template-columns: 4rem 1fr;
      align-items: center;
   }
   .global_navigation_search p i {
      display: block;
      height: 2rem;
      background-repeat: no-repeat;
      background-position: 56% 50%;
      background-size: 1.5rem auto;
      background-image: url("assets/imgs/common/icon_search_white.svg");
   }
   .global_navigation_search p span {
      border-left: 2px solid var(--color-white);
   }
   .global_navigation_search p i.global_navigation_search_close {
      display: none;
   }
   
   
    .global_navigation_search div.search_outer {
      display: grid;
      grid-template-columns: 4rem 1fr;
      align-items: center;
   }
   .global_navigation_search div.search_outer i {
      display: block;
      height: 2rem;
      background-repeat: no-repeat;
      background-position: 56% 50%;
      background-size: 1.5rem auto;
      background-image: url("assets/imgs/common/icon_search_white.svg");
   }
   .global_navigation_search div.search_outer > div {
      border-left: 1px solid var(--color-white);
   }
   .global_navigation_search div.search_outer i.global_navigation_search_close {
      display: none;
   }
	.global_navigation_search .mt-site-search input[type="search"] {
		width:100%;
		border:none;
		background:none;
		outline: none;
		line-height: 1;
		padding: 0 0 0.2rem 1rem;
		font-size: 1.4rem;
		color: var(--color-white);
	}
	.global_navigation_search .mt-site-search input[type="search"]::placeholder {
	   color: rgba(255,255,255,0.5);
	}
	.global_navigation_search .mt-site-search button {
		display:none;
	}
   
   
   /* ------------------------------------- language */
   .global_navigation_language {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 1rem;
      width: fit-content;
      margin: 0 2.4rem;
      padding: 0;
   }
   .global_navigation_language a,
   .global_navigation_language span {
      line-height: 1;
      display: block;
      padding: 1rem 1.5rem;
      border: 1px solid var(--color-white);
   }
   .global_navigation_language span {
      opacity: 0.5;
   }
}
/* ------------------------------------- for tablet and PC */
@media screen and (min-width: 769px) {
   #Global-Navigation {
      position: relative;
      z-index: 99;
      display: flex;
      width: fit-content;
      margin: 2.7rem 0 0 auto;
      align-items: start;
   }
   .global_navigation_menu > li {
      margin: 0 0.5rem;
   }
   .global_navigation_parent > label span,
   .global_navigation_menu > li > a {
      padding: 1.2rem 0.5rem;
      color: #3a3a3a;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1;
      display: block;
   }
   .global_navigation_menu > li.global_navigation_parent {
      padding-bottom: 0;
   }
   .global_navigation_parent > label {
      margin-bottom: 6rem;
      margin-bottom: 0;
   }
   .global_navigation_home {
      display: none;
   }
   .global_navigation_wrapper {
      display: flex;
   }
   .global_navigation_menu {
      display: flex;
      justify-content: space-between;
      margin-right: 1rem;
   }
   .global_navigation_menu > li label span::after,
   .global_navigation_menu > li a::before,
   .global_navigation_menu > li a::after {
      content: "";
      display: block;
      position: absolute;
   }
   .global_navigation_menu > li label span, 
   .global_navigation_menu > li > a {
      position: relative;
   }
   .global_navigation_menu > li label span::after,
   .global_navigation_menu > li > a::before {
      bottom: 0;
      left: 0;
      width: 0;
      height: 3px;
      background-color: #007DC8;
      transition: 0.3s;
   }
   .global_navigation_menu > li label:hover span::after,
   .global_navigation_menu > li > a:hover::before {
      width: 100%;
   }
   .global_navigation_menu .current a::before,
   .global_navigation_menu .current a:hover::before {
      width: 100%;
      background-color: #9bcbe7;
   }
   .global_navigation_parent {
      flex-grow: 1;
      font-weight: 500;
      white-space: nowrap;
      text-align: center;
      position: unset;
   }
   .global_navigation_parent:last-child {
      border: unset;
   }
   .global_navigation_parent > a {
      transition: 0.3s;
   }
   .global_navigation_parent > a,
   .global_navigation_parent > label {
      display: block;
   }
   .global_navigation_parent > label:hover {
      cursor: pointer;
   }
   .global_navigation_child {
      overflow: hidden;
      position: absolute;
      margin: 0;
      right: 0.5rem;
      width: calc(100vw - 2rem);
      height: 0;
      text-align: left;
      z-index: 10;
      transition: 0.3s;
      opacity: 0;
      transform: translateY(1rem);
   }
   .global_navigation_parent:hover .global_navigation_child {
      position: absolute;
      grid-template-rows: 1fr;
      opacity: 1;
      transform: translateY(0);
      height: auto;
      padding: 10rem 1rem 1rem;
   }
   .global_navigation_child > div {
      position: relative;
      width: 100%;
      background-color: var(--color-white);
      padding: 2rem;
      border-radius: 1.6rem;
      box-shadow: 0 0 2rem rgba(0,0,0,0.1);
   }
   .global_navigation_child p {
      color: var(--color-main);
      font-size: 1.8rem;
      font-weight: bold;
      line-height: 1;
      margin-bottom: 1rem;
   }
   .global_navigation_child p:not(:nth-of-type(1)) {
      margin: 2rem 0 1rem;
   }
   .global_navigation_child ul {
      display: grid;
      grid-template-columns: 34% 32% 34%;
      gap: 1rem;
      padding: 0 0 0.9rem;
      margin: 0;
   }
   .global_navigation_child ul.f_center {
		display: grid;
		justify-content: center;
		grid-auto-flow: column;
		column-gap: 8rem;
		list-style: none;
		padding: 0;
		margin: 0 auto;
		grid-template-columns: auto;
   }
   .global_navigation_child li a {
      font-size: 1.4rem;
      grid-template-columns: 7rem 1fr;
      gap: 0 1rem;
      color: var(--color-black);
   }
   .global_navigation_child li a span {
      position: relative;
      transition: 0.3s;
   }
   .global_navigation_child li a span::after {
      content: "";
      display: block;
      position: absolute;
      bottom: -0.8rem;
      left: 0;
      width: 0;
      height: 2px;
      background-color: var(--color-main);
      transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   }
   .global_navigation_child li a:hover span {
      opacity: 0.7;
      transform: translateY(-0.2rem);
      padding-bottom: 0.2rem;
   }
   .global_navigation_child li a:hover span::after {
      width: 100%;
   }
   .global_navigation_child li span i {
      display: block !important;
   }
   /* ------------------------------------- search */
   .global_navigation_search_icon {
      display: block;
      position: absolute;
      cursor: pointer;
      right: 4.6em;
      top: 4rem;
   }
   .global_navigation_search_icon.active {
      cursor: unset;
   }
   .global_navigation_search_icon i {
      width: 4.5rem;
      height: 4.5rem;
      display: block;
      background-repeat: no-repeat;
      background-position: 50% 40%;
      background-size: 1.83rem auto;
      background-image: url("assets/imgs/common/icon_search.svg");
      transition: 0.3s;
   }
   .global_navigation_search_icon.active i,
   .global_navigation_search_icon:hover i {
      filter: brightness(0.5) invert(1) saturate(0);
   }
   .global_navigation_search {
      position: absolute;
      top: 8.2rem;
      right: 0;
      background-color: var(--color-main);
      z-index: 15;
      overflow: hidden;
      width: 0;
      transition: 0.3s;
   }
   .global_navigation_search.active {
      width: 33rem;
   }
   .global_navigation_search p {
      padding: 1.2rem;
      display: grid;
      grid-template-columns: 3rem 1fr 3rem;
      align-items: center;
   }
   .global_navigation_search p i {
      display: block;
   }
   .global_navigation_search p i:nth-of-type(1) {
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
      background-position: 100% 50%;
      background-size: 2rem auto;
      background-image: url("assets/imgs/common/search_arrow.svg");
   }
   .global_navigation_search input[type="text"] {
      width: 22.5rem;
   }
   .global_navigation_search_close {
      cursor: pointer;
      height: 3rem;
      text-align: center;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1.2rem;
      background-image: url("assets/imgs/common/search_close.svg");
   }
   
   
   
   .global_navigation_search div.search_outer {
      padding: 1.2rem;
      display: grid;
      grid-template-columns: 3rem 1fr 3rem;
      align-items: center;
   }
   .global_navigation_search div.search_outer i {
      display: block;
   }
   .global_navigation_search div.search_outer i:nth-of-type(1) {
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
      background-position: 100% 50%;
      background-size: 2rem auto;
      background-image: url("assets/imgs/common/search_arrow.svg");
   }
   .global_navigation_search .mt-site-search {
      width: 22.5rem;
   }
	.global_navigation_search .mt-site-search input[type="search"] {
		width:100%;
		border:none;
		background:none;
		outline: none;
		line-height: 1;
		padding: 0 0 0.5rem 1rem;
		font-size: 1.4rem;
		color: var(--color-white);
	}
	.global_navigation_search .mt-site-search input[type="search"]::placeholder {
	   color: rgba(255,255,255,0.5);
	}
	.global_navigation_search .mt-site-search button {
		display:none;
	}
   
   
   
   /* ------------------------------------- language */
   .global_navigation_language {
      position: absolute;
      top: 3.2rem;
      right: 2rem;
      height: 3rem;
      overflow: hidden;
      padding: 0;
      display: grid;
      text-align: left;
      font-size: 1.4rem;
   }
   .global_navigation_language::before {
      content: "";
      display: block;
      position: absolute;
      width: 1rem;
      aspect-ratio: 10 / 5;
      background-color: #3a3a3a;
      right: 0;
      top: calc(50% - 0.5rem);
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      transition: 0.3s;
   }
   .global_navigation_language li {
      position: relative;
      margin: 0;
      width: 3.5rem;
      height: 3rem;
      display: grid;
      align-items: center;
      line-height: 1;
   }
   .global_navigation_language li a,
   .global_navigation_language li span {
      display: block;
      color: #3a3a3a;
      padding-bottom: 0.3rem;
   }
   .global_navigation_language li a {
      border-bottom: 1px solid #3a3a3a;
      opacity: 0;
      transition: 0.3s;
   }
   .global_navigation_language:hover .current {
      display: none;
   }
   .global_navigation_language:hover a {
      opacity: 1;
   }
   .global_navigation_language:hover::before {
      top: calc(50% - 0.2rem);
   }
}
/* ------------------------------------- for PC */
@media screen and (min-width: 1280px) {
   .global_navigation {
      padding-top: 0.7rem; /* add */
   }
   .global_navigation_menu {
      margin-right: 0;
   }
   .global_navigation_menu > li {
      margin: 0 1rem;
   }
   .global_navigation_menu > li {
      padding-bottom: 4rem;
   }
   .global_navigation_parent > label span,
   .global_navigation_menu > li > a {
      padding: 1.2rem 1rem;
   }
   .global_navigation_menu > li.global_navigation_parent {
      padding-bottom: 0;
   }
/* ----
   .global_navigation_child {
      right: calc((100vw - 123.6rem) / 2);
      width: 123.6rem;
   }
---- */
   
   .global_navigation_child {
      right: 5vw;
      width: 90vw;
   }
   
   .global_navigation_child > div {
      padding: 3rem 5rem;
   }
   
   .global_navigation_child div.g_inner {
		width:123.6rem;
		max-width:100%;
		margin:0 auto;
	}
   
   .global_navigation_child p {
      margin: 2rem 0;
   }
   .global_navigation_child p:not(:nth-of-type(1)) {
      margin: 2rem 0 1.5rem;
   }
   .global_navigation_child ul {
      grid-template-columns: repeat(4, 1fr);
      gap: 2rem 0;
   }
	.global_navigation_child ul.f_center {
		display: grid;
		justify-content: center;
		grid-auto-flow: column;
		column-gap: 8rem;
		list-style: none;
		padding: 0;
		margin: 0 auto;
		grid-template-columns: auto;
	}
   .global_navigation_menu > li:last-of-type {
      position: relative;
      margin-left: 3rem;
   }
   .global_navigation_menu > li:last-of-type a::before {
      width: 100%;
      height: 0;
      left: 0;
      top: -3.4rem;
      background-color: var(--color-main);
      z-index: -1;
      transition: 0.3s;
   }
   .global_navigation_menu > li:last-of-type a:hover {
      color: var(--color-white);
   }
   .global_navigation_menu > li:last-of-type a:hover::before {
      height: 10.8rem;
   }
   .global_navigation_menu > li:last-of-type a::after {
      width: 2px;
      height: 2rem;
      left: -2rem;
      top: 1rem;
      background-color: #3a3a3a;
   }
   /* ------------------------------------- search */
   .global_navigation_search_icon {
      position: relative;
      right: unset;
      top: unset;
      height: 4.5rem;
   }
   .global_navigation_search {
      top: 8.2rem;
   }
   /* ------------------------------------- language */
   .global_navigation_language {
      position: relative;
      right: unset;
      top: unset;
      margin: 0.5rem 3rem 0 1rem;
   }
}

/* ============================================= subpage */
body.subpage{
	padding: 110px 0 0;
}
/* ------------------------------------- for sp */
@media ( max-width : 767px ) {
	body.subpage{
		/* padding: 75px 0 0; */
		padding: 7.5rem 0 0;
	}
}

/* ============================================= breadcrumb */
#breadcrumbs {
	padding: 32px 0;
}

.breadcrumbs {
	max-width: 1260px;
	width: 90%;
	margin: auto;
}

.breadcrumbs > span {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.breadcrumbs span,
.breadcrumbs a {
	font-size: 1.2rem;
	color: #848383;
	text-decoration: none;
}

.breadcrumbs .breadcrumb_last {
	color: #2F2F2F;
}

/* ------------------------------------- for pc */
@media ( min-width : 768px ) {
	.breadcrumbs a:hover {
		color:var(--color-secondary);
	}
}

/* ------------------------------------- for sp */
@media ( max-width : 767px ) {
	#breadcrumbs {
		padding: 14px 0;
	}
	.breadcrumbs > span {
		gap: 2px 10px;
	}
}


/* ============================================= footer */
.footer {
  position: relative;
  background-color: #f5f5f5;
  padding: 3.3rem 1em 3.6rem;
}
.footer_container {
  margin: 0 auto;
  max-width: 1316px;
  display: grid;
  grid-template-columns: 39.3rem 1fr;
  gap: 2rem 0;
  align-items: center;
}
.footer_logo {
  padding: 2rem 0.5rem;
  display: grid;
  grid-template-columns: 18rem 1fr;
  gap: 0 2.4rem;
  align-items: center;
}
.footer_logo span:nth-of-type(1) {
  padding-right: 2.4rem;
  border-right: 1px solid #B8B8B8;
}
.footer_navigation {
  margin: 0;
  padding: 0;
  text-align: right;
}
.footer_navigation li {
  display: inline-block;
  font-size: 1.4rem;
  margin-left: 3.2rem;
}
.footer_navigation a {
  /* color: #8C8C8C;
  color: #7a7a7a; */
  color: var(--color-black);
  text-decoration: none;
}
.footer_copyright {
  font-size: 1rem;
  line-height: 1;
}
/* ------------------------------------- for sp */
@media screen and (max-width: 768px) {
  .footer {
    padding: 2.4rem;
  }
  .footer_container {
    margin: 0;
    max-width: unset;
    grid-template-columns: 1fr;
    align-items: unset;
  }
  .footer_logo {
    width: 16rem;
    padding: 0;
    grid-template-columns: 1fr;
    gap: 1.4rem;
    align-items: unset;
  }
  .footer_logo span:nth-of-type(1) {
    border-right: 0 none;
    padding: 0;
  }
  .footer_navigation {
    margin: 0;
    padding: 0;
    text-align: left;
    display: grid;
    gap: 0.4rem 0;
  }
  .footer_navigation li {
    display: block;
    font-size: 1rem;
    margin-left: unset;
  }
}


/* ============================================= common page title */
.common_pages .common_visual {
	width:1260px;
	max-width:90%;
	margin:0 auto;
	padding:30px 40px;
	background:url(assets/imgs/common/main_title_bg_pc.jpg) no-repeat center;
	background-size:cover;
}
.common_pages .common_visual .text h1 {
	text-align:center;
	font-weight:700;
	font-size:30px;
	color: var(--color-primary);
}

/* ------------------------------------- for sp */
@media screen and (max-width: 767px) {
	.common_pages .common_visual {
		width:100%;
		max-width:100%;
		padding:30px 10%;
		background:url(assets/imgs/common/main_title_bg_sp.jpg) no-repeat center;
		background-size:100% auto;
	}
	.common_pages .common_visual .text h1 {
		text-align:left;
		font-size:2.5rem;
	}
}


/* ============================================= page 404 */
.p404 {
	margin:130px auto !important;
	text-align:center;
}
.p404 h2 {
	font-family:var(--font-english);
	font-size:4.8rem;
	line-height:1.05;
}
.p404 p {
	margin-top:40px;
}
.p404 div {
	margin-top:130px;
}
/* ------------------------------------- for sp */
@media screen and (max-width: 767px) {
	.p404 {
		margin:80px auto !important;
	}
	.p404 h2 {
		font-size:4.2rem;
	}
	.p404 div {
		margin-top:80px;
	}
}

.top_link_btn {
	padding:0.7rem 1.4rem;
	display:inline-block;
	color:#4d4d4d;
	text-decoration:none;
	font-size:1.4rem;
	line-height:140%;
	border:1px solid #4d4d4d;
	border-radius:7px;
}
.top_link_btn span {
	position:relative;
	padding-right:1.7rem;
	display:inline-block;
}
.top_link_btn span::before {
	content: "";
	display: block;
	position: absolute;
	width: 0.7rem;
	aspect-ratio: 1 / 1;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid #4d4d4d;
	border-top: 2px solid #4d4d4d;
}

/* ------------------------------------- for pc */
@media ( min-width : 768px ) {
	.top_link_btn:hover {
		background:var(--color-main);
		transition:.3s;
		color:var(--color-white);
		border-color:var(--color-main);
	}
	.top_link_btn:hover span::before {
		border-color:var(--color-white);
	}
}


/* ============================================= form input */
@media ( max-width : 767px ) {
	.form_step--input,
	.form_step--confirm {
		overflow-x: hidden;
	}
	.input_inner {
		max-width:100%;
		overflow-x: hidden;
	}
}
