/*
Theme Name: ISSHIN_B2B
Theme URI: https://example.com/
Author: OpenAI
Author URI: https://openai.com/
Description: ISSHIN_B2B用オリジナルテーマ
Version: 1.0.0
Text Domain: isshin-b2b.topSev-Box
*/

/* =========================================================
   Reset / Base
========================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

.fqbun {
    margin: 30px 10px 0 10px;
    font-size: 18px;
    line-height: 1.6;
}

.wsp-pages-title{
	display:none;
}

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

html {
  scroll-behavior: smooth;
}

main.l-main {
    width: 95%;
	max-width:1200px;
    margin: 190px auto 40px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    padding: 40px;
}

.breadcrumbs > span {
    margin: 5px;
}

h1.entry-title {
    text-align: center;
    font-size: 36px;
    color: #666;
    font-weight: 600;
}

table.col-head-type1.takgaiyouTable {
    margin: 0px auto 0;
    border-spacing: 0;
    border: 1px solid #cbcbcb;
    border-collapse: collapse;
}

.breadcrumbs {
    font-size: 14px;
}

img.alignnone.size-full.wp-image-489 {
    width: 50%;
	margin: 0px 0 10px 0;
}

.fqcontents {
    margin: 10px auto 0;
	max-width:900px;
}

.takgaiyouTable th {
    border: 1px solid #cbcbcb;
    text-align: right;
    padding: 8px 10px 3px 10px;
}

.takgaiyouTable td {
    border: 1px solid #cbcbcb;
    padding: 8px 10px 3px 10px;
}

img.takLogoImg {
    height: 1em;
    margin-top: 7px;
    margin-bottom: 7px;
    width: auto;
}


body {
  margin: 0;
  color: #303030;
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 400;
font-style: normal;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body {
  /* iOSの回転時における文字サイズの自動調整を無効化（100%のまま維持）する */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}


img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.25s ease, color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

a:hover {
  opacity: 0.72;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
figure {
  margin: 0;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

iframe {
  border: 0;
}

:root {
  --color-text: #111111;
  --color-sub: #777777;
  --color-border: #dddddd;
  --color-border-strong: #bdbdbd;
  --color-bg-soft: #f7f7f5;
  --color-bg-dark: #151515;
  --color-white: #ffffff;
  --container-wide: 1760px;
  --container: 1360px;
  --header-height: 112px;
  --transition: 0.3s ease;
}

/* =========================================================
   Utility
========================================================= */
.u-pc {
  display: block;
}

.u-sp {
  display: none;
}

@media screen and (max-width: 1024px) {
  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }
}

/* =========================================================
   Common Button
========================================================= */
.c-headerBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 152px;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid #111;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.c-headerBtn--reserve {
  background: #fff;
  color: #111;
}

.c-headerBtn--catalog {
  background: #111;
  color: #fff;
}

/* =========================================================
   Header
========================================================= */
.l-header {
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
  background-color: transparent;
  transition: background-color 0.3s;
}

.l-header.is-scroll,
.page .l-header,
.archive .l-header,
.single .l-header{
  background-color: rgba(0, 0, 0, 0.3);
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: var(--header-height);
  padding: 0 32px;
}

.l-header__logo {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    font-size: 32px;

    padding: 10px;
    height: fit-content;
    border-radius: 5px;
    margin: 20px 0 18px;
	transition:.5s;
}



.l-header__logo img {
    width: 200px;
    height: auto;
}

.l-header__logo > a {
  display: inline-flex;
  align-items: center;
  height: 100%;
}

.l-header__logo .custom-logo-link,
.l-spMenu__logo .custom-logo-link {
  display: inline-flex;
  align-items: center;
}

.l-header__logo .custom-logo,
.l-spMenu__logo .custom-logo,
.l-footer .custom-logo {
	height: 120px;
  width: auto;
}

