@charset "utf-8";
/*
Theme Name: YOSHIKAZU SASAKI
Description: 
Author: Sonicgrow×COSMICGEAR
Version: 1.0
*/
/*-root*/ :root {
  --fc-base: #160902;
  --fnt-base: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Segoe UI", "Meiryo", sans-serif;
  --fnt-ryo: ryo-gothic-plusn, sans-serif;
  --fnt-ave: "avenir-next-lt-pro", sans-serif;
  --clr-org: #ea6e00;
  --clr-grn: #007728;
  --clr-gry: #979797;
  --clr-red:#ea2700;
  --bdr-gry: #d3d3d3;
  --wall-org: #f39300;
  --wall-beg: #fff4eb;
  --wall-gry: #f5f5f5;
  --box-sdw: 0px 0px 8px 1px rgba(136, 83, 136, 0.12);
  --gra-org: linear-gradient(135deg, #ffe100, #f08300 42%);
  --easing: cubic-bezier(0.45, 0.05, 0.55, 0.95);
  --transit: .3s var(--easing);
}
/*base=====*/
body {
  font-family: var(--fnt-base);
  font-size: min(18px, 3.8vw);
  width: 100vw;
  height: 100%;
  color: var(--fc-base);
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: hidden;
  font-feature-settings: "palt";
  transition:opacity .5s var(--easing);
  opacity: 0;
}
.wf-active body,
body.is-load{
  opacity: 1;
}
.fl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.fl_c {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
.jc_c {
  justify-content: center;
}
.ai_c {
  -ms-align-items: center;
  align-items: center;
}
figure {
  margin-bottom: 0 !important;
}
.ylw-line{
  background: linear-gradient(rgba(254,255,135,0) 70%,rgba(254,255,135,1) 70%);
}
.fc-org{
  color: var(--clr-org);
}
.fw-b{
  font-weight: 600;
}
/*float*/
#float-banner {
  width: min(340px, 50vw);
  position: fixed;
  right: min(20px, 3vw);
  bottom: min(20px, 3vw);
  z-index: 10;
  translate: calc(100% + min(20px, 3vw)) 0;
  transition: translate .6s var(--easing);
  box-shadow: var(--box-sdw);
  border-radius: 10px;
  overflow: hidden;
  isolation: isolate;
}
#float-banner.is-view {
  translate: 0 0;
}
/*fix button*/
#fix-button{
  position: fixed;
  top: min(160px,25vw);
  right: -1px;
  z-index: 10;
  width: 70px;
  gap:8px;
  display: grid;
  grid-template-columns: 1fr;
  transition:translate var(--transit);
  translate:0 0;
}
#fix-button.is-hide{
  translate:100% 0;
}
#fix-button a{
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  place-items:center;
  height: 250px;
  color:var(--btn-clr);
  border: 1px solid;
  border-radius: 13px 0 0 13px;
  font-weight: 600;
  font-size: min(18px,3.7vw);
  padding-left: 2px;
}
#fix-button a .text{
  writing-mode: vertical-rl;
  text-align: center;
  
  line-height: 1.2;
  letter-spacing: .05em;
}
#fix-button a .text::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  translate:-50% 0;
}
#fix-button a .text .num{
  writing-mode: horizontal-tb;
}
#fix-button a.project{
  background: #fff;
  --btn-clr:var(--clr-org);
  border: 1px solid var(--clr-org);
  
}
#fix-button a.project .text{
  padding-top: 1.5em;
}
#fix-button a.project .text::before{
  width: 1.4444em;
  background-image: url("images/icon/mail.svg");
  aspect-ratio:1/0.6881;
}
#fix-button a.line{
  --btn-clr:#fff;
  background: #00cb43;
  border: 1px solid #00cb43;
  
}
#fix-button a.line .text{
  padding-top: 2em;
}
#fix-button a.line .text::before{
  width: 1.5em;
  background-image: url("images/icon/fkds.svg");
  aspect-ratio:1/0.9554;
}
.grecaptcha-badge{
  visibility: hidden;
}
#fix-button a.line .text > span.min{
  font-size: min(16px,3.4vw);
}
/*container
========================================================*/
#container {
  width: 100%;
  min-height: 100dvh;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
