
@charset "UTF-8";
/*-------------------
// setting
---------------------*/

@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic");
	font-weight: 300;
}

@font-face {
	font-family: "Original Yu Gothic";
	font-weight: 500;
}

@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic");
	font-weight: bold;
}

@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}

@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}

html {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}

/* IE10以上 */

html body {
	font-weight: normal;
	background-color: #ffffff;
	line-height: 1.75;
	color: #333333;
}

/*-------------------
// responsive setting
---------------------*/

.mt-container {
	width: auto;
	padding: 0 16px;
	position: relative;
	margin: 0 auto;
}

.invisible {
	display: none;
}

/*-------------------
// header
---------------------*/

.header {
	width: 100%;
	height: 60px;
	display: table;
	background-color: #cccccc;
	z-index: 100;
	line-height: 0;
}

.header h1 {
	font-size: 2rem;
	line-height: 60px;
	padding: 0;
	margin: 0;
}

.header .header__title {
	display: table-cell;
}

.header .header__title img {
	height: 60px;
	padding: 0px;
}

.header .header__navi {
	display: table-cell;
	float: right;
	line-height: 60px;
}

.header .header__navi li {
	margin-right: 1rem;
}

.header .header__navi li:last-child {
	margin-right: 0px;
}

.header__navi li {
	padding: 0px;
	margin: 0px;
	float: left;
	display: inline-block;
}

.drawer-nav-inner{
display:flex;
  justify-content:space-between;
  padding:0 15px;
  @media(min-width:992px) {
	display: none;
  }
}

/*-------------------
// underLayer
---------------------*/

.UL-header {
	width: 100%;
	height: 200px;
	display: block;
}

.UL-mainArea {
	margin: 1rem 0 2rem;
}

/*-------------------
// footer
---------------------*/

.footer {
	font-size: 0.75rem;
}

.copyright {
	text-align: center;
	margin: 12px auto;
}

/*-------------------
// iphome menu
---------------------*/

#navToggle {
	display: none;
	position: absolute;
	right: 20px;
	top: 15px;
	width: 30px;
	height: 25px;
	cursor: pointer;
}

#navToggle div {
	position: relative;
}

#navToggle span {
	display: run-inblock;
	position: absolute;
	width: 100%;
	border-bottom: solid 3px #ffffff;
}

#navToggle span:nth-child(1) {
	top: 0;
}

#navToggle span:nth-child(2) {
	top: 11px;
}

#navToggle span:nth-child(3) {
	top: 22px;
}

/*-------------------
// breadcrumbs list
---------------------*/