.l-header__logo-text {
  display: inline-block;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.l-header__main {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 24px;
  min-width: 0;
}

.l-header__nav {
  min-width: 0;
}

.l-header__navList {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px 22px;
	margin-top:30px;
}

.l-header__navList li a {
	color:white;
  display: inline-block;
  position: relative;
  padding: 4px 0;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.l-header__cta {
  display: flex;
  align-items: center;
  gap: 10px;
}

.l-header__tel {
  min-width: 220px;
  text-align: right;
  line-height: 1.4;
}

.l-header__telLabel {
  margin-bottom: 2px;
  color: var(--color-sub);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.l-header__telNumber {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.l-header__telNumber a {
  font-weight: 600;
}

.l-header__meta {
  color: var(--color-sub);
  font-size: 11px;
  letter-spacing: 0.06em;
}

.l-header__menuBtn {
  position: relative;
  width: 52px;
  height: 52px;
  margin-left: auto;
}

.l-header__menuBtn span {
  position: absolute;
  left: 10px;
  width: 32px;
  height: 1px;
  background: #111;
  transition: transform var(--transition), opacity var(--transition);
}

.l-header__menuBtn span:nth-child(1) {
  top: 18px;
}

.l-header__menuBtn span:nth-child(2) {
  top: 26px;
}

.l-header__menuBtn span:nth-child(3) {
  top: 34px;
}


/* =========================================================
   Front Page / FV
========================================================= */

.p-topFv{
	position:relative;
}

.takMes {
    position: absolute;
    right: 75px;
    top: 150px;
    z-index: 123;
    color: white;
    text-align: right;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5;
	width:calc(100% - 80px);
}

.custom-slider {
    position: relative;
    animation-delay: 0.8s;
    width: 100%;
    height: calc(43.75vw + 60px);
}

.custom-slider .slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.2s ease;
    pointer-events: none;
display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border-radius: 5px;
}


/* 表示中 */
.custom-slider .slide.active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

/* 消える時 */
.custom-slider .slide.exit {
    opacity: 0;
}

.custom-slider .slide img {
    width: 100%;
    display: block;
    height: 100%;
    overflow: hidden;
    transform: scale(1);
    object-fit: cover;
}


.p-top {
  overflow: hidden;
}

.p-topFv__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  gap: 24px;
  align-items: end;
  min-height: calc(100vh - var(--header-height));
  padding: 88px 48px 52px;
}

.p-topFv__content {
  max-width: 760px;
}

.p-topFv__copyMain {
  font-size: clamp(48px, 7vw, 104px);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.p-topFv__copySub {
  max-width: 560px;
  margin-top: 28px;
  font-size: 16px;
  line-height: 2;
}

.p-topFv__note {
  margin-top: 18px;
  color: var(--color-sub);
  font-size: 12px;
  line-height: 1.8;
}

.p-topFv__ui {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 28px;
  padding-bottom: 4px;
}

.p-topFv__count {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #111;
  font-size: 14px;
  letter-spacing: 0.16em;
}

.p-topFv__count span:first-child {
  font-size: 28px;
}

.p-topFv__scroll {
  writing-mode: vertical-rl;
  font-size: 12px;
  letter-spacing: 0.18em;
}

.p-topFv__detail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 120px;
  border: 1px solid rgba(17, 17, 17, 0.5);
  border-radius: 50%;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}


.topSev-Box {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    width: 95%;
    margin: 3% auto;
    flex-wrap: wrap;
}

.takSetsuBun {
    width: 100%;
    text-align: center;
    margin: 0 0 -20px 0;
    padding: 0 5%;
}

.takSev-Boxleft {
    width: 32%;
    display: flex;
    flex-wrap: wrap;
background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
	gap: 30px;
	    justify-content: center;
	    align-items: flex-start;
	align-content: flex-start;
}

.takSev-Boxright {
    width: 32%;
background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

.takTitle {
    display: flex;
    width: 100%;
    justify-content: center;
}

.takSev-Boxleft .takTitle{
	margin-bottom:-30px;
}

.takTitle .title {

    text-align: center;
    font-size: 36px;
    color: #666;
    font-weight: 600;
	margin-top:20px;
}

.takTitle123{
	width: 66%;
}

.takTitle456{
	width: 33%;
}

.topSev-Box .item {
width: 90%;
    padding: 0px 0 30px;
    position: relative;
    top: 0;
    left: 0;
}

.topSev-Box .takSev-Boxright .item{
	width:100%;
}

.topSev-Box .item a{
	    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.topSev-Box .item .title {
    font-weight: 400;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 20px;
    line-height: 160%;
    letter-spacing: 4%;
    color:#9d7b33;
}

.topSev-Box .item .image {
    width: 100%;
    aspect-ratio: 340 / 200;
    overflow: hidden;
    border-radius: 5px;
    margin: 5px 0 12px;
	position:relative;
}

.topSev-Box .takSev-Boxright .item .image {
	width:calc(100% - 60px);
}

.topSev-Box .item .image .takImg123 {
    width: 100%;
    height: 100%;
    object-fit: cover;
	transition: transform .5s;
}


.topSev-Box .item .image .takImg123:hover {
    transform: scale(1.3);
    }

.topSev-Box .item .desc {
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 4%;
    text-align: left;
    margin: 0 5px 20px;
}

.topSev-Box .item .desc.takTaisyou {
    font-size: 16px;
    margin: -10px 5px 12px;
    word-break: keep-all;
    overflow-wrap: anywhere;
    padding-left: 2.6em;
    text-indent: -2.6em;
    text-align: left;
}

.u-dot-line.-mid {
    border-bottom: 2px dotted #413126;
    padding-bottom: .05em;
}

.u-dot-line {
    position: relative;
    top: 0;
    left: 0;
}

.js-hover-text {
    position: relative;
    top: 0;
    left: 0;
    display: inline-block;
    perspective: 30em;
    width: 100%;
}

.l-btn-text-arw .inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.l-btn-text-arw .inner>.text {
    font-family: neue-haas-unica, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: -2%;
    color: #303030;
}

/*
.topSev-Box::after, .topSev-Box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #413126 1px, transparent 1px);
    background-size: 3px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.topSev-Box::before {
    top: auto;
    bottom: 0;
}
*/
img.takLogo123 {
    position: absolute;
    bottom: 3%;
    width: 25% !important;
    height: auto !important;
    right: 3%;
    opacity: .7;
	pointer-events: none;
}

.main.div123 {
    grid-area: 2 / 2 / 2 / 3;
    margin: 30px 0 40px;
}

section.p-topRes {
width: 95%;
    padding: 40px 0 10px;
    margin: 3% auto 60px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.1);
}

.l-title__sub {
    position: relative;
    top: 0;
    left: 0;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0px;
    width: 100%;
}

.l-title__sub>.en {
    font-family: neue-haas-unica, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 0%;
    color: #413126;
}

.l-title__sub>.jp {
    font-family: dnp-shuei-ymincho-std, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 36px;
    line-height: 160%;
    letter-spacing: 4%;
    color: #666;
    margin-bottom: 3px;
}


.page-concept__reasons__contents {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    display: flex;
    width: 95%;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
	margin:30px auto 0;
}

.l-title__small {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 15px;
    width: auto;
}

.l-title__small>.en {
    font-family: ivypresto-display, serif;
    font-weight: 400;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 4%;
    color: #007E43;
}

.l-title__small>.jp {
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 30px;
    line-height: 150%;
    letter-spacing: 4%;
}

.l-title__small>.jp .bold {
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 800;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
}

.u-dot-line {
    position: relative;
    top: 0;
    left: 0;
    border-bottom: 3px dotted #413126;
    padding-bottom: .1em;
}

.page-concept__reasons__contents>.main {
    display: flex;
    justify-content: center;
    width: 100%;
}

.page-concept__reasons__contents>.div2 {
    grid-area: 1 / 2 / 2 / 3;
}

.page-concept__reasons__contents>.main .div1 {
    grid-area: 1 / 1 / 2 / 2;
}

.page-concept__reasons__contents>.main .div3 {
    grid-area: 1 / 3 / 2 / 4;
}

.page-concept__reasons__contents>.main .div4 {
    grid-area: 1 / 4 / 2 / 5;
}

.page-concept__reasons__contents>.main .div5 {
    grid-area: 1 / 5 / 2 / 6;
}

.page-concept__reasons__contents>.main .b {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	margin:0 20px;
}

.page-concept__reasons__contents>.main .b::after {
    content: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0.933334L0.93333 0L19.9999 19.0667L19.0666 20L0 0.933334Z' fill='%23303030'/%3E%3Cpath d='M6.05583e-05 19.0667L0.933389 20L20 0.933335L19.0667 9.53674e-07L6.05583e-05 19.0667Z' fill='%23303030'/%3E%3C/svg%3E");
    width: 20px;
    height: 20px;
}

.page-concept__reasons__contents>.main .text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: dnp-shuei-ymincho-std, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 20px;
    line-height: 160%;
    letter-spacing: 4%;
    text-align: center;
    border-radius: 50px;
    background-color: rgba(255,255,255,0.9);
    color: #303030;
    width: 25%;
    padding: 1.5vw 2.5vw;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.page-concept__reasons__contents>.sub {
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    width: 100%;
    font-size: 14px;
    line-height: 165%;
    letter-spacing: 4%;
    text-align: justify;
    color: var(--col_gr_brown);
    margin-top: 23px;
}

.page-concept__reasons__contents>.div3 {
    grid-area: 3 / 2 / 3 / 3;
}

.page-concept__reasons__contents>.sub p:first-child {
    margin-bottom: 14px;
}

.u-dot-line.-small {
    border-bottom: 1px dotted #413126;
    padding-bottom: .05em;
}

.page-concept__reasons__contents>.div1 {
    grid-area: 1 / 1 / 3 / 2;
    padding-left: 50px;
}

.l-title__small {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 15px;
    width: auto;
}


.page-top__office__contents {
    position: relative;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 95%;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}


.page-top__office__contents>.bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.page-top__office__contents>.inner {
    position: relative;
    top: 0;
    left: 0;
}

.l-width__900 {
    width: 90%;
	max-width:1200px;
}


.page-top__office__contents>.inner>.info {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.page-top__office__contents>.inner>.info>.ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #666;
    margin-top: 35px;
    margin-bottom: 6px;
}

.page-top__office__contents>.inner>.info>.ttl>.en {
    font-family: neue-haas-unica, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 4%;
    text-align: center;
    margin-bottom: 9px;
}

.page-top__office__contents>.inner>.info>.ttl>.jp {
    font-family: dnp-shuei-ymincho-std, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 36px;
    line-height: 100%;
    letter-spacing: 4%;
}

.u-dot-3 {
    width: 14px;
    height: 2px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4px;
}

.u-dot-3>div {
    width: 2px;
    height: 2px;
    background-color: #413126;
}

.page-top__office__contents>.inner>.info>.text {
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 4%;
    text-align: center;
    color: #413126;
    margin-top: 28px;
    margin-bottom: 26px;
}

.page-top__office__contents>.inner>.info>.tel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: 19px;
}

.page-top__office__contents>.inner>.info>.tel>.item {
    pointer-events: none;
}

.page-top__office__contents>.inner>.info>.tel>.item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0px;
}

.page-top__office__contents>.inner>.info>.tel>.item>span:first-child {
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 26px;
    line-height: 100%;
    letter-spacing: 4%;
}

.page-top__office__contents>.inner>.info>.tel>.item>span:last-child {
    font-family: neue-haas-unica, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 32px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
}


.page-top__office__contents>.inner>.info>.tel>.item>span {
    color: #303030;
}


.page-top__office__contents>.inner>.info>.sub {
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    line-height: 170%;
    letter-spacing: 4%;
    text-align: center;
    color: #413126;
    margin-bottom: 35px;
}

.page-top__office__contents>.inner>.link {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 45px;
}

.page-top__office__contents>.inner>.link>.btn {
    width: 30%;
}

.l-btn-rect__large {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    padding: 32px 35px;
}

.l-btn-rect__large.-white>.bg {
    background-color: rgba(150,150,150,0.8);
}

.l-btn-rect__large>.bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    overflow: hidden;
}