a.cvr {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
a.udl_org {
  text-decoration: underline;
  color: var(--clr-org);
}
a.udl {
  text-decoration: underline;
  color: #1c4dca;
}
/*hum
=====================================*/
#hum-btn {
  position: fixed;
  top: 10px;
  right: 10px;
  width: min(60px, 12vw);
  aspect-ratio: 1/1;
  background: var(--wall-org);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  z-index: 100;
  cursor: pointer;
  border-radius: 10px;
}
#hum-btn button {
  width: 40%;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  position: relative;
  -webkit-transition: background var(--transit);
  -o-transition: background var(--transit);
  transition: background var(--transit);
}
#hum-btn button::before, #hum-btn button::after {
  content: "";
  width: 100%;
  height: 3px;
  border-radius: 2px;
  position: absolute;
  left: 0;
  background: #fff;
  -webkit-transition: transform var(--transit);
  -o-transition: transform var(--transit);
  transition: transform var(--transit);
  transform-origin: center;
}
#hum-btn button::before {
  top: max(-10px,-2vw);
}
#hum-btn button::after {
  bottom: max(-10px,-2vw);
}
#hum-btn.open button {
  background: none;
}
#hum-btn.open button::before, #hum-btn.open button::after {
  top: calc(50% - 2px);
}
#hum-btn.open button::before {
  transform: rotate(-45deg);
}
#hum-btn.open button::after {
  transform: rotate(45deg);
}
#l-nav {
  position: fixed;
  width: min(577px, 100vw);
  /*  height: calc(100vh - min(20px,3vw));*/
  height: 100dvh;
  top: 0;
  right: 0;
  background: rgba(255, 255, 255, 1);
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  translate: 100% 0;
  -webkit-transition: all var(--transit);
  -o-transition: all var(--transit);
  transition: all var(--transit);
  border-radius: min(30px, 8vw) 0 0 min(30px, 8vw);
  border: 2px solid #f4f4f4;
  box-shadow: 0 5px 3px rgba(229, 229, 229, .2);
  overflow-y: scroll;
}
#l-nav.is-view {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
}
.l-nav_inner {
  width: 100%;
  min-height: 100%;
  padding: min(140px, 20vw) min(70px, 5vw) min(50px,10vw);
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  gap: min(40px, 15vw);
}
.l-nav_menu {
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  justify-content: space-between;
  gap: min(30px, 4vw);
}
.l-nav_menu li a {
  display: block;
  font-size: min(24px, 5vw);
  font-weight: 700;
  padding-left: 1em;
  font-family: var(--fnt-ryo);
}
.l-nav_menu li a::before {
  content: "";
  width: 10px;
  aspect-ratio: 1;
  background: #f29300;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  border-radius: 100vmax;
}
.l-nav_menu li a:nth-child(n+2) {
  margin-top: 1em;
}
.l-nav_inquiry {
  width: min(300px, 100%);
  display: grid;
  place-items: center;
  gap: min(60px, 12vw);
}
/*header
=====================================*/
header {
  width: 100%;
  background: #fff;
}
.head-inner {
  width: 100%;
  padding: 10px min(90px, calc(15vw + 30px)) 10px min(50px, 2.5vw);
  min-height: min(80px, 17vw);
  -ms-align-items: center;
  align-items: center;
  justify-content: space-between;
}
.h-logo {
  width: min(312px, 50vw);
}
.link-line {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: 5px;
  font-weight: 600;
}
.link-line p {
  color: var(--clr-grn);
  font-size: min(14px, 3.4vw);
}
.link-line p span {
  color: var(--clr-org);
}
.link-line a {
  background: #00cb43;
  border-radius: 100vmax;
  color: #fff;
  font-size: min(20px, 4vw);
  padding: 8px 1.25em 8px 1em;
}
.link-line a span {
  color: #fffd67;
}
.link-line a::after {
  content: "";
  width: 5px;
  aspect-ratio: 1/1.25;
  clip-path: polygon(0% 0, 0% 100%, 100% 50%);
  background: #fff;
  position: absolute;
  right: .5em;
  top: 50%;
  translate: 0 -50%;
}
.head-nav{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  gap:min(5px,1.5vw);
}
.h-menu{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.h-menu > li:nth-child(n+2)::before{
  content: "";
  width: 1.5px;
  height: .85em;
  position: absolute;
  left: 0;
  top: 50%;
  translate:0 -50%;
  background: currentColor;
}
.h-menu a{
  display: block;
  padding-left: 1em;
  padding-right: 1em;
  font-size: min(16px,3.5vw);
}
.h-social{
  gap:5px;
}
.l-nav_social{
  gap:10px;
  margin-top: -1em;
}
.h-social > .in-title
,.l-nav_social > .in-title{
  color: var(--clr-org);
  font-size: min(15px,3.4vw);
  padding-left: 1em;
  padding-right: 1em;
  letter-spacing: .05em;
  font-weight: 600;
}
.l-nav_social > .in-title{
  font-size: min(15px,3.6vw);
}
.h-social > .in-title::before
,.h-social > .in-title::after
,.l-nav_social > .in-title::before
,.l-nav_social > .in-title::after{
  content: "";
  position: absolute;
  top: 50%;
  translate:0 -50%;
  width: 1px;
  height: 1em;
  background: currentColor;
}
.h-social > .in-title::before
,.l-nav_social > .in-title::before{
  left: 0;
  rotate:-35deg;
}
.h-social > .in-title::after
,.l-nav_social > .in-title::after{
  right: 0;
  rotate:35deg;
}
.h-social > .link
,.l-nav_social > .link{
  display: grid;
  grid-template-columns: repeat(6,min(30px,5vw));
  gap:min(15px,3vw);
}
.l-nav_social > .link{
  grid-template-columns: repeat(6,min(35px,9vw));
}
/*main
=====================================*/
main {
  flex: 1;
}
.inner {
  width: min(1200px, 100%);
  margin-left: auto;
  margin-right: auto;
  padding-left: min(50px, 4vw);
  padding-right: min(50px, 4vw);
}
.inner.w-min {
  width: min(1100px, 100%);
}
/*button setting*/
.round-button {
  width: min(330px, 100%);
  border-radius: 100vmax;
  background: var(--gra-org);
  transition: background var(--transit);
}
.round-button a {
  width: 100%;
  height: min(50px, 12vw);
  display: grid;
  place-content: center;
  background-color: var(--wall-org);
  color: #fff;
  border-radius: 100vmax;
  font-weight: 600;
  transition: background var(--transit);
}
.round-button.arw a::after {
  content: "";
  width: 6px;
  aspect-ratio: 1;
  border: 2px solid;
  border-color: currentColor currentColor transparent transparent;
  position: absolute;
  right: .85em;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
  border-radius: 2px;
  transition: all var(--transit);
}
.more-button {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
}
.more-button a {
  font-size: min(16px, 3.6vw);
  font-weight: 600;
  border-bottom: 1px solid;
  padding-bottom: 3px;
}
.more-button a span {
  padding-right: 1em;
  display: block;
}
.more-button a::after {
  content: "";
  width: 6px;
  aspect-ratio: 1;
  border: 2px solid;
  border-color: currentColor currentColor transparent transparent;
  position: absolute;
  right: 0;
  top: calc(50% - 1.5px);
  border-radius: 2px;
  rotate: 45deg;
  translate: 0 -50%;
  transition:translate var(--transit);
}
@media(hover) {
  .round-button a:hover {
    background-color: color-mix(in srgb, var(--clr-org) 10%, transparent);
  }
  .round-button.arw a:hover::after {
    translate: 5px -50%;
  }
  .more-button a:hover::after{
    translate: 5px -50%;
  }
}
/*index contents ++++++++++++++++++++++++++++++++++++*/
.index-wrapper {
  padding-bottom: min(150px, 20vw);
}
.in-text {
  line-height: calc(30/18);
  letter-spacing: .05em;
  text-indent: .05em;
}
/*#key
============================*/
.main-hero {
  background: var(--gra-org);
}
.main-hero_inner {
  display: grid;
  -ms-align-items: center;
  align-items: flex-end;
  padding-top: min(87px, 10vw);
  padding-bottom: min(87px, 10vw);
  background: url("images/hero_image.png") no-repeat right min(50px, 4vw) bottom/auto calc(100% - min(20px, 5vw));
  min-height: 610px;
}
.hero-title {
  width: min(550px, 50vw);
}
/*#index content
============================*/
.index-contents {}
/*title setting*/
.sec-title {
  font-weight: 700;
  display: grid;
  place-items: center;
  gap: min(15px, 2vw);
}
.sec-title .en {
  font-family: var(--fnt-ave);
  font-style: italic;
  color: var(--clr-org);
  letter-spacing: .1em;
}
.sec-title .main {
  text-align: center;
  font-family: var(--fnt-ryo);
  font-size: min(36px, calc(100vw/15));
}
.sec-title .main span.min {
  display: block;
  font-size: min(18px, 3.7vw);
  margin-top: min(20px, 5vw);
}
.box-title {
  font-family: var(--fnt-ryo);
  font-size: min(32px, calc(100vw/20));
  font-weight: 800;
  color: var(--clr-org);
  text-indent: .05em;
  letter-spacing: .05em;
  line-height: calc(42/32);
  text-align: center;
}
.box-title.mid{
  font-size: min(36px, calc(100vw/18));
}
/*list setting*/
.ccl-num-list {
  counter-reset: count 0;
}
.ccl-num-list.blk {
  --num-clr: #fff;
  --ccl-clr: var(--fc-base);
}
.ccl-num-list > li {
  padding-left: 1.25em;
  line-height: calc(30/18);
  letter-spacing: .05em;
  text-indent: .05em;
}
.ccl-num-list > li::before {
  counter-increment: count 1;
  content: counter(count);
  position: absolute;
  left: 0;
  top: .5em;
  width: 1.25em;
  aspect-ratio: 1;
  font-size: .75em;
  display: grid;
  place-content: center;
  background: var(--ccl-clr);
  border-radius: 100vmax;
  color: var(--num-clr);
  line-height: 1;
  font-weight: 600;
}

/*intro 20250626_edit +++++++++++++++++++++++++++++*/

.index-intro-blc{
  padding-top: min(120px, 15vw);
  padding-bottom: min(120px,10vw);
  gap:min(30px,6vw);
}

.box-intro-item{
  width: 100%;
  text-align: center;
  border: 4px solid #f5bf7f;
  border-radius: min(35px,4vw);
  padding: min(60px,8vw) min(30px,4vw);
  display: grid;
  grid-template-columns: min(975px,100%);
  justify-content: center;
  
}

.box-intro-item:nth-child(1){
  border-width: 1px;
  gap:min(20px,5vw);
}
.box-intro-item:nth-child(2){
  gap:min(50px,10vw);
}
.box-intro-item .box-title{
  color: var(--fc-base);
}
.box-intro-item span.fc-org{
  color: var(--clr-org);
}
.box-intro-item span.fs-wid{
  font-size: clamp(1.25rem, -0.833rem + 6.94vw, 4.375rem);/*20-70*/
  
}
.box-intro-item .comment{
  line-height: calc(30/18);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap:.5em;
}
.box-intro-item .comment .in-text{
  line-height: calc(36/18);
  font-size: min(1em,3.6vw);
}
.vote-list > div{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  font-weight: 800;
  font-size: min(24px,calc(100vw/24));
  font-family: var(--fnt-ryo);
  letter-spacing: .05em;
}
.vote-list dt{
  padding-left: 1.25em;
}
.vote-list dt::before{
  content: "";
  width: .77em;
  position: absolute;
  aspect-ratio:1/1.2857;
  background: var(--wall-org);
  left: 0;
  top: 50%;
  translate:0 -50%;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.vote-list dd{
  color: var(--clr-org);
}
.box-intro-item .title-area{
  z-index: 1;
  gap:min(20px,3vw);
}
.box-intro-item .title-area .att-text{
  color: var(--clr-red);
  padding-left: 1em;
  font-size: min(18px,3.4vw);
  text-decoration: underline;
  font-weight: 600;
  text-underline-offset: 4px;
}
.box-intro-item .title-area .att-text::before{
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.box-intro-item .thumb-area{
  display: grid;
  grid-template-columns: min(470px,45vw);
  justify-content: center;
}
.box-intro-item .thumb-area .thumb_ballot{
  position: relative;
}
.box-intro-item .thumb-area .thumb_ballot::before
,.box-intro-item .thumb-area .thumb_ballot::after{
  content: "";
  position: absolute;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.box-intro-item .thumb-area .thumb_ballot::before{
  height: min(520px,230%);
  left: 0;
  bottom: max(-60px,-8vw);
  background-image: url("images/intro_guts.png");
  aspect-ratio:1/2.0521;
  translate:-100% 0;
}
.box-intro-item .thumb-area .thumb_ballot::after{
  right: max(-50px,-5vw);
/*  width: min(153px,50vw);*/
  height: min(288px,120%);
  bottom: 0;
  translate:100% 0;
  background-image: url("images/pic_usagi.png");
  aspect-ratio:1/1.8824;
}

.box-intro-item .thumb-area .thumb_guts{
  display: none;
}
.att-list > li{
  padding-left: 1em;
}
.att-list > li::before{
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
/*news +++++++++++++++++++++++++++++*/
.sec-news-blc {
  padding-top: min(120px, 15vw);
  background: var(--wall-gry);
  overflow: hidden;
  width: 100%;
}

.box-news_archive {
  margin-top: min(60px, 12vw);
  gap: min(50px, 10vw);
  padding-bottom: min(120px, 15vw);
}
.box-news_archive::before {
  content: "Yoshikazu Sasaki";
  position: absolute;
  bottom: 0;
  left:0;
  font-size: min(220px, calc(100vw/5));
  font-family: var(--fnt-ave);
  color: #efefef;
  font-weight: 700;
  font-style: italic;
  white-space: nowrap;
  translate: 0 20%;
}
.box-news_archive .soon {
  background: #fff;
  width: min(600px, 100%);
  padding: min(30px, 8vw) min(20px, 4vw);
  line-height: calc(36/18);
  font-family: var(--fnt-ryo);
  text-align: center;
  letter-spacing: .05em;
  box-shadow: var(--box-sdw);
  border-radius: 10px;
}
.acv-info-list {
  width: min(900px, 100%);
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
}
.acv_post-item {
  background: #fff;
  padding: min(25px, 6vw) min(50px, 4vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  gap:5px min(40px, 8vw);
  -ms-align-items: flex-start;
  align-items: flex-start;
  line-height: calc(30/18);
  border-bottom: 2px solid var(--bdr-gry);
}
.acv_post-item .post-date {
  font-family: var(--fnt-ave);
  color: var(--clr-org);
}
.acv-post-title {
  flex: 1;
}
.box-news_archive .more-button {
  width: min(900px, 100%);
}

/*banner 202506-edit +++++++++++++++++++++++++++++++*/
.index-project-blc{
  background: var(--wall-beg);
  padding: min(120px,10vw) min(50px, 4vw);
}
.box-project-item{
  width: min(915px,100%);
}
/*message ++++++++++++++++++++++++++++++++++++++++++*/
.index-message-blc {
  padding-top: min(120px, 15vw);
  padding-bottom: min(120px, 15vw);
}
.message-title {
  font-family: var(--fnt-ryo);
  font-weight: 900;
  font-size: min(72px, calc(100vw/11));
  text-align: center;
  letter-spacing: .05em;
  line-height: calc(90/72);
  text-indent: .05em;
}
.box-message-item {
  width: min(700px, 100%);
  text-align: center;
  margin-top: min(60px, 12vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
}
.box-message-item > * + * {
  margin-top: min(30px, 8vw);
}
.box-message-item p.in-text {
  line-height: calc(36/18);
  width: min(560px, 100%);
}
.reform-box {
  width: 100%;
  padding: min(70px, 6vw) min(30px, 4vw);
  background: var(--wall-gry);
}
.arw-list {
  gap: min(20px, 3vw);
}
.arw-list > li {
  padding-left: 1em;
  text-indent: .05em;
  letter-spacing: .05em;
  font-family: var(--fnt-ryo);
  font-weight: 800;
  font-size: min(24px, calc(100vw/24));
  line-height: calc(30/24);
}
.arw-list > li::before {
  content: "";
  width: .65em;
  aspect-ratio: 1/1.27;
  clip-path: polygon(0% 0, 0% 100%, 100% 50%);
  background-color: var(--wall-org);
  position: absolute;
  left: 0;
  top: 0;
  translate: 0 .25em;
}
/*profile ++++++++++++++++++++++++++++++++++++++++++*/
.index-profile-blc {
  background: var(--wall-gry);
  padding-top: min(120px, 15vw);
  padding-bottom: min(120px, 15vw);
}
.box-profile-contents {
  gap: min(60px, 12vw);
}
.item-profile-list {
  width: min(900px, 100%);
  display: grid;
  grid-template-columns: auto min(380px, 42%);
  gap: min(30px, 4vw);
  -ms-align-items: center;
  align-items: center;
}
.prof-data > div {
  padding: min(30px, 4vw) min(20px, 2.5vw) min(20px, 4vw);
  display: grid;
  grid-template-columns: 4em auto;
  border-bottom: 1px solid var(--bdr-gry);
  font-weight: 600;
  gap: min(60px, 5vw);
}
.prof-data dt {
  text-align: center;
}
.item-profile-history {
  padding: min(60px, 10vw) min(30px, 3vw);
  background: #fff;
  border-radius: min(30px, 6vw);
  gap: min(40px, 8vw);
}
.item-profile-history .in-title {
  font-weight: 800;
  font-size: min(24px, calc(100vw/20));
  font-family: var(--fnt-ryo);
  letter-spacing: .05em;
  text-indent: .05em;
}
.history-list {
  width: min(970px, 100%);
}
.history-list > div {
  display: grid;
  padding: 0px min(30px, 5vw);
  grid-template-columns: 7.5em auto;
  gap: min(15px, 3vw) 0;
  -ms-align-items: center;
  align-items: center;
}
.history-list > div:not(:last-child){
  padding-bottom: min(20px, 4vw);
}
.history-list > div:nth-child(n+2) {
  border-top: 1px solid var(--bdr-gry);
  padding-top: min(20px, 4vw);
}
.history-list dt {
  color: var(--clr-org);
  font-family: var(--fnt-ave);
  font-style: italic;
  font-weight: 700;
  font-size: min(24px, 5vw);
}
.item-profile-movie .box-title {
  word-break: keep-all;
}
.movie-player {
  width: min(795px, 100%);
  aspect-ratio: 1/.5625;
  margin-top: min(60px, 12vw);
}
.movie-player iframe {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.movie-main-title
,.movie-title{
  font-family: var(--fnt-ryo);
  font-weight: 800;
  text-align: center;
  line-height: calc(24/16);
}
.movie-main-title{
  font-size: min(36px,calc(100vw/22));
  padding-left: 1.5em;
  padding-right: 1.5em;
}
.movie-main-title::before
,.movie-main-title::after{
  content: "";
  width: .85em;
  aspect-ratio:1/.85;
  background: var(--clr-org);
  position: absolute;
  top: 50%;
  translate:0 -50%;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.movie-main-title::before{
  left: 0;
}
.movie-main-title::after{
  right: 0;
}
.movie-title.wid{
  font-size: min(36px,calc(100vw/22));
  margin-top: min(60px,8vw);
}
.movie-title.mid{
  font-size: min(24px,calc(100vw/25));
}
.box-movie-wrap{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
}
.box-movie-wrap .in-text{
  width: min(795px, 100%);
  margin-top: min(20px,4vw);
}
.box-movie-wrap:nth-of-type(1){
  margin-top: min(100px,15vw);
}
.box-movie-wrap:nth-of-type(2){
  margin-top: min(60px,8vw);
}
.box-movie-wrap .movie-player{
  margin-top: min(25px,8vw);
}
.box-movie-wrap .movie-player::after{
  content: "";
  pointer-events: none;
  width: min(100px,12%);
  background: url("images/icon/play.svg") no-repeat center/cover;
  aspect-ratio:1;
  filter: drop-shadow(0 4px 4px rgba(215,215,215,1));
  position: absolute;
  left: 50%;
  top: 50%;
  translate:-50% -50%;
  transition:opacity var(--transit);
}
.box-movie-wrap .movie-player.is-playing::after{
  opacity: 0;
}
/*schedule ++++++++++++++++++++++++++++++++++++++++++*/
.index-schedule-blc {
  padding-top: min(120px, 15vw);
  padding-bottom: min(100px, 12vw);
}
.schedule-soon{
  display: grid;
  grid-template-columns: min(600px,100%);
  place-content:center;
  margin-top: min(60px,10vw);
}
.schedule-soon p{
  border-radius: 10px;
  display: grid;
  min-height: 8em;
  padding: min(15px,3vw);
  place-content:center;
  box-shadow: var(--box-sdw);
  background: #fff;
  font-family: var(--fnt-ryo);
  text-align: center;
  line-height: calc(36 / 18);
  letter-spacing: .05em;
  text-indent: .05em;
}
.index-schedule-blc::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0% 0%, 100% 0, 100% 70%, 50% 100%, 0 70%);
  background-color: var(--wall-beg);
}
.index-schedule-blc.wall-wht{
  padding-top: min(100px, 12vw);
}
.index-schedule-blc.wall-wht::before{
  content: none;
}
.item-schedule_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: min(60px, 10vw);
}
.schedule-item {
  box-shadow: var(--box-sdw);
  background: #fff;
  border-radius: 10px;
  padding: min(40px, 4vw) min(30px, 3vw);
  display: grid;
  grid-template-rows: subgrid;
  grid-area: span 4;
  gap: min(18px, 2.5vw);
  justify-items: center;
}
.schedule-item .s-title {
  text-align: center;
  color: var(--clr-org);
  font-weight: 600;
  line-height: calc(24/18);
  letter-spacing: .05em;
  text-indent: .05em;
  display: grid;
  place-content:center;
}
.schedule-item .s-date {
  font-size: min(24px, calc(100vw/20));
  font-weight: 600;
  text-align: center;
  line-height: calc(25/24);
}
.schedule-item .s-date .date {
  font-size: min(1.85em, calc(100vw/10));
}
.schedule-item .s-data {
  display: grid;
  place-items: center;
  gap: 8px;
}
.schedule-item .s-data p {
  padding-left: 1.25em;
}
.schedule-item .s-data p::before {
  content: "";
  width: 1em;
  aspect-ratio: 1;
  position: absolute;
  left: 0;
  top: 0;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.schedule-item .s-data p.time::before {
  background-image: url("images/icon/time.svg");
}
.schedule-item .s-data p.place::before {
  background-image: url("images/icon/pin.svg");
}
.schedule-item .s-link {
  width: 100%;
  background: var(--gra-org);
}
.schedule-item .s-link a {
  display: grid;
  place-content: center;
  width: 100%;
  height: min(50px, 12vw);
  background: var(--wall-org);
  color: #fff;
  font-size: min(16px, 3.6vw);
  letter-spacing: .1em;
  transition:background var(--transit);
}
.schedule-item .s-link a::after {
  content: "";
  width: 6px;
  aspect-ratio: 1;
  border: 2px solid;
  border-color: currentColor currentColor transparent transparent;
  position: absolute;
  right: .75em;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
  border-radius: 2px;
  transition: all var(--transit);
}
.schedule-item .s-link a span{
  padding-right: .5em;
}
@media(hover) {
  .schedule-item .s-link a:hover{
    background-color:color-mix(in srgb, var(--clr-org) 10%, transparent);
  }
  .schedule-item .s-link a:hover::after {
    translate: 25% -50%;
  }
}
.item-schedule_comment {
  margin-top: min(60px, 10vw);
}
.item-schedule_comment .in-text {
  text-align: center;
  margin-top: min(45px, 10vw);
}
/*policy ++++++++++++++++++++++++++++++++++++++++++*/
.index-policy-blc {
  padding-top: min(90px, 10vw);
  padding-bottom: min(120px, 15vw);
}
#link-message + .index-policy-blc{
  padding-top: 0;
}
.box-policy-contents {
  margin-top: min(60px, 12vw);
  display: grid;
  grid-template-columns: 1fr;
  gap: min(30px, 6vw);
}
.policy-item {
  background: var(--gra-org);
  border-radius: min(30px, 5vw);
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  padding: min(50px, 6vw) min(100px, 4vw);
  display: grid;
  grid-template-columns: min(200px, 16vw) minmax(0, min(600px, 100%));
  grid-template-rows: auto auto;
  gap: min(20px, 4vw) min(80px, 4vw);
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}
.policy-item .icon {
  background: #fff;
  border-radius: 100vmax;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  grid-template-columns: 60%;
  grid-area: 1 / 1 / 3 / 2;
}
.policy-item .box-title {
  text-align: left;
  align-self: end;
  color: #fff;
  font-weight: 700;
  grid-area: 1 / 2 / 2 / 3;
}
.policy-item .ccl-num-list {
  grid-area: 2 / 2 / 3 / 3;
  width: min(610px, 100%);
  --num-clr: var(--clr-org);
  --ccl-clr: #fff;
  align-self: start;
}
/*record ++++++++++++++++++++++++++++++++++++++++++*/
.index-record-blc {
  position: unset;
  overflow: inherit;
  background: var(--wall-beg);
  padding-top: min(120px, 15vw);
  padding-bottom: min(120px, 15vw);
}
.box-record__intro .top-text {
  font-weight: 700;
  text-align: center;
  font-family: var(--fnt-ryo);
  margin-top: min(40px, 5vw);
}
.box-record__delail {
  -ms-align-items: flex-start;
  align-items: flex-start;
  display: flex;
  /*  gap: min(80px,8vw);*/
  margin-top: min(60px, 10vw);
}
.record-titles {
  position: sticky;
  top: min(50px, 12vw);
  width: 200px;
  flex-shrink: 0;
}
.record-titles li {
  color: var(--clr-gry);
}
.record-titles li.active, .record-titles li.passed {
  color: var(--clr-org);
}
.record-titles li:not(:last-child) {
  padding-bottom: min(70px, 12vw);
}
.record-titles li p {
  font-size: min(20px, 5vw);
  font-weight: 600;
  padding-left: 1.5em;
}
.record-titles li p::before {
  content: "";
  width: .85em;
  aspect-ratio: 1;
  border-radius: 100vmax;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  background: currentColor;
}
.record-titles li:not(:last-child)::before {
  content: "";
  width: 1px;
  height: 100%;
  background: var(--clr-org);
  position: absolute;
  top: calc(.85em/2);
  left: calc(.85em/2);
  translate: -50% 0;
  scale: 1 0;
  transform-origin: top center;
  transition: scale var(--transit);
}
.record-titles li.passed:not(:last-child)::before {
  scale: 1 1;
}
.record-contents {
  flex: 1;
  display: grid;
  gap: min(60px, 8vw);
}
.rcd-head {
  width: 100%;
  background: var(--gra-org);
  font-size: min(24px, calc(100vw/25));
  font-family: var(--fnt-ryo);
  display: grid;
  grid-template-columns: 4.6em auto;
  -ms-align-items: center;
  align-items: center;
  padding: min(25px, 6vw) min(25px,3vw);
  border-radius: min(30px, 5vw);
  gap: 1.25em;
}
.rcd-head .tag {
  font-weight: 600;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  background: #fff;
  border-radius: 100vmax;
}
.rcd-head .tag span {
  line-height: calc(30/24);
  text-align: center;
}
.rcd-head .in-title {
  color: #fff;
  font-weight: 700;
  line-height: calc(36/24);
}
.rcd-detail {
  margin-top: min(40px, 8vw);
}
.rcd-detail {
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(40px, 6vw);
  -ms-align-items: center;
  align-items: center;
}
.rcd-detail figure {
  width: min(860px, 100%);
}
.rcd-detail figure.mid {
  width: min(673px, 100%);
}
.rcd-detail figure.min {
  width: min(528px, 100%);
}
.sp-rcd-button {
  display: none;
  margin-top: min(30px, 4vw);
}
.sp-rcd-button p {
  font-size: min(16px, 3.6vw);
  font-family: var(--fnt-ryo);
  font-weight: 700;
  letter-spacing: .05em;
  text-indent: .05em;
  cursor: pointer;
  color: var(--clr-org);
  padding-right: 1.125em;
}
.sp-rcd-button p::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -55%;
  width: .35em;
  aspect-ratio: 1;
  border: 2px solid;
  border-color: transparent currentColor currentColor transparent;
  border-radius: 2px;
  rotate: 45deg;
  transition: all .3s var(--easing);
}
.sp-rcd-button p.open::after {
  scale: -1 -1;
  translate: 0 -30%;
}
/*media ++++++++++++++++++++++++++++++++++++++++++*/
.index-media-blc {
  padding-top: min(120px, 15vw);
  padding-bottom: min(120px, 15vw);
  background: var(--wall-gry);
}
.box-media-contents {
  gap: min(60px, 10vw);
}
.item-media-list {
  width: 100%;
  background: #fff;
  border-radius: 30px;
  display: grid;
  grid-template-columns: maxmin(748px, 100%);
  justify-content: center;
  padding: min(50px, 8vw) min(30px, 4vw);
  gap: min(30px, 4vw);
  box-shadow: var(--box-sdw);
}
.item-media-list dt {
  padding-left: 1.5em;
}
.item-media-list dt h3 {
  font-size: min(24px, calc(100vw/20));
  font-family: var(--fnt-ryo);
  font-weight: 800;
  letter-spacing: .05em;
  text-indent: .05em;
}
.item-media-list dt::before {
  content: "";
  width: .66em;
  aspect-ratio: 1;
  background: var(--wall-org);
  position: absolute;
  left: 0;
  top: .66em;
  border-radius: 100vmax;
  translate: 0 -50%;
}
.item-media-list dd {
  padding-left: 1.5em;
  margin-top: 5px;
}
.item-media-list dd a {
  display: inline-block;
}
/*contact ++++++++++++++++++++++++++++++++++++++++++*/
.index-contact-blc {
  padding-top: min(120px, 15vw);
  gap: min(60px, 10vw);
}
.box-contact-contents {
  width: 100%;
  box-shadow: var(--box-sdw);
  border-radius: 10px;
  overflow: hidden;
  isolation: isolate;
  padding: min(90px, 8vw) min(30px, 4vw);
}
.form-list input, .form-list textarea {
  background-color: #fdfbfb;
  border: 1px solid #d7d7d7;
  padding: 5px 1em;
  font-size: 16px;
  width: min(520px, 100%);
}
/*
.form-list input.inp-add {
  width: 100%;
}
*/
.form-list input {
  height: min(50px, 12vw);
}
.form-list textarea {
  min-height: min(170px, 40vw);
}
.form-list {
  width: min(920px, 100%);
  margin-left: auto;
  margin-right: auto;
}
.form-list > div {
  display: grid;
  grid-template-columns: min(310px, 35%) auto;
  gap: min(30px, 4vw);
}
.form-list > div:nth-child(n+2) {
  margin-top: min(50px, 8vw);
}
.form-list dt p {
  letter-spacing: .1em;
  font-weight: 600;
  padding-right: 4em;
  padding-top: .25em;
}
.form-list dt p::after {
  position: absolute;
  border-radius: 5px;
  right: 0;
  top: 0;
  width: 3.5em;
  height: 2em;
  font-size: min(14px, 3.2vw);
  display: grid;
  place-content: center;
  letter-spacing: normal;
}
.form-list dt p.must::after {
  content: "必須";
  color: #fff;
  background: var(--wall-org);
}
.form-list dt p.any::after {
  content: "任意";
  background: var(--wall-gry);
  color: #5b5450;
}
::placeholder {
  color: #d0d0d0;
}
.form-button-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(30px, 5vw);
  -ms-align-items: center;
  align-items: center;
  margin-top: min(60px, 12vw);
}
.form-button-wrap p.agree {
  font-size: min(14px, 3.4vw);
  line-height: calc(18/14);
}
.form-button-wrap a {
  text-decoration: underline;
}
#button-submit {
  width: min(280px, 100%);
  height: min(50px, 12vw);
  color: #fff;
  background: var(--wall-org);
  border-radius: 100vmax;
  letter-spacing: .05em;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.form-button-wrap .wpcf7-spinner{
  display: none;
}
.wpcf7 form .wpcf7-response-output{
  text-align: center;
  font-size: min(14px,3.2vw);
  border: none!important;
  color: #dc3232;
}
.wpcf7-not-valid-tip{
  font-size: min(14px,3.2vw);
  margin-top: 5px;
}
/*footer
=====================================*/
footer {
  background-color: var(--wall-beg);
  padding-top: min(150px, 15vw);
}
.footer-inner {
  width: min(1280px, 100%);
  padding-left: min(50px, 4vw);
  padding-right: min(50px, 4vw);
  margin-left: auto;
  margin-right: auto;
  padding-bottom: min(60px, 12vw);
  display: grid;
  grid-template-columns: auto min(376px, calc(100%/3));
  gap: min(90px, 15vw) min(30px, 4vw);
}
.foot-about p {
  letter-spacing: .025em;
}
.foot-about .title {
  color: var(--clr-org);
  font-size: min(32px, calc(100vw/16.5));
  font-weight: 800;
  font-family: var(--fnt-ryo);
  word-break: keep-all;
  line-height: calc(40/32);
  padding-bottom: min(40px, 12vw);
}
.foot-about .title::after {
  content: "";
  width: 4.875em;
  height: 1px;
  background: currentColor;
  position: absolute;
  bottom: 0;
  left: 0;
}
.foot-about .address {
  padding-top: min(60px, 15vw);
  line-height: calc(32/18);
}
.foot-inquiry {
  gap: min(40px, 8vw);
}
.foot-nav {
  grid-column: 1 / -1;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap:min(15px,3vw) 0;
}
.foot-nav a {
  padding: 0 1em;
  font-feature-settings: normal;
}
.foot-nav a:nth-child(n+2)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  width: 1px;
  height: 1em;
  background-color: currentColor;
}
footer p.copy {
  padding: 20px;
  text-align: center;
  font-size: .875em;
  background-color: var(--wall-org);
  color: #fff;
}
/*202506-edit ++++++++*/
.footer-inner.new-foot{
  grid-template-columns: auto min(450px, calc(100%/2.5));
}
.footer-inner.new-foot .foot-about .title::after{
  content: none;
}
.footer-inner.new-foot .line-banner{
  width: min(377px,100%);
}
.foot-address-list{
  line-height: calc(32/18);
}
.foot-address-list > div:nth-child(n+2){
  margin-top: min(30px,5vw);
  }
.foot-address-list dt{
  font-weight: 600;
}
.foot-address-list dd .dial{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap:0 1em;
}
.foot-about .round-button{
  margin-top: min(30px,5vw);
}
.footer-inner.new-foot .foot-inquiry{
  gap:min(30px, 5vw);
}
.foot-social{
  gap:10px;
}
.foot-social .in-title{
  color: var(--clr-org);
  padding-left: 1em;
    padding-right: 1em;
  font-size: min(21px,5vw);
  font-weight: 600;
  letter-spacing: .05em;
}
.foot-social .in-title::before
,.foot-social .in-title::after{
    content: "";
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 1.5px;
    height: 1em;
    background: currentColor;
}
.foot-social .in-title::before{
  left: 0;
  rotate:-35deg;
}
.foot-social .in-title::after{
  right: 0;
  rotate:35deg;
}
.foot-social > .link{
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap:min(15px,2vw) min(30px,5vw);
  width: min(100%, 75vw);
}