.breadcrumbs__list {
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex; /* Safari */
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.breadcrumbs__list li {
	font-size: 0.75rem;
}

.breadcrumbs__list li:after {
	content: ">";
	margin-left: 4px;
}

.breadcrumbs__list li:last-child:after {
	content: "";
}

/*-------------------
// gototop
---------------------*/

.gototop {
	text-align: right;
}

.gototop__link:before {
	content: "\025b2";
}

/*-------------------
// mainpage
---------------------*/

.mainImg {
	margin: 1rem 0 2rem;
}

.mainImg .mt-container {
	padding: 0px;
}

.mainImg__img {
	background-color: #cccccc;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100%;
	height: 160px;
	display: block;
	overflow: hidden;
}

.mainNews {
	margin-bottom: 2rem;
}

.mainNews .mainNews__header {
	font-size: 2em;
	margin-bottom: 0.5rem;
	font-weight: bold;
	border-bottom: 1px solid #cccccc;
}

.mainNews .mainNews__list li {
	margin-bottom: 0.5rem;
}

.mainNews .mainNews__list .mainNews__list--date {
	margin-right: 1rem;
}

.mainPages {
	margin-bottom: 3rem;
}

.mainPages .mainPages__header {
	font-size: 2em;
	margin-bottom: 0.5rem;
	font-weight: bold;
	border-bottom: 1px solid #cccccc;
}

.mainPages .mainPages__cardWrap {
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.mainPages .mainPages__card {
	width: 100%;
	margin: 0.5rem 1rem 1rem 0px;
	border: 1px solid #cccccc;
	padding: 0.5rem;
}

.mainPages .mainPages__title {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 0.25rem;
}

/*-------------------
// entrylist
---------------------*/

.entryList__pagename {
	font-size: 1.25em;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

.entryList__categorylistWrap {
	margin: 0rem 0 3rem 0;
	padding-top: 1rem;
	border-top: 1px solid #cccccc;
}

.entryList__categorylist {
	margin-bottom: 0.5rem;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.entryList__categorylist li:after {
	content: "/";
	padding: 0 4px;
}

.entryList__categorylist li:last-child:after {
	content: "";
}

.entryList__card {
	margin-bottom: 2rem;
}

.entryList__card .entryList__textHead .entryList__category {
	color: #cccccc;
}

.entryList__card .entryList__title {
	font-size: 2em;
	font-weight: bold;
	margin-bottom: 0.5rem;
	line-height: 1.25;
}

.entryList__card .entryList__textWrap {
	margin-bottom: 2rem;
}

.entryList__card .entryList__img {
	margin-left: 0;
	margin-top: 1rem;
}

.entryList__card .entryList__img img {
	width: 100%;
	height: auto;
}

.entryList__naviWrap {
	margin-bottom: 1rem;
}

.entryList__navi {
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.entryList__navi li {
	margin-right: 0.5rem;
}

.entryList__navi li:last-child {
	margin: 0;
}

.entryList__navi .entryList__navi--prev:before {
	content: "\025c0";
}

.entryList__navi .entryList__navi--next:after {
	content: "\025b6";
}

/*-------------------
// entry, pages
---------------------*/

.entry__pagename,
.pages__pagename {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

.entry__category,
.pages__header {
	font-size: 1rem;
}

.entry__category,
.pages__category {
	color: #cccccc;
}

.entry__title,
.pages__title {
	font-size: 1.75rem;
	margin: 1.5rem 0;
	line-height: 1.25;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-moz-text-align-last: left;
	text-align-last: left;
	text-align: justify;
}

.entry__text,
.pages__text {
	margin-bottom: 2rem;
}


/*-------------------
本文内
---------------------*/
.wysiwyg h2 {
	font-size: 1.75rem;
	margin: 1.5rem 0;
	line-height: 1.25;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-moz-text-align-last: left;
	text-align-last: left;
	text-align: justify;
}

.wysiwyg h3 {
	font-size: 1.75em;
	margin-bottom: 0.5em;
	line-height: 1.25;
	font-weight: bold;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-moz-text-align-last: left;
	text-align-last: left;
	text-align: justify;
	padding: 8px;
	border-bottom: 3px double #cccccc;
}

.wysiwyg h4 {
	font-size: 1.5rem;
	margin-bottom: 0.5em;
	padding-left: 0.75rem;
	font-weight: bold;
	border-bottom: 1px solid #cccccc;
	position: relative;
	line-height: 2.25rem;
}

.wysiwyg h4:before {
	content: "";
	width: 4px;
	height: 100%;
	display: block;
	background-color: #cccccc;
	margin-right: 4px;
	position: absolute;
	left: 0px;
	bottom: 0px;
}

.wysiwyg h5 {
	font-size: 1.25em;
	margin-bottom: 0.25em;
	font-weight: bold;
}

.wysiwyg h5:before {
	content: "■";
	margin-right: 4px;
}

.wysiwyg h6 {
	font-size: 1.07em;
	margin-bottom: 0.25em;
	font-weight: bold;
	color: #cccccc;
}

.wysiwyg p {
	margin-bottom: 1rem;
}

.wysiwyg p + h3,
.wysiwyg p + h4,
.wysiwyg p + h5,
.wysiwyg p + h6 {
	margin-top: 2rem;
}

.wysiwyg ul {
	margin-bottom: 1rem;
	margin-left: 1.5rem;
}

.wysiwyg ul li {
	list-style: disc;
}

.wysiwyg ol {
	margin-bottom: 1rem;
	margin-left: 1.5rem;
}

.wysiwyg ol li {
	list-style: decimal;
}

.wysiwyg ul + h3,
.wysiwyg ul + h4,
.wysiwyg ul + h5,
.wysiwyg ul + h6 {
	margin-top: 2rem;
}

.wysiwyg ol + h3,
.wysiwyg ol + h4,
.wysiwyg ol + h5,
.wysiwyg ol + h6 {
	margin-top: 2rem;
}

.wysiwyg blockquote {
	position: relative;
	padding: 1rem;
	background-color: #f6f6f6;
}

.wysiwyg blockquote:before {
	content: "";
	position: absolute;
	width: 2px;
	height: 100%;
	background-color: #cccccc;
	left: 0px;
	top: 0px;
}

.wysiwyg blockquote + h3,
.wysiwyg blockquote + h4,
.wysiwyg blockquote + h5,
.wysiwyg blockquote + h6 {
	margin-top: 2rem;
}

.wysiwyg img {
	margin-bottom: 1rem;
	width: 100%;
	height: auto;
}

.wysiwyg strong {
	font-weight: bold;
}

.wysiwyg table {
	border: 1px solid #333333;
	margin: 0 0 1em;
}

.wysiwyg table th {
	padding: 4px;
	background-color: #cccccc;
	border: 1px solid #333333;
}

.wysiwyg table td {
	padding: 4px;
	border: 1px solid #333333;
}

@media screen and (min-width: 730px) {
.mt-container {
	width: 670px;
}

.mainImg .mt-container {
	width: 698px;
}

.mainImg__img {
	height: 280px;
}

.entryList__card .entryList__img img {
	width: auto;
	max-width: 100%;
}

.wysiwyg img {
	width: auto;
	max-width: 100%;
}
}

@media screen and (min-width: 880px) {
.mt-container {
	width: 820px;
}

.invisible.is-open {
	height: auto;
}

.invisible {
	height: auto;
	display: block;
}

.mainImg .mt-container {
	width: 848px;
}

.mainPages .mainPages__card {
	width: 376px;
}
}

@media screen and (min-width: 960px) {
.mt-container {
	width: 945px;
	padding: 0px;
}

.mainImg .mt-container {
	width: 945px;
}

.mainPages .mainPages__card {
	width: 436px;
}

.entryList__card .entryList__img {
	float: left;
	margin-left: 1rem;
	margin-top: 0;
}
}

@media screen and (max-width: 880px) {
.header .header__navi {
	position: fixed;
	top: 12px;
	right: -500px; /*out of view*/
	width: 400px;
	padding: 0 1rem;
	z-index: 999;
	line-height: 0;
	background-color: #666666;
}

.header__navi li {
	width: 400px;
	border-bottom: 1px solid #ffffff;
	float: none;
}

.header__navi li:last-child {
	border-bottom: none;
}

.header__navi li a {
	padding: 20px 0px;
	display: block;
}

.header__navi li .current,
.header__navi li a:hover {
	background-color: rgba(255, 255, 255, 0);
}

/* Toggle(Button) */

#navToggle {
	z-index: 1000;
	display: block;
}

/* Click Toggle(Button) */

.openNav #navToggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*header menu*/
.openNav .header__navi {
	-webkit-transform: translateX(-300px);
	transform: translateX(-300px);
}
}

/*カスタマイズ*/
@charset "UTF-8";

:where(:root) {
  --color-body-1: #231815;
  --color-theme-1: #82619a;
  --color-theme-2: #e6f3ee;
  --color-gray-1: #bdb8ac;

  --gothic: "Noto Sans JP", sans-serif;
  --mincho: "Noto Serif JP", serif;
  --enfont: "Lusitana", serif;
  --op: 0.6;
  --ts: 0.3s;

  --container: 1200px;
  --padding: 20px;
  --stack: 80px;
  --header: 120px;
  --curve-h: calc(239/1440 * 100vw);

  overflow-wrap: anywhere;
  line-break: strict;
  @media (max-width: 991px) {
    --header: 60px;
    --padding:30px;
  }
}

:where(*, ::before, ::after) {
  --font-size: calc((var(--fs) / 16) * 1rem);
  font-size: var(--font-size);
}

p{
    --font-size: calc((var(--fs) / 16) * 1rem);
  font-size: var(--font-size);
}

:where(b, strong, span, i, em, a, mark, ::before, ::after) {
  font-size: inherit;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--color-body-1);
  font-family: var(--mincho);
}

[id] {
  scroll-margin-top: calc(var(--header) + 60px);
}

img {
  max-width: 100%;
  height: auto;
}

:where(a, button) {
  transition: opacity var(--ts);
  &:hover {
    opacity: var(--op);
  }
}

a {
  color: var(--color-body-1);
  text-decoration: none;
  &:where([href=""], :not([href])) {
    pointer-events: none;
  }
  @media (min-width: 768px) {
    &[href^="tel:"] {
      pointer-events: none;
    }
  }
}

main {
  overflow-x: clip;
}

.animate__animated {
  animation-duration: 1s;
  animation-fill-mode: both;
  animation-delay: 0.5s;
}

.wow:not(.animate__animated) {
  animation-name: none;
  visibility: hidden;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: transLateY(20px);
  }
  100% {
    opacity: 1;
    transform: transLate(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}


.container {
  padding-inline: var(--padding);
  max-width: calc(var(--padding) * 2 + var(--container));
}


 .top-mv  video {
    height: 100vh;
    object-fit: cover;
    width: 100%;
        @media(max-width:991px) {
          height: 100vh;
    }
  }


.header {
  align-items: center;
  background: #fff;
  display: flex;
  justify-content: space-between;
  padding-inline: var(--padding);
  position: sticky;
  top: 0;
  height: var(--header);
  z-index: 5;
  width: 100%;
  @media (min-width: 992px) {
    --padding: 50px;
    transition: .3s;
  }
  @media(max-width:991px) {
    padding-inline:15px;
  }
}

.header.is-active{
	transform: translateY(-100%);
    top: 120px;
    @media(max-width:991px) {
      top:60px;
  }
}
@media(max-width:991px){
body.noscroll{
  .header-logo{
    z-index:9;
    margin-top:15px;
  }
  .header-drawer-toggle{
      z-index:9;
  }
  .header.is-active{
	transform: none;
}
}
}

.header-title {
  display: contents;
}

.header-logo {
  line-height: 1px;
  order: 2;
  position: relative;
  z-index: 11;
  img{
  width:80px;
  }

  svg,img{
    @media(max-width:991px) {
      max-width: 45px;
    }
  }
}

@media(max-width:991px){
body.noscroll{
  .header-logo{
  svg path,
  svg circle{
    fill: #fff;
  }
  }
}
}

.header-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  @media (min-width: 992px) {
    align-items: center;
    gap: 50px;
  }
  @media (max-width: 991px) {
    margin-top: 50px;
    margin-right: 20px;
    margin-left: 20px;
    height: calc(100% - 200px);
    justify-content: center;
    display: flex;
    flex-direction: column;
    li {
      &:not(:last-child) {
        margin-bottom: 60px;
      }
    }
  }
}

.header-item {
  --fs: calc(20 * 0.95);
  display: inline-block;
  font-size: var(--font-size);
  font-weight: 700;
  font-family: var(--enfont);
  color:#545252;
  &:hover {
    text-decoration: underline;
  }
  @media (max-width: 991px) {
    color: #fff;
  }
}

@media (min-width: 992px) {
  .header-drawer,
  .js-drawer {
    display: contents;
  }
  .header-drawer .header,
  .header-drawer-toggle {
    display: none;
  }
}

@media (max-width: 991px) {
  body.noscroll {
    overflow: hidden;
    touch-action: pinch-zoom;
  }
  .header-drawer-toggle {
    --fs: 12;
    aspect-ratio: 1;
    color: #fff;
    background-color: transparent;
    border: 0;
    display: inline-grid;
    font-weight: 700;
    line-height: 1;
    place-content: center;
    place-items: center;
    width: 65px;
    position: relative;
    z-index: 99;
    span {
      display: inline-block;
      background-color: var(--color-theme-1);
      width: 30px;
      height: 2px;
      &:last-child {
        margin-top: 7px;
      }
    }
    @media(max-width:991px) {
      width: 30px;
    }
    &:hover{
      opacity: 1;
    }
  }
  .header-drawer-toggle[aria-expanded="true"] {
    span {
      background-color: #fff;
      &:first-child {
        transform: rotate(45deg);
      }
      &:last-child {
        transform: rotate(-45deg);
        margin-top: -2px;
      }
    }
  }

  .header-drawer {
    background: var(--color-theme-1);
    inset: 0;
    overflow: auto;
    position: fixed;
    transition: opacity 0.3s;
    z-index: 10;
    &:is(body:not(.noscroll) *) {
      opacity: 0;
      visibility: hidden;
      transition:
        opacity 0.3s ease,
        visibility 0s linear 0.3s;
    }
  }
  .header-menu {
    padding: 40px var(--padding);
    display: grid;
    gap: 20px;
    justify-content: center;
    text-align: center;
  }

}

body.noscroll{
  .header-drawer-toggle{
    span{
        background-color: #fff;
            &:first-child {
        transform: rotate(45deg);
      }
      &:last-child {
        transform: rotate(-45deg);
        margin-top: -2px;
      }
    }
  }
}

.footer-copyright {
  --fs: 12;
  text-align: center;
}

.bg-curve {
  background: var(--bg, var(--color-theme-1));
  position: relative;
  &::before {
    --mask: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221440%22%20height%3D%22239%22%20viewBox%3D%220%200%201440%20239%22%3E%3Cpath%20d%3D%22M1439.735%2C0c-.516%2C38.568-261.641%2C99.094-490.469%2C117.246C709.048%2C136.302%2C5.824%2C118.572%2C0%2C239h1440V0Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")
      no-repeat center / 100% 100%;
    aspect-ratio: 1439/239;
    background: var(--bg, var(--color-theme-1));
    content: "";
    display: block;
    -webkit-mask: var(--mask);
    mask: var(--mask);
    width: 100%;
    bottom: calc(100% - 1px);
    position: absolute;
    left: 0;
  }
}

:has(+ .bg-curve) {
  padding-bottom: var(--curve-h);
}

[class*="deco-"] {
  aspect-ratio: 1;
  border-radius: 50%;
  width: 92px;
  position: absolute;
}

@media (max-width: 991px) {
  [class*="deco-"] {
    width: 60px;
  }
}

@media (max-width: 768px) {
  [class*="deco-"] {
    width: 40px;
  }
}

[class*="deco-"] .float {
  display: block;
  border-radius: 50%;
  width: 100%;
  height: 100%;
}

:has(> [class*="deco-"]) {
  position: relative;
}

.section {
  h2 {
    --fs: calc(25 * 0.95);
    font-size: var(--font-size);
    font-weight: 700;
    margin-bottom: 65px;
    font-family: var(--enfont);
    @media (max-width: 768px) {
      --fs: 16;
      margin-bottom: 45px;
    }
  }
}

.std-body{
  line-height: calc(29 / 16);
  letter-spacing: 0.06em;
  color: #545252;
  text-align:justify;
}

.top-intro {
  padding-top: 100px;
  color:#545252;
  [class*="deco-"] span {
    background: var(--color-theme-1);
  }
  .deco-1 {
    right: calc(50% + 410px);
    top: 170px;
  }
  .deco-2 {
    bottom: calc(var(--curve-h) + 30px);
    left: calc(50% + 390px);
    @media (max-width: 991px) {
      left: auto;
      right: 30px;
      bottom: calc(var(--curve-h) + 200px);
    }
    @media (max-width: 575px) {
      bottom: calc(var(--curve-h) + 220px);
    }
  }
  h2 {
    --fs: calc(40 * 0.95);
    font-size: var(--font-size);
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 80px;
    @media (max-width: 768px) {
      --fs: 20;
      margin-bottom: 40px;
      line-height: calc(30 / 20);
    }
  }
  p {
    --fs: calc(22 * 0.95);
    line-height: calc(35 / 22);
    @media (max-width: 768px) {
      --fs: 15;
      letter-spacing:0;
      line-height: calc(30 / 15);
    }
  }
  @media (max-width: 991px) {
    padding-top: 65px;
    padding-bottom: 150px;
  }
    @media (max-width: 768px) {
    padding-bottom: 100px;
  }
}

.top-story {
  --container: 1450px;
  color: #fff;
  padding-top:30px;
  [class*="deco-"] span {
    background: currentColor;
  }
  .deco-1 {
    left: calc(50% + 240px);
    top: 0;
    @media (max-width: 768px) {
      left: 30px;
      top: 50px;
    }
  }
  .deco-2 {
    bottom: calc(190 / 1440 * 100vw);
    right: calc(50% + 270px);
    @media (max-width: 991px) {
      bottom: 50%;
      right: 30px;
    }
       @media (max-width: 768px) {
      bottom: 54%;
    }
  }
  h2 {
        --fs: calc(25 * 0.95);
    @media (max-width: 768px) {
      margin-bottom: 55px;
      --fs:16;
    }
  }
  h3 {
    --fs:calc(28 * 0.95);
    font-size: var(--font-size);
    margin-bottom: 45px;
    font-weight:600;
    &:where(.col *) {
      margin-top: 100px;
      @media(max-width:768px) {
        margin-top: 70px;
      }
    }
    @media(max-width:768px) {
      --fs: 20;
      line-height: calc(30 / 20);
    }
  }
  & .std-body {
    color: rgb(255, 255, 255);
        --fs:calc(16 * 0.95);
    font-weight:500;
     @media(max-width:768px) {
       --fs:15;
       text-align:justify;
    }
  }
  @media(max-width:768px) {
    padding-top: 50px;
    padding-bottom: calc(var(--curve-h) + 50px);
  }
  .d-grid{
    @media(max-width:575px) {
      padding-right: 0;
      padding-left: 0;
    }
  }
}

.top-business {
  /* --bg: var(--color-theme-2); */
  --bg: #fff;
  padding-bottom: calc(var(--curve-h));
  padding-top:30px;
  h2{
    --fs:calc(25 * 0.95);
    color:#545252;
            @media (max-width: 768px) {
            --fs: 16;
        }
  }
  &::before {
    transform: scaleX(-1);
  }
  &::after {
    content: "";
    background-image: url(/images/bg-curve-imagev2.png);
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    width: 100%;
    aspect-ratio: 1800 / 750;
    position: absolute;
    bottom: -20px;
    left: 0;
    @media(max-width:768px) {
      background-image: url(/images/bg-curve-image-sp.png);
      height: 350px;
    }
    @media(max-width:575px) {
      background-image: url(/images/bg-curve-image-sp.png);
      height: 300px;
    }
  }
  [class*="deco-"] span {
    background: var(--color-theme-1);
  }
  .deco-1 {
    top: 200px;
    left: calc(50% + 490px);
    @media (max-width: 1200px) {
      left: auto;
      right: 30px;
    }
    @media(max-width:991px) {
      top: 0;
      left: 30px;
    }
  }
  .deco-2 {
    bottom: calc(var(--curve-h) + 110px);
    right: calc(50% + 500px);
    z-index: 2;
    @media (max-width: 1200px) {
      left: 30px;
      right: auto;
    }
        @media(max-width:768px) {
      bottom: calc(var(--curve-h) + 150px);
    }
  }

  .deco-2-sp{
    @media(max-width:768px) {
      left: auto;
      right: 0;
      bottom: 80%;
    }
  }

  .catch {
    --fs: calc(28 * 0.95);
    font-size: var(--font-size);
    font-weight: 700;
    letter-spacing: 0.04em;
        color:#545252;
    &:last-child {
      color: var(--color-theme-1);
      margin-top: calc(var(--curve-h) + 100px);
      position: relative;
      z-index: 1;
      @media(max-width:768px) {
        margin-bottom: 0;
              margin-top: calc(var(--curve-h));
      }
    }
    + p {
      margin-block: 80px;
       margin-top:50px;
      font-weight:500;
      @media (max-width: 768px) {
        margin-block: 50px;
      }
    }
    @media (max-width: 768px) {
      --fs: 20;
          padding-bottom:0;
    }
  }
  .catch-text-en {
    display: inline-flex;
    align-items: center;
    @media(max-width:768px) {
      max-width: 220px;
    }
  }
  hr {
    border-color: var(--color-theme-1);
    opacity: 1;
  }
  .row {
    hr {
      @media (min-width: 992px) {
        border-top: 0;
        border-left: 1px solid var(--color-theme-1);
        height: 100%;
      }
    }
  }
  .d-grid {
    place-content: center;
    place-items: center;
    padding: 30px;
    @media (min-width: 992px) {
      padding-block: 60px;
    }
    &:first-child {
      @media (max-width: 991px) {
        
        margin-bottom: 40px;
        h3 {
          --fs:20;
          margin-left: -35px;
          padding-left: 35px;
          justify-self: start;
             @media (max-width: 768px) {
       padding-right: -20px;
        padding-left: -20px;
      }
          }
      }
      @media (max-width: 768px) {
       padding-right: 20px;
        padding-left: 20px;
      }
       @media (max-width: 575px) {
       padding-right: 0px;
        padding-left: 0px;
         padding-bottom:0; 
      }
    }
    &:last-child {
      @media (max-width: 991px) {
        h3 {
          --fs:20;
          margin-right: -35px;
          justify-self: flex-end;
          padding-right: 35px;
            @media (max-width: 768px) {
       padding-right: -20px;
        padding-left: -20px;
      }
        }
      }
            @media (max-width: 768px) {
       padding-right: 20px;
        padding-left: 20px;
      }
       @media (max-width: 575px) {
       padding-right: 0px;
        padding-left: 0px;
                  padding-bottom:0; 
      }
    }
  }
  h3 {
    --fs: 28;
    background: var(--color-theme-1);
    color: #fff;
    font-size: var(--font-size);
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 40px;
    padding: 0 30px;
    border-radius: 10px;
        @media(max-width:768px) {
      margin-bottom: 35px;
    }
  }
  
  h3.left-position{
   @media(max-width:768px) {
         border-radius: 0 10px 10px 0;
    }
  }
  
    h3.right-position{
   @media(max-width:768px) {
         border-radius:   10px 0 0 10px;
    }
  }
  
  /* .bg-curve::before {
    --mask: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22b%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221440%22%20height%3D%22239%22%20viewBox%3D%220%200%201440%20239%22%3E%3Cg%20id%3D%22c%22%3E%3Cpath%20d%3D%22M.999%2C239l-.999-.049c1.973-40.813%2C82.113-69.419%2C244.999-87.454%2C139.694-15.467%2C313.373-20.507%2C466.608-24.953%2C96.505-2.8%2C179.851-5.219%2C237.635-9.804%2C108.616-8.619%2C232.207-27.666%2C330.607-50.948%2C99.419-23.524%2C158.915-48.119%2C159.152-65.791l.999.014c-.247%2C18.431-58.536%2C42.761-159.921%2C66.75-98.446%2C23.294-222.094%2C42.349-330.758%2C50.972-57.809%2C4.587-141.166%2C7.006-237.685%2C9.807C413.587%2C136.191%2C5.395%2C148.036.999%2C239Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
      no-repeat center / 100% 100%;
    background: var(--color-theme-1);
  } */
   @media(max-width:768px) {
    padding-top: 50px;
   }
}

.top-company {
  color: #fff;
  padding-top:30px;
  padding-bottom:calc(var(--curve-h) + 30px);
  &::before {
    transform: scaleX(-1);
  }
  [class*="deco-"] span {
    background: #fff;
  }
  .deco-1 {
    left: calc(50% + 430px);
    top: 100px;
    @media (max-width: 1200px) {
      left: auto;
      right: 30px;
      top:30px;
    }
  }
  table {
    --fs: 18;
    align-items: baseline;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 40px;
    font-weight:500;
    @media(max-width:768px) {
      grid-template-columns: auto auto;
      gap: 20px 10px;
    }
  }
  tbody,
  tr {
    display: contents;
  }
  th,
  td {
    display: block;
    font-weight: 500;
    padding: 0;
    vertical-align: top;
    @media(max-width:768px) {
      --fs:15;
    }
  }
  th {
    border-right: 1px solid #fff;
    line-height: 1;
    padding-right: 40px;
    @media(max-width:768px) {
      text-align: right;
    }
  }
  @media(max-width:768px) {
    padding-top: 40px;
    padding-bottom: calc(var(--curve-h) + 50px);
  }
}

.top-contact {
  --bg: #fff;
  padding-bottom: var(--curve-h);
  padding-top:50px;
  [class*="deco-"] span {
    background: var(--color-theme-1);
  }
  .deco-1 {
    right: calc(50% + 290px);
    top: calc(40 / 1440 * -100vw);
  }
   .std-body{
    margin-bottom: 30px;
  }
  h2{
  color:#545252;
  }
}

@media (max-width: 991px) {
  .top-company {
    th {
      padding-right: 10px;
    }
  }
}

.nav-tabs {
  li {
    width: calc(100% / 3);
    border-radius: 3px 3px 0 0;
    border: none;
    button.nav-link {
      color: #545252;
      width: 100%;
      border: 1px solid var(--color-theme-1);
      padding-left:17px;
      &:hover {
        border-color: var(--color-theme-1);
        color: #fff;
        background-color: var(--color-theme-1);
        opacity: 1;
      }
    }
    button.nav-link.active {
      border: 1px solid var(--color-theme-1);
      background-color: var(--color-theme-1);
      color: #fff;
    }
  }
}

.label {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  span.badge-required {
    background-color: #e6f3ee;
    color: #545252;
    border-radius: 30px;
  }
}

.button {
  background-color: #82619a;
  &:hover {
    background-color: #82619a;
  }
}

button.button-submit {
  background-color: #82619a;
  color: #fff;
}

button.button-back {
  background-color: #fff;
  color: #82619a;
  border: 1px solid #82619a;
  &:hover {
    color: #fff;
    opacity: 1;
  }
}

/* .deco-1 .float,
.deco-2 .float{
      animation: deco-float 7s  linear infinite;
} */

.float.move-1 {
  animation: deco-float-1 7s linear infinite;
}
.float.move-2 {
  animation: deco-float-2 5s linear infinite;
}
/* @keyframes deco-float-1 {
  0% {
    transform: translate(0, 0);
  }
  12% {
    transform: translate(8px, -10px);
  }
  25% {
    transform: translate(14px, -22px);
  }
  37% {
    transform: translate(-6px, -18px);
  }
  50% {
    transform: translate(-14px, -6px);
  }
  62% {
    transform: translate(-4px, 8px);
  }
  75% {
    transform: translate(10px, 12px);
  }
  87% {
    transform: translate(6px, 4px);
  }
  100% {
    transform: translate(0, 0);
  }
} */

@keyframes deco-float-1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}
/* 
@keyframes deco-float-2 {
  0% {
    transform: translate(0, 0);
  }
  12% {
    transform: translate(-6px, -8px);
  }
  25% {
    transform: translate(-12px, -18px);
  }
  37% {
    transform: translate(4px, -14px);
  }
  50% {
    transform: translate(12px, -4px);
  }
  62% {
    transform: translate(6px, 10px);
  }
  75% {
    transform: translate(-8px, 14px);
  }
  87% {
    transform: translate(-4px, 6px);
  }
  100% {
    transform: translate(0, 0);
  }
} */

@keyframes deco-float-2 {
  0% {
    transform: translateY(-20px);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-20px);
  }
}
h2.accordion-header {
  margin-bottom: 0;
  button {
    color: #fff;
    border-radius: 30px;
    justify-content: center;
    &::after {
      content: none;
    }
    &:hover {
      opacity: 1;
    }
  }
}

.accordion-button:not(.collapsed) {
  color: #fff;
}

.accordion-item:first-of-type > .accordion-header .accordion-button,
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-radius: 30px;
}

.accordion-button:not(.collapsed) {
  background-color: var(--color-theme-1);
}

.accordion {
  .accordion-item {
    &:not(:last-child) {
      margin-bottom: 25px;
    }
  }
}

.accordion-item {
  border: none;
}

.accordion-body{
  padding: 0;
}
.accordion-button{
  @media(max-width:768px) {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.tab-content{
border:1px solid var(--color-theme-1);
  border-top:none;
}

.horizontal-line {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.horizontal-line::before,
.horizontal-line::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #82619a;
    @media (max-width: 991px) {
    content: none;
  }
}

.horizontal-line::before {
  margin-right: 16px;

}

.horizontal-line::after {
  margin-left: 16px;
}


.scroll-down{
width:15px;
position: absolute;
 bottom: 120px;
 right: 20px;
   @media(max-width:991px) {
    bottom: 70px;
     width:10px;
 }
}

div.row.our-business-row{
margin-bottom:120px;
  @media(max-width:768px) {
  margin-bottom: 100px;
  }
}
.std-body{
font-weight:500;
}
}

.top-alignment{
.deco-1{
  right: calc(50% + 500px);
  left:auto;
  top:0;
}
}

.top-alignment h2{
  margin-bottom:120px;
    @media (max-width: 768px) {
    margin-bottom: 60px;
  }
}

.scroll-down{
opacity:0;
  &.is-active{
  opacity:1;
  }
}


.page-header{
  /* background-image: url(/images/page-header.png);
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 1440 / 433;
  padding-top: 40px;
  padding-bottom: 40px;
  margin-top: -120px;
  padding-top: 120px; */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  img{
    width: 100%;
    max-height:500px;
    @media(max-width:768px){
    height:100%;
    }
  }
    @media(max-width:1300px) {
    top: 50px;
  }
  
    @media(max-width:768px) {
    height: 230px;
  }

}

.page-title{
  font-size: var(--font-size);
  --fs:38;
  color: #fff;
   padding-top: 40px;
  padding-bottom: 40px;
  letter-spacing: 0.05em;
    position: relative;
  z-index: 2;
  span{
    display: block;
    font-size:17px;
      letter-spacing: 0;
  }
      @media(max-width:991px) {
    --fs:25;
  }
}

.cb-top{
  margin-bottom: 55px;

  h2{
    color: var(--color-theme-1);
    font-size: var(--font-size);
    --fs:25;
    margin-bottom: 25px;
    font-weight: 500;
        @media(max-width:768px) {
      --fs:18;
      margin-bottom: 10px;
    }
  }
  p{
    --fs:18;
    line-height:calc(35 / 18);
      color:#1F1B1B;
       @media(max-width:768px) {
      --fs:16;
    }
  }
}

.cb-num-list{
  &:not(:last-child){
    margin-bottom: 25px;
  }
  p{
    background-color: #F5EFFA;
    padding: 35px;
    border-radius: 10px;
     color: #545252;
    line-height: calc(28 / 16);
        @media(max-width:768px) {
      padding: 15px 30px;
    }
  }
    h3{
    color: var(--color-theme-1);
    font-size: var(--font-size);
    --fs:20;
    margin-left: 35px;
      margin-bottom: 5px;
      font-weight: 500;
       @media(max-width:768px) {
      margin-left: 10px;
             --fs:  18;
    }
  }
}

.page-content{
  padding-bottom: 100px;
    padding-top: 100px;
  @media(max-width:768px) {
    padding-top: 50px;
  }
}


p.seitei{
  color: var(--color-theme-1);
  margin-bottom: 30px;
}

.pp-top-address{
border: 1px solid #D9D9D9;
border-radius: 10px;
padding: 25px 35px;
  display: inline-block;
  p{
 --fs:16;
  }
.top-address-name{
 --fs:18; 
 color: var(--color-theme-1);
 font-weight: 500;
  margin-bottom: 10px;
   @media(max-width:768px) {
  --fs:16;
 }
}
  @media(max-width:768px) {
  padding: 15px 20px;
}
}

.pp-num-list{
h3{
  --fs:20;
  color: var(--color-theme-1);
  font-size: var(--font-size);
  font-weight: 500;
  border-bottom: 1px solid var(--color-theme-1);
  margin-bottom: 10px;
  padding-bottom: 10px;
    @media(max-width:768px) {
    --fs:16;
  }
}
&:not(:last-child){
  margin-bottom: 35px;
}
h4{
    --fs:18;
  font-size: var(--font-size);
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 10px;
}
  p{
  color: #545252; 
}
  > p{
   padding-right:70px;
      @media(max-width:768px) {
   padding-right:0;
  }
  }
}

.bg-lavender,
.contact-text{
  background-color: #F5EFFA;
  padding: 30px 35px;
  margin-bottom: 35px;
  border-radius: 10px;
    @media(max-width:768px) {
    padding: 30px 20px;
        margin-bottom: 20px;
  }
  address{
  color:#545252;
  }
}

.contact-text{
  margin-bottom: 45px;
}


p.bg-lavender-title{
  --fs:18;
  font-weight: 500;
  color:#1F1B1B;
  margin-bottom:15px;
    @media(max-width:768px) {
    --fs:16;
  }
}

.dot-list-menu{
  margin-left:2rem;
  li{
    list-style-type: disc;
    color:#545252;
  }
}
.pp-caution{
  --fs:14;
}

.dot-list-menu-title{
  font-weight: 600;
}

.pp-download{
  background-color: #fff;
  border-radius: 10px;
  padding: 22px;
  display: inline-block;
  max-width: 600px;
  p{
    --fs:14;
    margin-top: 10px;
  }
}

.link-pdf{
  color: var(--color-theme-1);
  text-decoration: underline;
    display: flex;
  align-items: center;
  gap: 10px;
  &::before{
    content: "";
    background-image: url(/images/icon-pdf.svg);
    background-repeat: no-repeat;
    width: 13px;
    height: 15px;
    background-size: contain;
flex-shrink:0;
  }
    &:first-child {
    @media (max-width: 768px) {
      margin-bottom: 10px;
    }
  }
}

.pdf-download{
  text-decoration: underline;
  color: #82619A;
  display: inline-block;
  margin-left: 1rem;
}

.footer-link{
display:flex;
justify-content: center; 
gap: 15px;
  a{
      font-size:16px;
    &:hover{
    text-decoration:underline;
    }
  }
}

.top-alignment {
  .deco-1 {
    right: calc(50% + 520px);
    left:auto;
    top:-20px;
      @media(max-width:1200px) {
        right: auto;
        left:30px;
            top:-50px;
}
  }

}

.reneki-image{
max-width:950px;
  margin:auto;
}

  .sp-mov{
  display:none;
  }



@media(max-width:768px){
  .sp-mov{
  display:block;
  }
  
  .pc-mov{
  display:none;
  }
}

.tab-content > .tab-pane{
  display:block !important;
}

.tab-pane{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  height:0;
  overflow:hidden;
  transition:opacity .25s ease;
}

.tab-pane.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  height:auto;
  overflow:visible;
}