.l-btn-rect__large.-white>.bg .hoverBg {
    opacity: .15;
}

.l-btn-rect__large>.info {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    column-gap: 10px;
}

.l-btn-rect__large>.info>.left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;
}

.l-btn-rect__large>.info>.left .en {
    font-family: neue-haas-unica, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
}

.l-btn-rect__large>.info>.left .jp {
    font-family: dnp-shuei-ymincho-std, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 4%;
    text-align: center;
    color: var(--col_gr_base);
}

.l-btn-rect__large.-white>.info>.left .en {
    color: #413126;
}

.l-btn-rect__large.-white>.info>.left .jp {
    color:white;
}

.l-btn-rect__large.-white>.info>.right {
    background-color: white;
}
.l-btn-rect__large>.info>.right {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #007E43;
	overflow:hidden;
}

.l-btn-rect__large>.info>.right>.icon {
    width: 12px;
    height: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	background-color: white;
}

.l-btn-rect__large>.info>.right>.icon svg {
    margin-left: 1px;
width: 10px;
    height: 10px;
}

.l-btn-rect__large.-white>.info>.right>.icon>svg>path {
    fill: rgba(150,150,150,0.8) !important;
}

.page-top__office {
    position: relative;
    top: 0;
    left: 0;
    padding-top: 50px;
    padding-bottom: 3%;
}

.cb-post-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: 20px;
}
section.p-topBlog {
    width: 95%;
    margin: 40px auto;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    padding: 20px 40px;
}
section.p-topBlog article.p-post-cards-item {
    background: rgba(0, 0, 0, 0.1);
    padding: 20px 20px 5px;
    margin: 15px 0px 10px;
    display: block;
    overflow: hidden;
    border-radius: 10px;
}

section.p-topBlog .takthumBox {
    overflow: hidden;
    border-radius: 5px;
}

section.p-topBlog .p-post-cards-item__link img {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 1s ease, filter .25s ease, -webkit-transform 1s ease, -webkit-filter .25s ease;
	border-radius:5px;
}

.takBox123 {
    z-index: 2;
    position: relative;
    margin: 10px 5px;
}

a.weblog-cat-label {
    display: inline-block;
    margin: 0px 0 7px -5px;
    font-size: 14px;
    padding: 2px 5px 0;
    border-radius: 2px;
    background: #f5f5f5;
}

.p-cb-post-item-date {
    margin-bottom: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8em;
    font-size: 14px;
    line-height: 1;
}

.p-cb-post-item-title.c-line-clamp.c-hover-color {
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    white-space: normal;
	font-size: 14px;
    line-height: 1.3;
}

section.p-topBlog article.p-post-cards-item:hover img {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    -webkit-filter: brightness(0.9);
    filter: brightness(0.9);
}

.p-news-ticker-button__contents_main.takArrowBox {
    display: flex;
    flex-shrink: 0;
    gap: 10px;
    justify-content: flex-end;
}

a.p-news-ticker-button.takArrow {
    display: flex;
    gap: 10px;
}

.p-news-ticker-button_arrow {
    width: 2em;
    height: 2em;
    overflow: hidden;
}

.p-news-ticker-button_arrow:before {
    content: "";
    position: absolute;
    width: 2em;
    height: 2em;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M531.69-480 361.85-649.85q-5.62-5.61-6-13.77-.39-8.15 6-14.53 6.38-6.39 14.15-6.39 7.77 0 14.15 6.39l175.54 175.53q5.23 5.24 7.35 10.7 2.11 5.46 2.11 11.92t-2.11 11.92q-2.12 5.46-7.35 10.7L390.15-281.85q-5.61 5.62-13.77 6-8.15.39-14.53-6-6.39-6.38-6.39-14.15 0-7.77 6.39-14.15L531.69-480Z"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    animation-fill-mode: both;
    animation-duration: 1.5s;
    animation-timing-function: ease;
    animation-name: none;
    animation-iteration-count: infinite;
}

.p-news-ticker-button__contents {
    margin-top: 2px;
}
/* =========================================================
   Footer
========================================================= */
.l-footer {
	padding: 22px 0 20px;
    background: rgba(0, 0, 0, 0.5);
	color:white;
}

.l-footer__inner {
  width: 94%;
  margin: 0 auto;
	display:flex;
    justify-content: center;
}

.l-footer__topLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
  padding-bottom: 0px;
}

.l-footer__topLinks a {
    font-size: 16px;
    letter-spacing: 0.08em;
    color: white;
    display: flex;
    align-items: center;
    gap: 10px;
}

.l-footer__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 1fr;
  gap: 48px 40px;
  padding: 42px 0 36px;
  border-bottom: 1px solid var(--color-border);
}

.l-footer__heading {
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.l-footer__heading a {
  font-size: inherit;
}

.l-footer__heading--small {
  margin-top: 26px;
}

.l-footer__list {
  display: grid;
  gap: 8px;
}

.l-footer__list + .l-footer__heading {
  margin-top: 28px;
}

.l-footer__list li a {
  display: inline-block;
  color: #222;
  font-size: 14px;
  line-height: 1.8;
}

.l-footer__tel p {
  font-size: 13px;
  line-height: 1.9;
}

.l-footer__sns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-bottom: 24px;
}

.l-footer__sns a {
  display: inline-block;
  font-size: 14px;
  line-height: 1.6;
}

.l-footer__license {
  display: grid;
  gap: 6px;
}

.l-footer__license p {
  color: var(--color-sub);
  font-size: 11px;
  line-height: 1.8;
}

.l-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 20px;
}

.l-footer__backToTop a {
  display: inline-block;
  position: relative;
  padding-right: 18px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.l-footer__backToTop a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  transform: translateY(-30%) rotate(-45deg);
}

.l-footer__copy {
  color: var(--color-sub);
  font-size: 12px;
  letter-spacing: 0.08em;
}

.takFootMen {
font-family: neue-haas-unica, sans-serif;
font-weight: 400;
font-style: normal;
    line-height: 170%;
    letter-spacing: 0%;
    color: #aacda5;
	width:115px;
}

.takPageTop {
    width: 94%;
	margin: 10px auto 0px;
    font-family: neue-haas-unica, sans-serif;
    color: white;
    text-align: right;
}

.takPageTop a {
    color: white;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 100;
    font-size: 14px;
}

.l-footer__topLinks path{
	fill:#999;
	
}

.takCopy {
    width: 94%;
    margin: -26px auto 0;
    text-align: center;
    font-size: 14px;
}

span.icon {
    width: 14px;
    height: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: white;
    border-radius: 50%;
    flex-shrink: 0;
}

.takMapLink{
    font-size: 14px;
    text-align: center;
}


.takMap {
width: calc(100% - 80px);
    margin: 0 auto 38px;
    position: relative;
    height: 510px;
    border-radius: 5px;
    overflow: hidden;
}

.takmapIn {
    height: 100%;
}

.takmapIn .google-bg-map-wrap {
    width: 100%;
	height: 100% !important;
}

/* 全画面時（標準） */
.google-bg-map-wrap div {
  filter: grayscale(5%);
}


.takMapInfo {
    max-width: 1180px;
    position: absolute;
    top: 50%;
    right: 70px;
    background: white;
    padding: 30px;
    width: 380px;
    font-size: 14px;
    transform: translateY(-50%);
}


.takMapInfoImg img {
    width: 75%;
    height: auto;
}

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

.takMapLink .takArrow img {
    margin-bottom: 2px;
}

.google-bg-map-wrap iframe {
    width: 100%;
    height: 100%;
}

span.takArrow {
    margin-left: 5px;
    transition: .5s;
display: inline-flex;
}

.takMapLink .takArrow img {
    margin-bottom: 2px;
}
.takArrow img {
    width: 15px;
    margin-bottom: 4px;
}

.p-info__address {
    margin-bottom: 10px;
    line-height: 1.3;
	font-size:14px;
}

/* =========================================================
   WordPress default helpers
========================================================= */
.custom-logo-link {
  display: inline-block;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
}

.menu,
.sub-menu {
  list-style: none;
}
.sp{
	display:none !important;
}


/* =========================================================
   Tablet
========================================================= */
@media screen and (max-width: 1400px) {
}





/* ハンバーガーボタン初期状態は非表示（PC） */
.l-header__menuBtn {
  display: none;
  position: relative;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 1100;
}
.l-header__menuBtn span {
  position: absolute;
  left: 8px;
  width: 24px;
  height: 2px;
  background: white;
  transition: all 0.3s ease;
}

.l-header__menuBtn span:nth-child(1) {
  top: 12px;
}

.l-header__menuBtn span:nth-child(2) {
  top: 19px;
}

.l-header__menuBtn span:nth-child(3) {
  top: 26px;
}


/* =========================================================
   Small Mobile
========================================================= */
@media screen and (max-width: 1024px) {
	.pc{
		display:none !important;
	}

	.sp{
		display:block !important;
	}
	

  .l-header__menuBtn {
    display: block;
  }

  .l-header__main {
	  display:block;
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 320px;
    height: 100vh;
    background: rgba(0,0,0,0.8);
    box-shadow: -4px 0 12px rgba(0, 0, 0, 0.15);
    transition: right 0.3s ease;
    padding: 60px 24px 24px;
  }

  .l-header__navList {
        flex-direction: column;
        gap: 0px;
        align-items: flex-start;
	  margin-top:0;
  }

  .l-header__navList li {
border-bottom: 1px solid #e5e7eb;
        width: 100%;
  }

.l-header__navList li a {
    width: 100%;
    padding: 20px 0px 18px 5px;
}
	
  /* メニューを開いた状態 */
  .l-header.is-open .l-header__main {
    right: 0;
	  overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* iPhone用 */
  }

	.l-header.is-open .l-header__menuBtn span{
		background-color:#9d7b33;
	}
	
  /* ボタンを×に変形 */
  .l-header.is-open .l-header__menuBtn span:nth-child(1) {
    top: 19px;
    transform: rotate(45deg);
  }

  .l-header.is-open .l-header__menuBtn span:nth-child(2) {
    opacity: 0;
  }

  .l-header.is-open .l-header__menuBtn span:nth-child(3) {
    top: 19px;
    transform: rotate(-45deg);
  }
	
body.is-fixed {
  overflow: hidden;
  height: 100%;
}
	
.l-header__inner {
    padding: 16px;
    min-height: initial;
}
	
.l-header__logo {
    margin: 0;
	padding: 5px;
}
	
.l-header__logo img {
    width: auto;
    height: 40px;
}
	
.custom-slider {
    position: relative;
    animation-delay: 0.8s;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
}
	
.takMes {
    font-size: 24px;
    text-align: left;
    left: 15px;
    bottom: 12px;
    top: initial;
	width:calc(100% - 17px);
}
	
.topSev-Box .item {
    width: 100%;
    padding: 0px 0 20px;
}
	.page-top__office__contents>.inner>.info>.sub{
		margin-bottom:25px;
	}
	
.takTitle.sp {
    margin-top: 15px;
}
	
.topSev-Box .item .image {
    width: 100%;
	    margin: 5px 0 17px;
}
	
.topSev-Box .item .desc.takTaisyou {
    text-align: left;
	font-size:15px;
	margin: -10px 22px 12px;
}
	
.title.takTitle123 {
    font-size: 24px;
    margin: 0 auto;
}

.topSev-Box {
	width:95%;
    margin: 40px auto;
	gap:40px;
}
	
    .cb-post-list {
        display: flex;
        grid-template-columns: 3fr;
        margin: 0px 0;
        flex-direction: column;
        gap: 20px;
    }
	
section.p-topBlog {
    width: 95%;
    margin: 40px auto;
	padding:20px 20px 15px;
}

	
section.p-topBlog article.p-post-cards-item {
    margin: 0;
	height:fit-content;
}
	
.l-title__sub>.jp{
	font-size:24px;
}
	
.page-concept__reasons__contents{
        width: 100%;
        margin-top: 5px;
}
	
.p-news-ticker-button__contents_main.takArrowBox {
    justify-content: center;
    font-size: 14px;
	margin-top:15px;
}
	
a.p-news-ticker-button.takArrow {
    gap: 3px;
}
	
.page-concept__reasons__contents>.main .text {
    font-size: 14px;
    width: 33%;
}
	
.page-concept__reasons__contents>.main .b {
    margin: 0 2px;
}

.page-concept__reasons__contents>.main .b::after {
        transform: scale(0.3);
        width: 10px;
	margin-left:-2px;
}
	
.main.div123 {
    margin: 10px 0 20px;
}
	
section.p-topRes {
    padding: 20px 5px 10px;
	margin-bottom:40px;
}

.page-top__office__contents>.inner>.info>.ttl{
margin-top:30px;
}
	
.page-top__office__contents>.inner>.info>.ttl>.jp{
	font-size:24px;
}

.page-top__office__contents>.inner>.info>.text {
    font-size: 14px;
    line-height: 1.4;
    margin: 10px 0;
}

.page-top__office__contents>.inner>.info>.tel>.item{
	    pointer-events: auto;
}
	
.page-top__office__contents>.inner>.info>.tel>.item>span{
	font-size:24px !important;
}
	
	
.page-top__office__contents>.inner>.info>.tel {
    margin-bottom: 5px;
	gap:8px;
}
	
.l-width__900 {
    width: calc(100% - 50px);
}
	
.page-top__office__contents>.inner>.link {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 45px;
    flex-wrap: wrap;
    gap: 10px;
}
	
.page-top__office__contents>.inner>.link>.btn{
	width:100%;	
        padding: 30px 30px 28px;
}
	
.l-btn-rect__large>.info {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content: flex-start;
    column-gap: 10px;
}
	
.l-btn-rect__large>.info>.right {
    position: absolute;
    right: 0px;
}
	
.takMap {
    width: calc(100% - 50px);
    margin: 0 auto 20px;
    position: relative;
    height: auto;
    border-radius: 5px;
    overflow: hidden;
}
	
.takmapIn {
    height: 200px;
}
	
.takMapInfo {
    margin-top: 15px;
    position: initial;
    transform: initial;
    background: none;
    padding: 0;
    width: 100%;
}
	
.takMapLink.takServLink.sp
 {
    text-align: right;
    padding-right: 5px;
    margin-bottom: 20px;
    padding-top: 5px;
}
	
.l-footer__inner {
    width: 100%;
    margin: 0;
    display: flex;
    justify-content: center;
    padding: 0 30px;
}
	
.l-footer__topLinks {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 0px;
    flex-direction: row;
gap: 10px;
row-gap: 5px;
}
	
.l-footer__topLinks a {
        font-size: 14px;
        letter-spacing: 0.08em;
        color: white;
        display: flex;
        align-items: center;
        width: calc(50% - 17px);
        justify-content: space-between;
	margin-right:10px;
}
	
.takCopy {
margin: 15px auto 5px;
    }
	
.l-footer {
    padding: 25px 0 20px;	
}
	
.takPageTop {
    margin: 15px 30px 0px 0;
}
	
.page-top__office__contents>.inner>.info>.tel>.item>span:last-child {
    font-size: 28px !important;
    margin-top: -2px;
}
	
	
	.topSev-Box .item .image {
    width: calc(100% - 40px) !important;
}
	
	.takSev-Boxleft,
	.takSev-Boxright{
		width:100%;
		padding-top:20px;
		gap:10px;
	}
	
	main.l-main{
		padding:20px 4% 25px;
        margin-top: 120px;
	}
	
	.col-head-type1 tr, .col-head-type1 th, .col-head-type1 td, .col-head-type1 th.takth20 {
        display: block;
        width: auto;
		text-align: left;
    }
	h1.entry-title{
		font-size:24px;
	}
	.fqcontents {
    margin: 10px 0 0;
}
	
.breadcrumbs {
    margin: 0px 0 0 -20px;
    margin-bottom: 10px;
    font-size: 14px;
}
	
	.topSev-Box .item .desc{
		margin: 0 22px 20px;
		font-size:16px;
	}
	
.takSetsuBun {
    width: 100%;
    text-align: center;
    margin: 10px 0 0px 0;
    padding: 0 5%;
}
	
}

@media (min-width: 1024px) {
    .u-br-sp {
        display: none !important;
    }
}