@charset "utf-8";

.clearfix::after {
  content: "";
  clear: both;
  display: block;}

body {
  font-size: 62.5%;
  background: #000;
}

img {
  height: auto;
  margin: auto;
  vertical-align: text-bottom;}

.pc {
  display: block;}

.sp {
  display: none;}

.sp_979 {
  display: none;}

.tablet_scroll {
  display: none;
}

.bfont {
  font-weight: bold;
  text-decoration: underline;
}

a {
  display: block;
}

a:hover {
}

@font-face {
    font-family: "Bodoni 72 Book";
    font-style: normal;
    font-weight: normal;
    src: local("Bodoni 72 Book"),url("/cmn/font/Bodoni-72.woff") format("woff2");
    font-display: swap;
}



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

contents

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



.pc {
  display: block;}

.sp {
  display: none;}

.tablet_scroll {
  display: none;
}

.nav-botm {
  padding-bottom: 1%;
}

.contents {
  width: 100%;
  max-width: 1600px;
  margin: auto;
  height: auto;
}

.contents2 {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  height: auto;
  /* background: #fff; */
}

.contents3 {
  width: 100%;
  max-width: 1000px;
  margin:  auto;
  height: auto;
}

.contents3_2 {
  width: 100%;
  max-width: 1100px;
  margin:  auto;
  height: auto;
}

.contents4 {
  width: 100%;
  max-width: 600px;
  height: auto;
  margin: auto;
  padding: 1.5% 0;
  background: #fff;
}

.content1246 {
  width: 100%;
  max-width: 1246px;
  height: auto;
  margin: auto;
}

.content1440 {
  width: 100%;
  max-width: 1440px;
  height: auto;
  margin: auto;
}

.min_cont {
  max-width: 960px;
  margin: auto;
  height: auto;
}

.gara {
  font-family: "Cormorant Garamond", serif;
}

.mincho {
  font-family: "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" ,"游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , serif !important;
  font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif !important;
}

.eimoji {
  font-family: 'Old Standard TT', serif;
}

.eimoji2 {
    font-family: 'Quicksand', sans-serif;
}

.eimoji001 {
  font-family: gill-sans-nova, sans-serif;
}

.eimoji002 {
  font-family: gill-sans-nova-condensed, sans-serif;
}

.eimoji003 {
  font-family: linotype-didot, serif;
}

.eimoji004 {
  font-family: "Bodoni 72 Book",linotype-didot-headline, serif;
}

.eimoji005 {
  font-family: montserrat,sans-serif;
}

.eimoji006 {
  font-family: inglesa-caps-variable, sans-serif;
}

.new_goth {
  font-family: 'Noto Sans JP', sans-serif;
}

.new_goth2 {
  font-family:'メイリオ', 'Meiryo','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

.new_min {
  font-family: a-otf-ryumin-pr6n, serif;
}

.new_min2 {
  font-family: 'Noto Serif JP', serif;
}

.pink {
  color: #EB8397;
}

.orange {
  color: #DF971F;
}

/**************************************************************

全体的なPC表示用

**************************************************************/

.css-circle-wrap {
  position: fixed;
  top: 2vw;
  left: 5vw;
  right: 5vw;
  z-index: -1;
/*     width: 100%; */
/*     height: 100vh; */
}

.css-circle-b {
  border-radius: 50% 70% 45% 80% / 50% 70% 45% 50%;
  background: #fff;
/*   mix-blend-mode: multiply; */
  animation-name: corners, rotate;
  animation-duration: 20s, 12s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  width: 48vw;
  height: 48vw;
/*   filter: blur(30px); */
  filter: blur(16px);
}

.css-circle-b01 {
  border-radius: 50% 70% 45% 80% / 50% 70% 45% 50%;
/*   background: #48bcbf; */
  background: rgba(72, 188, 191, 0.5);
  top: 1vw;
  left: 0;
  right: 0;
  margin: auto;
  width: 51vw;
  height: 51vw;
}

.css-circle-b02 {
  position: absolute;
/*   background: #366ea5; */
  background: rgba(18,108,197,0.5);
  top: 1vw;
  left: 0;
  right: 0;
  margin: auto;
  animation-name: corners, rotate02;
}

.css-circle-b03 {
  position: absolute;
  background: #a43f49;
  background: rgba(181, 26, 42, 0.5);
  top: 1vw;
  left: 0;
  right: 0;
  margin: auto;
  animation-name: corners, rotate03;
}

.css-circle-b00 {
  border-radius: 50% 55% 45% 60% / 50% 60% 50% 40%;
  position: absolute;
  background: #000;
  top: 5%;
  left: 5%;
  right: 0;
  margin: auto;
  animation-name: corners02, rotate04;
  filter: blur(25px);
  width: 48vw;
  height: 48vw;
}




@keyframes corners {
  /* 0%   { border-radius: 55% 45% 74% 26% / 66% 32% 68% 34%; }
  25%  { border-radius: 33% 67% 44% 56% / 28% 56% 44% 72%; }
  50%  { border-radius: 29% 71% 37% 63% / 55% 40% 60% 45%; }
  75%  { border-radius: 53% 47% 53% 47% / 49% 63% 37% 51%; }
  100% { border-radius: 55% 45% 74% 26% / 66% 32% 68% 34%; } */

  0%   { border-radius: 50% 70% 45% 80% / 50% 70% 45% 50%; }
  25%  { border-radius: 33% 67% 44% 56% / 28% 56% 44% 72%; }
  50%  { border-radius: 29% 71% 37% 63% / 55% 40% 60% 45%; }
  75%  { border-radius: 53% 47% 53% 47% / 49% 63% 37% 51%; }
  100% { border-radius: 50% 70% 45% 80% / 50% 70% 45% 50%; }
}

@keyframes corners02 {
  /* 0%   { border-radius: 55% 45% 74% 26% / 66% 32% 68% 34%; }
  25%  { border-radius: 33% 67% 44% 56% / 28% 56% 44% 72%; }
  50%  { border-radius: 29% 71% 37% 63% / 55% 40% 60% 45%; }
  75%  { border-radius: 53% 47% 53% 47% / 49% 63% 37% 51%; }
  100% { border-radius: 55% 45% 74% 26% / 66% 32% 68% 34%; } */

  0%   { border-radius: 50% 55% 45% 60% / 50% 60% 50% 40%; }
  25%  { border-radius: 55% 60% 55% 50% / 40% 50% 55% 65%; }
  50%  { border-radius: 40% 50% 55% 65% / 55% 40% 60% 45%; }
  75%  { border-radius: 53% 47% 53% 47% / 55% 60% 55% 50%; }
  100% { border-radius: 50% 55% 45% 60% / 50% 60% 50% 40%; }
}

@keyframes rotate {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes rotate02 {
  0%   { transform: rotate(60deg); }
  100% { transform: rotate(-300deg); }
}

@keyframes rotate03 {
  0%   { transform: rotate(-60deg); }
  100% { transform: rotate(300deg); }
}

@keyframes rotate04 {
  0%   { transform: rotate(30deg); }
  100% { transform: rotate(-250deg); }
}

/**************************************************************

main表示用

**************************************************************/

.main {}

.main .main_co {
  text-align: center;
  padding: 8vw 0;
}

.main .main_co h1 {
  font-size: 1.55rem;
  line-height: 1.7em;
  letter-spacing: 0.2em;
  color: #fff;
  font-weight: 600;
  padding-bottom: 2em;
  animation-name: fadein;
  animation-duration: 2s;
/*   animation-iteration-count: infinite; */
}

.main .main_co h1 span {
  font-weight: 600;
}


.main .main_co h1 span.main_co_sbig {
  font-size: 2rem;
  display: inline-block;
  padding-bottom: 0.1em;
}

.main .main_co .main_co_p {
  animation-name: fadein;
  animation-duration: 2s;
}

.main .main_co .main_co_p img {
  width: 100%;
  max-width: calc(100% - 30vw);
}

@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(13px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/**************************************************************

co01表示用

**************************************************************/
.co01 {}

.co01 .co01_in {
  width: 100%;
  max-width: calc(100% - 57vw);
  margin-top: 25vw;
}

.co01 .co01_in h2 {
  font-size: 2rem;
  line-height: 1.7em;
  letter-spacing: 0.75em;
  color: #fff;
  padding-bottom: 4em;
  text-align: center;
  animation-name: fadein;
  animation-duration: 3s;
}

.co01 .co01_in p {
  font-size: 1.3rem;
  line-height: 3em;
  letter-spacing: 0.05em;
  color: #fff;
  font-weight: 500;
  animation-name: fadein;
  animation-duration: 3s;
}


.co01 .co01_in .co03_in_sw {}

.co01 .co01_in .co03_in_sw {}



@media screen and (min-width: 787px) and (max-width: 1520px) {

.co01 .co01_in {
  width: 100%;
  max-width: calc(100% - 36vw);
  margin-top: 25vw;
}

}



/**************************************************************

co_n02表示用

**************************************************************/

.co_n02 {
  background: #212231;
  background: rgba(0,0,0,0.7);
  color: #fff;
  padding: 7vw 0 10vw;
  margin: 16vw auto 0;
}

.co_n02 .con02_in {
  display: flex;
  flex-flow: row wrap;
}

.co_n02 .con02_in .con02_left {
  width: 48%;
  margin: 0 auto 0 0;
}

.co_n02 .con02_in .con02_left .con02_eng {
  font-size: 2.5rem;
  line-height: 1.5em;
  letter-spacing: 0.5em;
}

.co_n02 .con02_in .con02_left h3 {
  font-size: 0.9rem;
  line-height: 1.7em;
  letter-spacing: 0.05em;
}

.co_n02 .con02_in .con02_left .con02_l_box {
  margin: 5em auto;
}

.co_n02 .con02_in .con02_left .con02_l_box dl {
  padding-bottom: 1.5em;
  margin-bottom: 4em;
  position: relative;
}


.co_n02 .con02_in .con02_left .con02_l_box dl:last-child {
  margin-bottom: auto;
}

.co_n02 .con02_in .con02_left .con02_l_box dl::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.05em;
  background: #828282;
  bottom: 0;
  left: 0;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dt {
  display: flex;
  flex-flow: row wrap;
  margin: auto auto 1em;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dt .con02_l_date {
  font-size: 0.9rem;
  line-height: 1.7em;
  letter-spacing: 0.08em;
  font-weight: 500;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dt .con02_l_con {
  font-size: 0.9rem;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  display: inline-block;
  background: #2a486a;
  padding: 0.05em 1em;
  border-radius: 1em;
  margin-left: 0.9em;
  font-weight: 500;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dd {
  font-size: 0.9rem;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dd a {
  color: #fff;
}



.co_n02 .con02_in .con02_right {
  width: 48%;
  margin: 0 0 auto auto;
}






/* タブ */
.tab_list {
  display: flex;
/*   justify-content: space-between; */
}

.tab_item {
  width: 25%;
  padding: 1em 0;
  margin: auto 1em;
/*   background: rgba(255, 255, 255, 0.6); */
  color: #fff;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  text-align: center;
  cursor: pointer;
  transition: .4s ease-in-out;
}

.tab_item span {
  font-size: 1rem;
  letter-spacing: 0.5em;
}

.tab_item:first-child {
/*   background: rgba(226, 129, 148, 0.15); */
  border: solid thin #000;
}

.tab_item:nth-child(2) {
/*   background: rgba(245, 182, 2, 0.15); */
  border: solid thin #000;
}

.tab_item:nth-child(3) {
  background: rgba(138, 179, 161, 0.15);
    border: solid thin #000;
}

.tab_item:nth-child(4) {
  background: rgba(92, 183, 212, 0.15);
    border: solid thin #000;
}

/* .tab_item:last-child {
  background: rgba(177, 121, 196, 0.15);
} */

/* タブをクリックした時 ホバーした時 */
.tab_item:hover, 
.tab_item.is_active {
  color: #fff;
}

.tab_item:first-child:hover, 
.tab_item:first-child.is_active {
/*   background: rgba(255, 255, 255, 0.7); */
}

.tab_item:nth-child(2):hover, 
.tab_item:nth-child(2).is_active {
/*   background: #f5b602; */
}

.tab_item:nth-child(3):hover, 
.tab_item:nth-child(3).is_active {
  background: #8ab3a1;
}

.tab_item:nth-child(4):hover, 
.tab_item:nth-child(4).is_active {
  background: #5cb7d4;
}

.tab_item:last-child:hover, 
.tab_item:last-child.is_active {
/*   background: #b179c4; */
}


.tab_item:first-child:hover,
.tab_item:nth-child(2):hover {
/*   background: rgb(192 192 192 / 20%); */
  border: solid thin rgba(147, 147, 147, 0.7);
  box-shadow: 3px 3px 20px 1px rgb(70 70 70);
  color: #fff;
}

.tab_item:first-child.is_active,
.tab_item:nth-child(2).is_active {
  border: solid thin rgba(255, 255, 255, 0.95);
/*   background: rgba(255, 255, 255, 0.95); */
}


.tab_item:nth-child(2):hover {
  background: none;
}

.tab_item:hover.is_active {
/*   color: #000; */
/*   background: rgba(255, 255, 255, 0.95); */
}



/* パネル */
.pan_list {
  margin: 2em auto;
}

.pan_i {
  display: none;
  width: 100%;
  padding: 2em 3em 3em;
}

.pan_i.is_active {
  display: block;
/*   box-shadow: 0px 13px 15px 10px rgb(17 17 17); */
  animation: panel-show .9s ease-in-out forwards;
}

/* パネル切り替えのアニメーション */
@keyframes panel-show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


.co_n02 .con02_in .con02_right .pan_list {}

.co_n02 .con02_in .con02_right .pan_list .pan_i {
  width: auto;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_en {
  font-size: 2.5rem;
  line-height: 1.4em;
  letter-spacing: 0.5em;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i h3 {
  font-size: 0.9rem;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl {
  margin: 3em auto;
  height: 31rem;
  overflow-y: scroll;
  scrollbar-width: none;
}


.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl {
  padding-bottom: 1.5em;
  margin-bottom: 5.2em;
  position: relative;
}


.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl:last-child {
  margin-bottom: auto;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.05em;
  background: #828282;
  bottom: 0;
  left: 0;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dt {
  display: flex;
  flex-flow: row wrap;
  margin: auto auto 1em;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dt .con02_l_date {
  font-size: 0.9rem;
  line-height: 1.7em;
  letter-spacing: 0.08em;
  font-weight: 500;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dt .con02_l_con {
  font-size: 0.9rem;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  display: inline-block;
  background: #2a486a;
  padding: 0.05em 1em;
  border-radius: 1em;
  margin-left: 0.9em;
  font-weight: 500;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dd {
  font-size: 0.9rem;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dd a {
  color: #fff;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .contnone {
  font-size: 0.9rem;
  line-height: 1.7em;
  letter-spacing: 0.08em;
  font-weight: 500;
  padding: 5vw 0.5em;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .contnone span {
  font-size: 1.8rem;
  line-height: 1.4em;
  letter-spacing: 0.5em;
}


/**************************************************************

co02表示用

**************************************************************/

.co02 {}

.co02 .co02_in {
  margin: 16vw auto 1.5vw;
}

.co02 .co02_in .co02_top {
  display: flex;
  flex-flow: row wrap;
}

.co02 .co02_in .co02_top .co02_tl {
  width: 55%;
}

.co02 .co02_in .co02_top .co02_tl h2 {
  font-size: 2rem;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  color: #fff;
  padding-bottom: 2em;
  font-weight: 600;
}

.co02 .co02_in .co02_top .co02_tl p {
  font-size: 0.95rem;
  line-height: 2em;
  letter-spacing: 0.05em;
  color: #fff;
  padding-left: 1vw;
}

.co02 .co02_in .co02_top figure {
  display: inline-block;
  width: 45%;
}

.co02 .co02_in .co02_top figure img {}


.co02 .co02_in .co02_bottom {
  padding: 7em 7em;
/*   background: #3a3a3a; */
  margin-top: 8vw;
  background: linear-gradient(90deg, rgba(85, 85, 85, 0.15), rgba(0, 0, 0, 1) 50%, rgba(85, 85, 85, 0.1));
  box-shadow: 0em 2em 20px 0.5em rgba(0, 0, 0, 0.4);
}


.co02 .co02_in .co02_bottom .co02_svg {
  margin-bottom: 3vw;
/*   max-width: 45%; */
  text-align: center;
}

.co02 .co02_in .co02_bottom .co02_svg img {
  max-width: 42%;
  transform: rotate(-1.5deg);
}

.co02 .co02_in .co02_bottom .co02_bt_in {
  display: flex;
  flex-flow: row wrap;
}

.co02 .co02_in .co02_bottom .co02_bt_in h3 {
  font-size: 2rem;
  line-height: 1em;
  letter-spacing: 0.1em;
  color: #fff;
  padding-bottom: 1.3em;
  font-weight: 600;
  text-align: center;
  width: 30%;
  margin: 0 auto;
}

.co02 .co02_in .co02_bottom .co02_bt_in p {
  font-size: 0.95rem;
  line-height: 2em;
  letter-spacing: 0.05em;
  color: #fff;
  width: calc(100% - 32%);
  margin: 0 auto;
}



/**************************************************************

co03表示用

**************************************************************/

.co03 {
  background: #fff;
  overflow: hidden;
  padding: 15em 0 18em;
}

.co03 .co03_in {}

.co03 .co03_in .co03_in_ent {
  text-align: center;
  margin: auto;
  max-width: 1440px;
  font-size: 2rem;
  line-height: 1.7em;
  letter-spacing: 0.75em;
}

.co03 .co03_in .co03_in_ent img {
  width: 100%;
  max-width: 16rem;
  text-align: center;
}

.co03 .co03_in h2 {
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  font-weight: 600;
  padding-bottom: 4em;
}

.co03 .co03_in {
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing);
  --color-base: #f8f8f8;
  --color-gray: #515151;
  --color-theme: #000;
  --color-theme-darken: #f12617;
  --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
  --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
}


.co03 .co03_in .co03_in_sw {
  overflow: visible;
}


.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}

.swiper-button-prev::before, .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  -webkit-box-shadow: var(--box-shadow);
          box-shadow: var(--box-shadow);
}

.swiper-button-prev::after, .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "" !important;
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0;
}

.swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

.co03 .co03_in .co03_in_sw .swiper-controller {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 3.2rem;
}

.co03 .co03_in .co03_in_sw .swiper-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto 0 0;
  text-align: center;
}

.co03 .co03_in .co03_in_sw .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  vertical-align: top;
  background-color: var(--color-gray);
  border-radius: 0;
}

.co03 .co03_in .co03_in_sw .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: var(--color-theme);
}

.co03 .co03_in .co03_in_sw .swiper-button-prev,
.co03 .co03_in .co03_in_sw .swiper-button-next {
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin: 0;
}

.co03 .co03_in .co03_in_sw .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5;
}

.co03 .co03_in .co03_in_sw .swiper-button-disabled::before {
  -webkit-box-shadow: var(--box-shadow-inset);
          box-shadow: var(--box-shadow-inset);
}


.co03 .co03_in .co03_in_sw .swiper {
  overflow: visible;
}

.co03 .co03_in .co03_in_sw .swiper .swiper-wrapper {}

.co03 .co03_in .co03_in_sw .swiper ul {
/*   width: 100%; */
  margin: auto;
/*   margin-left: 15%; */
}

.co03 .co03_in .co03_in_sw .swiper .swiper-wrapper .swiper-slide {}

.co03 .co03_in .co03_in_sw .swiper ul li {
/*   width: max-content; */
  width: 43%;
  margin: auto;
  margin-top: 0;
}

.co03 .co03_in .co03_in_sw .swiper .swiper-wrapper .swiper-slide a {
  display: inline-block;
}

.co03 .co03_in .co03_in_sw .swiper ul li a {}

.co03 .co03_in .co03_in_sw .swiper ul li a figure {
  display: inline-block;
}

.co03 .co03_in .co03_in_sw .swiper ul li a figure img {
  width: 100%;
}

.co03 .co03_in .co03_in_sw .swiper ul li a p {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.7em;
}

.swiper-button-prev::before, .swiper-button-next::before {
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.swiper-button-prev:hover::before, .swiper-button-next:hover::before {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.co03 .co03_in .co03_in_sw .swiper ul li a {
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.co03 .co03_in .co03_in_sw .swiper ul li a img {
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.co03 .co03_in .co03_in_sw .swiper ul li a:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  /* -webkit-box-shadow: var(--box-shadow-hover);
          box-shadow: var(--box-shadow-hover); */
}
.co03 .co03_in .co03_in_sw .swiper ul li a:hover img {
  -webkit-transform: translateY(-16px);
          transform: translateY(-16px);
  -webkit-box-shadow: var(--box-shadow-hover);
          box-shadow: var(--box-shadow-hover);
}



/**************************************************************

co04表示用

**************************************************************/

.co04 {
  background: #414141;
  padding: 10rem 0;
}

.co04 .co04_in {}

.co04 .co04_in h2 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding-bottom: 2.5em;
}

.co04 .co04_in p {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2.5em;
  font-weight: ;
  color: #fff;
  padding: 0 2vw;
}



/**************************************************************

co05表示用

**************************************************************/

.co05 {
/*   padding: 10rem 0 1em; */
padding: 10rem 0 14em;
}

.co05 .co05_in {}

.co05 .co05_in .co05_in1 {}

.co05 .co05_in .co05_in1 .co05_in1en {
  font-size: 2rem;
  letter-spacing: 0.75em;
  line-height: 1.7em;
  font-weight: 300;
  color: #fff;
  text-align: center;
  padding-bottom: 0.1em;
}

.co05 .co05_in .co05_in1 h2 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding-bottom: 2.5em;
}

.co05 .co05_in .co05_in1 p {
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  line-height: 2.5em;
  font-weight: ;
  color: #fff;
}


.co05 .co05_in .co05_in1 .co05_in1d {
  background: #3a3a3a;
  padding: 3em 2em;
  margin: 3vw auto;
}

.co05 .co05_in .co05_in1 .co05_in1d h3 {
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  color: #fff;
  text-align: center;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl {
  display: flex;
  flex-flow: row wrap;
  padding: 3em 0 1.5em;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl {
  display: flex;
  flex-flow: row wrap;
  margin: 1em auto 2em;
  width: 48%;
  margin: 0 auto ;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dt {
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  padding: 0.05em 1em;
  color: #fff;
  position: relative;
}


.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dt::before {
  content: "";
  position: absolute;
  width: 1.2em;
  height: 0.05em;
  top: 0.8em;
  right: -0.5em;
  background: #fff;
  transform: rotate(90deg);
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dd {
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  margin-left: 1em;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dd a {
  color: #fff;
  position: relative;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dd a {
  color: #fff;
  position: relative;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dd a:hover {}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dd a::before {
  content: "";
  position: absolute;
  width: 0%;
  height: 0.05em;
  background: #fff;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
}


.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dd a:hover::before {
  width: 100%;
}



.co05 .co05_in .co05_in2 {
  display: flex;
  flex-flow: row wrap;
  padding-top: 9vw;
/*   height: 100vh; */
}

.co05 .co05_in .co05_in2 .co05_2l {
  width: calc(100% - 1050px);
  margin: auto;
  margin-top: 0;
  margin-left: 1em;
}


.co05 .co05_in .co05_in2 .co05_2l .co05_2lin {
  position: -webkit-sticky;
  position: -moz-sticky;
  position: sticky;
  top: 10px;
}

.co05 .co05_in .co05_in2 .co05_2l h3 {
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-weight: 600;
  color: #fff;
  padding-bottom: 2.5em;
}

.co05 .co05_in .co05_in2 .co05_2l .co05_2l_e {
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  line-height: 2.5em;
  font-weight: ;
  color: #fff;
}

.co05 .co05_in .co05_in2 .co05_2l .co05_2l_e img {
  max-width: 100%;
}


.co05 .co05_in .co05_in2 .co05_2r {
  margin-left: 5vw;
  max-width: 900px;
}

.co05 .co05_in .co05_in2 .co05_2r dl {
  counter-increment: mycounter;
  color: #fff;
  margin-bottom: 5em;
}

.co05 .co05_in .co05_in2 .co05_2r dl dt {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  position: relative;
  padding-left: 2.4em;
  font-weight: 600;
}

.co05 .co05_in .co05_in2 .co05_2r dl dt::before {
  content: counter(mycounter, decimal-leading-zero);
  font-family: montserrat,sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  line-height: 1.7em;
  position: absolute;
  top: 0;
  left: 0;
}

.co05 .co05_in .co05_in2 .co05_2r dl dd {
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  line-height: 2em;
  padding-left: 4.2em;
}


.co05 .co05_in .co05_in3 {
  text-align: center;
  padding: 18vw 0 1vw;
  max-width: 36vw;
}

.co05 .co05_in .co05_in3 img {
  max-width: 100%;
}




/**************************************************************

co06表示用

**************************************************************/

.co06 {}

.co06 .co06_in {}

.co06 .co06_in h2 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #000;
  text-align: center;
}

.co06 .co06_in h2 span {
  font-weight: 600;
  display: inline-block;
  padding: 1em 4em 0;
  background: #fff;
}

.co06 .co06_in .co06_in_c {
  background: #fff;
}

.co06 .co06_in .co06_in_c .co06_top_p {
  text-align: center;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  line-height: 2em;
  padding: 9em 7em 8em;
}

.co06 .co06_in .co06_in_c .co06_cout {
  width: 100%;
  max-width: 1500px;
  margin: auto;
  height: auto;
}

.co06 .co06_in .co06_in_c .co06_cout h2 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #000;
  font-weight: 600;
  text-align: left;
  padding-bottom: 1.6em;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_np {
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #000;
  padding-bottom: 4em;
}

.co06_n {
  background: rgba(0, 0, 0, 0.45);
  padding: 14em 0 0;
}

.co06_n .co06_in h2 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #fff;
  text-align: center;
}

.co06_n .co06_in h2 span {
  font-weight: 600;
  display: inline-block;
  padding: 1em 4em 0;
}

.co06_n .co06_in .co06_in_c {
/*   background: #fff; */
}



.co06_n .co06_in .co06_in_c .co06_top_p {
  text-align: center;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  padding: 4em 0 5em;
  color: #fff;
}

.co06_n .co06_in .co06_in_c .co06_cout {
  width: 100%;
  max-width: 1500px;
  margin: auto;
  height: auto;
  position: relative;
}


.co06_n .co06_in .co06_in_c .co06_cout .co06_n_eng {
  font-size: 12rem;
  letter-spacing: 0.1em;
  line-height: 1em;
  color: #1d1d1d;
  font-weight: 600;
  text-shadow: 4px 4px 3px rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  right: 0;
}

.co06_n .co06_in .co06_in_c .co06_cout h2 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #fff;
  font-weight: 600;
  text-align: left;
  padding-bottom: 3em;
}


.co06_n .co06_in .co06_in_c .co06_cout .co06_po {
  padding-bottom: 9vw;
  display: flex;
  flex-flow: row wrap;
}

.co06_n .co06_in .co06_in_c .co06_cout .co06_po article {
  display: inline-block;
  width: 46%;
  margin: 0 auto 9em;
  counter-increment: mycounter;
}

.co06_n .co06_in .co06_in_c .co06_cout .co06_po article h3 {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #fff;
  font-weight: 600;
  padding-bottom: 1em;
  position: relative;
  padding-top: 2.5em;
}


.co06_n .co06_in .co06_in_c .co06_cout .co06_po article h3::before {
  content: counter(mycounter, decimal-leading-zero);
  font-family: montserrat,sans-serif;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: 0.2em;
  line-height: 1.7em;
  position: absolute;
  top: 0;
  left: 0;
}

.co06_n .co06_in .co06_in_c .co06_cout .co06_po article p {
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #fff;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_po article p a {
  display: inline-block;
  position: relative;
  padding-right: 1.5em;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_po article p a::before {
  position: absolute;
  content: "";
  background-image: url('../img/olink.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 0.75em;
  height: 0.75em;
  bottom: 0.4em;
  right: 0.4em;
/*   background: #000; */
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box {
  padding-bottom: 9vw;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box h3 {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #000;
  font-weight: 600;
  padding-bottom: 1em;
  position: relative;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box h3::before {
  position: absolute;
  content: "";
  display: block;
  width: 5em;
  height: 0.07em;
  background: #484848;
  bottom: 0;
  left: 0;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box p {
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  padding-top: 1.8em;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box p a {
  display: inline-block;
  position: relative;
  padding-right: 1.5em;
  font-style: italic;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box p a::before {
  position: absolute;
  content: "";
  background-image: url('../img/olink.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 0.75em;
  height: 0.75em;
  bottom: 0.4em;
  right: 0.4em;
/*   background: #000; */
}

/* ===================================================

参考りんく

=================================================== */


.reference-box {
    position: absolute; /* 位置を絶対指定 */
    top: 20px; /* 上からの距離 */
    right: 20px; /* 右からの距離 */
    width: 200px;
    max-height: 80vh; /* 最大高さを設定 */
    overflow-y: auto; /* スクロール可能に */
    background-color: #f9f9f9;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    display: none; /* 初期状態では非表示 */
    z-index: 1000; /* 重ね順を設定 */
}

.reference-box h3 {
    margin: 0 0 10px;
}

.reference-box ul {
    list-style: none;
    padding: 0;
}

.reference-box li {
    margin: 5px 0;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_question_frame {
  position: relative;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_question_frame .qa_cs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: rgba(255, 255, 255, 0.95);
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_question_frame .qa_cs p {
  font-size: 3rem;
  letter-spacing: 0.1em;
  line-height: 1.3em;
  text-align: center;
  padding-top: 1em;
}


.co06_question {
  margin: 8em auto 6em;
  counter-reset: number 0;
  position: relative;
}



.co06_question .qa {
/*     max-width: 500px; */
    margin-bottom: 10px;
    border: none;
    border-radius: 5px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
    background-color: #f7f7f7;
}

.co06_question .qa summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 4em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
    font-size: 1rem;
    letter-spacing: 0.05em;
    line-height: 1.5em;
}

.co06_question .qa summary::before,
.co06_question .qa .qa_a::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.5rem;
    font-family: "Cormorant Garamond", serif;
}

.co06_question .qa summary::before {
    color: #1c2c58;
    letter-spacing: 0.1em;
    counter-increment: number 1;
    content: "Q" counter(number) " ";
}

.co06_question .qa summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.co06_question .qa[open] summary::after {
    transform: rotate(225deg);
}

.co06_question .qa .qa_a {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0 3em;
    color: #333;
    transition: transform 1s ease, opacity 1s ease, height 1s ease;
    background: #fff;
}

.co06_question .qa[open] .qa_a {
    transform: none;
    height: auto;
    opacity: 1;
    padding: 2em 3em 3em 5em;
}

.co06_question .qa .qa_a::before {
    color: #6c0000;
    line-height: 1.2;
    content: "A";
}



.co06_question .qa .qa_a ul {
  display: flex;
  flex-flow: row wrap;
  padding-bottom: 1.2em;
  padding-left: 6em;
  position: relative;
}


.co06_question .qa .qa_a ul::before {
  position: absolute;
  content:"";
  display: block;
  width: 3em;
  height: 0.2em;
  background: #000;
  top: 1.3em;
  left: 1em;
}

.co06_question .qa .qa_a ul li {
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  line-height: 1.3em;
  margin: 0 1.5em auto 0.5em;
  color: #fff;
  font-weight: 300;
  padding: 0.4em 1em;
/*   border-radius: 3em; */
/*   background: linear-gradient(50deg, rgba(85, 85, 85, 1), rgba(0, 0, 0, 1) 65%); */
}

.co06_question .qa .qa_a ul li.qa_p {
  color: #fff;
}


.co06_question .qa .qa_a ul li a {}

.co06_question .qa .qa_a ul li a:hover {}


.co06_question .qa .qa_a ul li a {
  display: flex;
  flex-flow: row wrap;
  padding-bottom: 1em;
/*   position: relative; */
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
  position: relative;
  padding: 0 0.5em 0.4em 0.3em;
}

.co06_question .qa .qa_a ul li a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.15em;
  bottom: 0;
  left: 0;
  background: #a5a5a5;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
/*   transform: scale(0, 0); */
}


.co06_question .qa .qa_a ul li a::after {
  content: "";
  position: absolute;
  width: 20%;
  height: 0.15em;
  bottom: 0;
  left: 0;
  background: #7c0022;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
}


.co06_question .qa .qa_a ul li a:hover::before {
/*   transform: scale(1 , 1); */
}

.co06_question .qa .qa_a ul li a:hover::after {
  width: 100%;
}



.co06_question .qa .qa_a h4 {
    font-size: 1.1rem;
    letter-spacing: 0.05em;
    line-height: 1.5em;
    font-weight: 600;
    padding-bottom: 0.9em;
}

.co06_question .qa .qa_a p {
    font-size: 1rem;
    letter-spacing: 0.05em;
    line-height: 1.9em;
}




.co06 .co06_in .co06_in_c .co06_cout .co06_box .btn_vm {}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .btn_vm .btn_a {
  text-align: center;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .btn_vm .btn_a a {
  display: inline-block;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  position: relative;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all  0.5s;
  color: #000;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .btn_vm .btn_a a::before {
  position: absolute;
  content:"";
  display: block;
  width: 100%;
  height: 0.05em;
  background:#000;
  bottom: 0;
  left: 0;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .btn_vm .btn_a a:hover {
  color: #9a0000;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .btn_vm .btn_a a:hover::before {
  background: #9a0000;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore {
  position: relative;
  margin: 10em auto 0;
  padding: 0 0 5vw;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore label {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0;
  margin: 0 auto;
  width: 200px;
  padding: 1em 0;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  background-color: #333;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore label.co06_none {
  padding: 0;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore label.co06_none::before {
  display: none;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore label::before {
  content: '続きを見る';
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5em;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore input[type="checkbox"]:checked ~ label::before {
  content: '元に戻す';
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5em;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore input[type="checkbox"] {
  display: none;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore #co06_rm004,
.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore #co06_rm003 {
  display: none;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c {
  position: relative;
  height: 12.5vw;
  overflow: hidden;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7vw;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100%);
  z-index: 2;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore input[type="checkbox"]:checked ~ .co06_rm_c {
  height: auto;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c.co06_none::before {
  display: none;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore input[type="checkbox"]:checked ~ .co06_rm_c::before {
  display: none;
}

.remodal, .remodal-wrapper:after {
    vertical-align: top;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c h3 {
  font-size: 2rem;
  line-height: 2em;
  letter-spacing: 0.2em;
  padding: ;
  font-weight: 400;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c h3::before {
  display: none;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in {}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul {
  display: flex;
  flex-flow: row wrap;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li {
  margin: 1em 0.8em 4em;
  width: 48%;
  padding: 0 0.4em 1em;
  display: inline-block;
/*   position: relative; */
}


/* .co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a::after {
  background: #000;
  bottom: 0;
  content: '';
  display: block;
  height: 0.15em;
  left: 0;
  position: absolute;
  transition: .5s all;
  width: 0;
} */


/* .co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a:hover::after {
  width: 100%;
} */

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a {
  display: flex;
  flex-flow: row wrap;
  padding-bottom: 1em;
/*   position: relative; */
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
  position: relative;
  padding: 0 0 0.4em;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.1em;
  bottom: 0;
  left: 0;
  background: #a5a5a5;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
/*   transform: scale(0, 0); */
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a::after {
  content: "";
  position: absolute;
  width: 11%;
  height: 0.1em;
  bottom: 0;
  left: 0;
  background: #7c0022;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
} 

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a:hover {
/*   filter: drop-shadow(0px 7px 10px rgba(0, 0, 0, 0.6)); */
/*   box-shadow: 10px 10px 20px 1px rgba(0, 0, 0, 0.2); */
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a:hover::before {
/*   transform: scale(1 , 1); */
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a:hover::after {
  width: 100%;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_date {
/*   background: #000; */
  width: 8%;
  margin: 0 auto;
  text-align: center;
  padding: 1em 1.3em 0.8em 0;
  border-right: solid thin #000;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_date span {
  color: #000;
  display: inline-block;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_date .ft_year {
  font-size: 1rem;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-weight: 600;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_date .ft_date {
  font-size: 2.2rem;
  line-height: 1em;
  letter-spacing: 0.05em;
  font-weight: 600;
  padding-left: 0.1em;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_title {
  font-size: 1rem;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  font-weight: ;
  width: 85%;
  margin: 0 auto;
  padding-top: 0;
  -webkit-transition: all 0.8s ease;
  -moz-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  transition: all  0.8s ease;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a:hover .co06_title {
/*   font-weight: 600; */
  color: #1c2c58;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_title::before {}




/**************************************************************

co07表示用

**************************************************************/
.co07 {
  background: #f4f5f8;
  background: rgba(0, 0, 0, 0.7);
}

.co07 .co07_in {
  padding: 8.5vw 0;
}

.co07 .co07_in .co07_oh_box {
  max-width: 1500px;
  width: 94%;
  margin: auto;
  padding: 0 2% 5vw;
}

.co07 .co07_in .co07_oh_box h3 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-weight: 600;
  padding-bottom: 1.4em;
  color: #fff;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in {
  padding-left: 2%;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in h4 {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  font-weight: 600;
  color: #fff;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in ul {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  padding-left: 5em;
  margin-top: 2em;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in ul::before {
  content: "";
  position: absolute;
  width: 4em;
  height: 0.05em;
  top: 1.2em;
  left: 0;
  background: #fff;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in ul li {
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  line-height: 1.9em;
  font-weight: ;
  margin: auto 0 auto 1em;
  color: #fff;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in ul li a {
  color: #fff;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in ul li a {
  display: flex;
  flex-flow: row wrap;
  padding-bottom: 1em;
/*   position: relative; */
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
  position: relative;
  padding: 0 0.5em 0.4em 0.3em;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in ul li a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.15em;
  bottom: 0;
  left: 0;
  background: #a5a5a5;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
/*   transform: scale(0, 0); */
}


.co07 .co07_in .co07_oh_box .co07_oh_box_in ul li a::after {
  content: "";
  position: absolute;
  width: 20%;
  height: 0.15em;
  bottom: 0;
  left: 0;
  background: #7c0022;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
}


.co07 .co07_in .co07_oh_box .co07_oh_box_in ul li a:hover::before {
/*   transform: scale(1 , 1); */
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in ul li a:hover::after {
  width: 100%;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in p {
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  line-height: 1.9em;
  font-weight: ;
  padding-top: 2em;
  color: #fff;
}


.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink {
  margin: 2.5vw auto auto;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl {
  display: flex;
  flex-flow: row wrap;
  margin: 1em auto 2em;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dt {
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  padding: 0.05em 1em;
  color: #fff;
  position: relative;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dt::before {
  content: "";
  position: absolute;
  width: 1.2em;
  height: 0.05em;
  top: 0.8em;
  right: -0.5em;
  background: #fff;
  transform: rotate(90deg);
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dd {
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  margin-left: 1em;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dd a {
  color: #fff;
  position: relative;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dd a:hover {}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dd a::before {
  content: "";
  position: absolute;
  width: 0%;
  height: 0.05em;
  background: #fff;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
}


.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dd a:hover::before {
  width: 100%;
}

/**************************************************************

co_topics表示用

**************************************************************/

.co_topic {
  background: #fff;
}


.co_topic .co_tp {
  max-width: 1200px;
  margin: auto;
  padding: 12em 0;
}

.co_topic .co_tp .co_tpin {}

.co_topic .co_tp .co_tpin .co_tpin_eng {
  text-align: center;
  font-size: 2rem;
  line-height: 1.7em;
  letter-spacing: 0.75em;
}

.co_topic .co_tp .co_tpin h2 {
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.3em;
  letter-spacing: 0.05em;
  font-weight: 600;
}

/**************************************************************

co08表示用

**************************************************************/

.co08 {
  background: url(../img/ai_main_006.webp);
  background-position: center top;
  background-attachment: fixed;
  background-size: cover;
  overflow: hidden;
  width: 100%;
}

.co08 .co08_in {
  background: rgba(0, 0, 0, 0.6);
  padding: 10vw 0;
}

.co08 .co08_in .co08_inB {
  max-width: 1500px;
  width: 100%;
  margin: auto;
}

.co08 .co08_in .co08_inB h3 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-weight: 600;
  text-align: center;
  color: #fff;
  padding-bottom: 4vw;
}

.co08 .co08_in .co08_inB p {
  font-size: 1.15rem;
  letter-spacing: 0.05em;
  line-height: 1.9em;
  color: #fff;
}



/**************************************************************

co09表示用

**************************************************************/

.co09 {
  padding: 5vw 0 0;
}

.co09 .co09_in {
  padding: 7vw 0;
}

.co09 .co09_in .co09_en {
  font-size: 2rem;
  letter-spacing: 0.75em;
  line-height: 1em;
  color: #fff;
  text-align: center;
  padding-bottom: 1em;
  font-weight: 300;
}

.co09 .co09_in h2 {
  font-size: 1.3rem;
  letter-spacing: 0.15em;
  line-height: 1em;
  color: #fff;
  padding-bottom: 5vw;
  text-align: center;
  font-weight: 600;
}

.co09 .co09_in .lawyer_con {
  display: flex;
  flex-flow: row wrap;
}

.co09 .co09_in .lawyer_con .lawyer {
  width: 25%;
  margin: 0 0 3em;
}

.co09 .co09_in .lawyer_con .lawyer a {
  display: inline-block;
  transition: all .4s ease-in-out;
}

.co09 .co09_in .lawyer_con .lawyer a:hover {
  box-shadow: 1px 1px 21px rgba(0,0,0,.35);
}

.co09 .co09_in .lawyer_con .lawyer a picture {}

.co09 .co09_in .lawyer_con .lawyer a picture img {
  max-width: 100%;
}

.co09 .co09_in .lawyer_con .lawyer a .lw_txt {
  padding: 1.8em 1.3em 1.3em;
}

.co09 .co09_in .lawyer_con .lawyer a .lw_txt h3 {
  font-size: 1.2rem;
  letter-spacing: 0.15em;
  line-height: 1em;
  color: #fff;
}

.co09 .co09_in .lawyer_con .lawyer a .lw_txt p {
  font-size: 1.1rem;
  letter-spacing: 0.15em;
  line-height: 1em;
  color: #fff;
  padding: 1em 0 1.3em;
}



.co09 .co09_in .law_con_i {
  display: flex;
  flex-flow: row wrap;
}

.co09 .co09_in .law_con_i .lawcon_f {
  width: 45%;
  margin: 0 auto 0 0;
}

.co09 .co09_in .law_con_i .lawcon_f picture {}

.co09 .co09_in .law_con_i .lawcon_f picture img {
  max-width: 100%;
}


.co09 .co09_in .law_con_i .lawcon_s {
  width: 50%;
  margin: 0 auto 0;
}

.co09 .co09_in .law_con_i .lawcon_s h3 {
  font-size: 1.7rem;
  letter-spacing: 0.15em;
  line-height: 1em;
  color: #fff;
}

.co09 .co09_in .law_con_i .lawcon_s p {
  font-size: 1.3rem;
  letter-spacing: 0.15em;
  line-height: 1em;
  color: #fff;
  padding: 0.5em 0 1.3em;
}

.co09 .co09_in .law_con_i .lawcon_s ul {
  padding: 1em 0 1.5em;
}

.co09 .co09_in .law_con_i .lawcon_s ul li {
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  line-height: 1.4em;
  color: #fff;
  padding: 1em 0 0.5em;
  display: flex;
  flex-flow: row wrap;
}


.co09 .co09_in .law_con_i .lawcon_s ul li span.year {
  width: 17%;
  margin: 0 auto 0 0;
}

.co09 .co09_in .law_con_i .lawcon_s ul li span.list {
  width: 82%;
  margin: 0 0 auto auto;
}
 
.co09 .co09_in .law_con_i .lawcon_s .law_btn {
  font-size: 1.3rem;
  letter-spacing: 0.5em;
  line-height: 1.4em;
  text-align: center;
  display: inline-block;
  padding: 0.1em 4em 0.1em 0;
  margin-top: 1em;
}


.co09 .co09_in .law_con_i .lawcon_s .law_btn a::before {}

.co09 .co09_in .law_con_i .lawcon_s .law_btn a::after {}


.co09 .co09_in .law_con_i .lawcon_s .law_btn a {
  display: flex;
  flex-flow: row wrap;
  color: #fff;
  padding-bottom: 1em;
/*   position: relative; */
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
  position: relative;
  padding: 0 1.2em 0.4em 0;
}

.co09 .co09_in .law_con_i .lawcon_s .law_btn a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.1em;
  bottom: 0;
  left: 0;
  background: #a5a5a5;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
/*   transform: scale(0, 0); */
}


.co09 .co09_in .law_con_i .lawcon_s .law_btn a::after {
  content: "";
  position: absolute;
  width: 20%;
  height: 0.1em;
  bottom: 0;
  left: 0;
  background: #7c0022;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
}


.co09 .co09_in .law_con_i .lawcon_s .law_btn a:hover::before {
/*   transform: scale(1 , 1); */
}

.co09 .co09_in .law_con_i .lawcon_s .law_btn a:hover::after {
  width: 100%;
}

/* =======================================

フッター直前のLL会員登録

======================================= */

.legal_l {
  /* padding: 4vw 0; */
  /* background: url(../img/ll_bg.webp);
  background-position: center top;
  background-attachment: fixed;
  background-size: cover;
  overflow: hidden; */
  margin-top: 5%;
  background: #0481A2;
  z-index: -2;
}

.legal_l .llbg a.slipe {
  /* background:#0481A2; */
  padding: 4.5vw 0;
  /* display: inline-block; */
  position: relative;
}

.legal_l .llbg a.slipe::after {
  content: '';
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #2f4a81;
  transition:all .5s;
  opacity: 0;
}

.legal_l .llbg a.slipe:hover::after {
  width: 100%;
  opacity: 1;
}

.legal_l .llbg a.slipe:hover{
  color: #fff;
}



.legal_l .llbg .llcon {
  display: flex;
  flex-flow: row wrap;
  z-index: 2;
  position: relative;
}

.legal_l .llbg .llcon .ll_le {
  margin: 0 auto;
}

.legal_l .llbg .llcon .ll_le h3 {
  font-size: 3rem;
  letter-spacing: 0.15em;
  line-height: 1em;
  color: #fff;
  padding-bottom: 0.3em;
}

.legal_l .llbg .llcon .ll_le p {
  font-size: 1rem;
  letter-spacing: 0.15em;
  line-height: 1.7em;
  padding-left: 2em;
  color: #fff;
  position: relative;
}

.legal_l .llbg .llcon .ll_le p::before {
  content: "";
  width: 0;
  height: 0.1em;
  position: absolute;
  top: 0.8em;
  left: 0;
  margin: auto;
  color: #A58B68;
  border-left: 1.3em solid #A58B68;
}

.legal_l .llbg .llcon .ll_ri {
  margin: 0 auto;
}

.legal_l .llbg .llcon .ll_ri p {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #fff;
}



.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn {
  margin-top: 2.2em;
  display: inline-block;
  position: relative;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn::before {
  content: "";
  width: 4px;
  height: 4px;
  background-color: #8d0116;
  border-radius: 50%;
  position: absolute;
  top: 52%;
  left: 12px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 11;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span {
  display: inline-block;
  background: #fff;
  color: #091246;
  font-weight: 600;
  padding: 0.5em 4vw;
  letter-spacing: 0.2em;
  position: relative;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span::before {
  background-color: #fff;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  bottom: -6px;
  height: 1px;
  right: -6px;
  width: 100%;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span::after {
  background-color: #fff;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  top: 6px;
  right: -6px;
  height: 100%;
  width: 1px;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span:hover {
  color: #fff;
  background: -webkit-gradient(linear,left top,right top,from(#102035),to(#204068));
  background: linear-gradient(90deg,#102035,#204068);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span:hover::before {
  right: 0;
  bottom: 0;
  background: #204068;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span:hover::after {
  top: 0;
  right: 0;
  background: #204068;
}



/**************************************************************

footer表示用

**************************************************************/


footer {
  background: #25355A;
  padding: 2% 0 1%;
  /* margin-top: 5%; */
}

footer .ftcon {
  display: flex;
  flex-flow: row wrap;
  padding: 1.5em 0 4em ;
}

footer .ftcon .ft_le {
  width: 50%;
  margin: 0 2em 0 0;
}

footer .ftcon .ft_le .ft_logo {}

footer .ftcon .ft_le .ft_logo .logo_in {
  width: 100%;
  max-width: 250px;
  text-align: center;
}

footer .ftcon .ft_le .ft_logo a {}

footer .ftcon .ft_le .ft_logo a img {
  width: 100%;
  max-width: 300px;
}

footer .ftcon .ft_le p {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #fff;
  padding-top: 0.5em;
  position: relative;
  padding-left: 1.8em;
}

footer .ftcon .ft_le p strong {
  display: inline-block;
  padding-right: 0.5em;
}

footer .ftcon .ft_le p::before {
  content: "";
  width: 0;
  height: 0.1em;
  position: absolute;
  top: 1.4em;
  left: 0;
  margin: auto;
  color: #A58B68;
  border-left: 1.3em solid #A58B68;
}

footer .ftcon .ft_le p.ft_logotxt {
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  transform: scaleX(0.92);
  line-height: 2em;
  color: #fff;
  padding-top: 0.1em;
  position: relative;
  text-align: center;
  padding-left: 0;
  /*max-width: 300px;*/
}

footer .ftcon .ft_le p.ft_logotxt::before {
  display: none;
}

footer .ftcon .ft_ri {
  width: 45%;
  margin: 0 auto;
}

footer .ftcon .ft_ri ul {
  display: flex;
  flex-flow: row wrap;
}

footer .ftcon .ft_ri ul li {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #fff;
  position: relative;
  padding-left: 1.8em;
  width: 39%;
  margin: 0.3em 0;
}

footer .ftcon .ft_ri ul li::before {
  content: "";
  width: 0;
  height: 0.1em;
  position: absolute;
  top: 0.8em;
  left: 0;
  margin: auto;
  color: #fff;
  border-left: 1.3em solid #fff;
}

footer .ftcon .ft_ri ul li a {
  color: #fff;
  position: relative;
  display: inline-block;
  text-decoration: none;
}

footer .ftcon .ft_ri ul li a:hover {}

footer .ftcon .ft_ri ul li a::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .2s;
}

footer .ftcon .ft_ri ul li a:hover::after {
  transform: scale(1, 1);
}


footer .ftcon2 {
  background: #FAF7F7;
}

footer .ftcon2 p {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #1C2C58;
} 



/**************************************************************

modal表示用

**************************************************************/

.remodal {
  max-width: 100%;
/*   height: 100vh; */
}

.remodal .co06_question .qa p {
  text-align: left;
}


.remodal .co06_question .qa p a {
  display: inline-block;
  position: relative;
  padding-right: 1.5em;
  font-style: italic;
}

.remodal .co06_question .qa p a::before {
  position: absolute;
  content: "";
  background-image: url('../img/olink.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 0.75em;
  height: 0.75em;
  bottom: 0.4em;
  right: 0.4em;
/*   background: #000; */
}

.remodal-cancel {
  background: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  padding: 0.4em 2em;
}



@media screen and (min-width: 1921px) and (max-width: 2600px) {}

@media screen and (max-width: 1548px) {}

@media screen and (max-width: 1500px) {}

@media screen and (max-width: 1495px) {}

@media screen and (max-width: 1455px) {
.content1440 {
  width: 90%;
  max-width: 1440px;
  height: auto;
  margin: auto 5%;
}

.co06 .co06_in .co06_in_c .co06_cout h2 {
  padding-left: 2vw;
}

.co08 .co08_in {
  padding: 10vw 4vw;
}


}

@media screen and (min-width: 1441px) {}

@media screen and (max-width: 1351px) {}

@media screen and (max-width: 1300px) {}

@media screen and (max-width: 1290px) {}

@media screen and (max-width: 1251px) {}


@media screen and (max-width: 1200px) {}


@media screen and (max-width: 1150px) {}


@media screen and (max-width: 1100px) {}


@media screen and (max-width: 1050px) {}


@media screen and (max-width: 1000px) {}


@media screen and (max-width: 960px) {}

@media only screen and (max-width: 979px) {
.sp_979 {
  display: block;
}


}

@media screen and (min-width: 641px) and (max-width: 1024px) {}

@media screen and (max-width: 767px) {}

@media screen and (max-width: 640px) {

.pc {
  display: none;
}

.sp {
  display: block;
}

.contents {
  width: 100%;
  max-width: 1600px;
  margin: auto;
  height: auto;
}

.contents2 {
  width: 90%;
  max-width: 1200px;
  margin: auto 5%;
  height: auto;
}

.contents3 {
  width: 90%;
  max-width: 1000px;
  margin:  auto 5%;
  height: auto;
}

.contents3_2 {
  width: 90%;
  max-width: 1100px;
  margin:  auto 5%;
  height: auto;
}

.contents4 {
  width: 94%;
  max-width: 600px;
  height: auto;
  margin: auto 3%;
}

.contents1440 {
  width: 90%;
  max-width: 1440px;
  margin:  auto 5%;
  height: auto;
}



/**************************************************************

全体的なPC表示用

**************************************************************/

.css-circle-wrap {
  position: fixed;
  top: 30vw;
  left: 5vw;
  right: 5vw;
  z-index: -1;
/*     width: 100%; */
/*     height: 100vh; */
}

.css-circle-b {
  border-radius: 50% 70% 45% 80% / 50% 70% 45% 50%;
  background: #fff;
/*   mix-blend-mode: multiply; */
  animation-name: corners, rotate;
  animation-duration: 20s, 12s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  width: 80vw;
  height: 80vw;
/*   filter: blur(30px); */
  filter: blur(16px);
}

.css-circle-b01 {
  border-radius: 50% 70% 45% 80% / 50% 70% 45% 50%;
/*   background: #48bcbf; */
  background: rgba(72, 188, 191, 0.5);
  top: 1vw;
  left: 0;
  right: 0;
  margin: auto;
  width: 84vw;
  height: 84vw;
}

.css-circle-b02 {
  position: absolute;
/*   background: #366ea5; */
  background: rgba(18,108,197,0.5);
  top: 1vw;
  left: 0;
  right: 0;
  margin: auto;
  animation-name: corners, rotate02;
}

.css-circle-b03 {
  position: absolute;
  background: #a43f49;
  background: rgba(181, 26, 42, 0.5);
  top: 1vw;
  left: 0;
  right: 0;
  margin: auto;
  animation-name: corners, rotate03;
}

.css-circle-b00 {
  border-radius: 50% 55% 45% 60% / 50% 60% 50% 40%;
  position: absolute;
  background: #000;
  top: 5%;
  left: 5%;
  right: 0;
  margin: auto;
  animation-name: corners02, rotate04;
  filter: blur(25px);
  width: 80vw;
  height: 80vw;
}


/**************************************************************

main表示用

**************************************************************/

.main .main_co {
  text-align: center;
  padding: 30vw 0;
}

.main .main_co h1 {
  font-size: 3vw;
  padding-bottom: 1em;
}


.main .main_co h1 span.main_co_sbig {
  font-size: 4.6vw;
  display: inline-block;
  padding-bottom: 2vw;
}

.main .main_co .main_co_p img {
  max-width: calc(100% - 20vw);
}


/**************************************************************

co01表示用

**************************************************************/

.co01 .co01_in {
  max-width: calc(100% - 20vw);
  margin-top: 25vw;
}

.co01 .co01_in h2 {
  font-size: 5vw;
}

.co01 .co01_in p {
  font-size: 4.2vw;
  line-height: 2.5em;
}


/**************************************************************

co_n02表示用

**************************************************************/

.co_n02 {
  padding: 11vw 0 16vw;
  margin: 26vw auto 0;
}

.co_n02 .con02_in {
  display: flex;
  flex-flow: row wrap;
}

.co_n02 .con02_in .con02_left {
  width: 100%;
  margin: 0 auto 0 0;
}

.co_n02 .con02_in .con02_left .con02_eng {
  font-size: 8vw;
}

.co_n02 .con02_in .con02_left h3 {
  font-size: 3.6vw;
}

.co_n02 .con02_in .con02_left .con02_l_box {
  margin: 5em auto;
}

.co_n02 .con02_in .con02_left .con02_l_box dl {
  padding-bottom: 1.5em;
  margin-bottom: 4em;
  position: relative;
}


.co_n02 .con02_in .con02_left .con02_l_box dl:last-child {
  margin-bottom: auto;
}

.co_n02 .con02_in .con02_left .con02_l_box dl::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.05em;
  background: #828282;
  bottom: 0;
  left: 0;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dt {
  display: flex;
  flex-flow: row wrap;
  margin: auto auto 1em;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dt .con02_l_date {
  font-size: 3.6vw;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dt .con02_l_con {
  font-size: 3.6vw;
}

.co_n02 .con02_in .con02_left .con02_l_box dl dd {
  font-size: 3.6vw;
}




.co_n02 .con02_in .con02_right {
  width: 100%;
  margin: 8vw auto auto;
}






/* タブ */
.tab_list {
  display: flex;
/*   justify-content: space-between; */
}

.tab_item {
  width: 40%;
  padding: 1em 0;
  margin: auto 1em;
/*   background: rgba(255, 255, 255, 0.6); */
  color: #fff;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  text-align: center;
  cursor: pointer;
  transition: .4s ease-in-out;
}

.tab_item span {
  font-size: 3.8vw;
  letter-spacing: 0.25em;
}

.tab_item:first-child {
/*   background: rgba(226, 129, 148, 0.15); */
  border: solid thin #000;
}

.tab_item:nth-child(2) {
/*   background: rgba(245, 182, 2, 0.15); */
  border: solid thin #000;
}

.tab_item:nth-child(3) {
  background: rgba(138, 179, 161, 0.15);
    border: solid thin #000;
}

.tab_item:nth-child(4) {
  background: rgba(92, 183, 212, 0.15);
    border: solid thin #000;
}

/* .tab_item:last-child {
  background: rgba(177, 121, 196, 0.15);
} */

/* タブをクリックした時 ホバーした時 */
.tab_item:hover, 
.tab_item.is_active {
  color: #fff;
}

.tab_item:first-child:hover, 
.tab_item:first-child.is_active {
/*   background: rgba(255, 255, 255, 0.7); */
}

.tab_item:nth-child(2):hover, 
.tab_item:nth-child(2).is_active {
/*   background: #f5b602; */
}

.tab_item:nth-child(3):hover, 
.tab_item:nth-child(3).is_active {
  background: #8ab3a1;
}

.tab_item:nth-child(4):hover, 
.tab_item:nth-child(4).is_active {
  background: #5cb7d4;
}

.tab_item:last-child:hover, 
.tab_item:last-child.is_active {
/*   background: #b179c4; */
}


.tab_item:first-child:hover,
.tab_item:nth-child(2):hover {
/*   background: rgb(192 192 192 / 20%); */
  border: solid thin rgba(147, 147, 147, 0.7);
  box-shadow: 3px 3px 20px 1px rgb(70 70 70);
  color: #fff;
}

.tab_item:first-child.is_active,
.tab_item:nth-child(2).is_active {
  border: solid thin rgba(255, 255, 255, 0.95);
/*   background: rgba(255, 255, 255, 0.95); */
}


.tab_item:nth-child(2):hover {
  background: none;
}

.tab_item:hover.is_active {
/*   color: #000; */
/*   background: rgba(255, 255, 255, 0.95); */
}



/* パネル */
.pan_list {
  margin: 2em auto;
}

.pan_i {
  display: none;
  width: 100%;
  padding: 2em 0.5em 3em;
}

.pan_i.is_active {
  display: block;
/*   box-shadow: 0px 13px 15px 10px rgb(17 17 17); */
  animation: panel-show .9s ease-in-out forwards;
}

/* パネル切り替えのアニメーション */
@keyframes panel-show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


.co_n02 .con02_in .con02_right .pan_list {}

.co_n02 .con02_in .con02_right .pan_list .pan_i {
  width: auto;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_en {
  font-size: 8vw;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i h3 {
  font-size: 3.6vw;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl {
  margin: 3em auto;
  height: 60vh;
  overflow-y: scroll;
  scrollbar-width: none;
}


.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl {
  padding-bottom: 1.5em;
  margin-bottom: 5.2em;
  position: relative;
}


.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl:last-child {
  margin-bottom: auto;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.05em;
  background: #828282;
  bottom: 0;
  left: 0;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dt {
  display: flex;
  flex-flow: row wrap;
  margin: auto auto 1em;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dt .con02_l_date {
  font-size: 3.6vw;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dt .con02_l_con {
  font-size: 3.6vw;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dd {
  font-size: 3.6vw
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .pan_nl dl dd a {
  color: #fff;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .contnone {
  font-size: 3.6vw;
  padding: 8vw 0 4vw;
}

.co_n02 .con02_in .con02_right .pan_list .pan_i .contnone span {
  font-size: 6.5vw;
  line-height: 1.4em;
  letter-spacing: 0.5em;
  padding-bottom: 2vw;
  display: inline-block;
}


/**************************************************************

co02表示用

**************************************************************/


.co02 .co02_in {
  margin: 40vw auto 9em;
}

.co02 .co02_in .co02_top {
  display: contents;
  flex-flow: row wrap;
}

.co02 .co02_in .co02_top .co02_tl {
  width: 100%;
}

.co02 .co02_in .co02_top .co02_tl h2 {
  font-size: 7vw;
}

.co02 .co02_in .co02_top .co02_tl p {
  font-size: 3.8vw;
  line-height: 2em;
  letter-spacing: 0.05em;
  color: #fff;
  padding-left: 1vw;
}

.co02 .co02_in .co02_top figure {
  display: block;
  width: 85%;
  margin: 2.5em auto 6em;
  text-align: center;
}



.co02 .co02_in .co02_bottom {
  padding: 4em 2em;
  margin: auto;
}

.co02 .co02_in .co02_bottom .co02_svg {
  text-align: left;
}

.co02 .co02_in .co02_bottom .co02_bt_in {
  display: block;
}

.co02 .co02_in .co02_bottom .co02_bt_in h3 {
  font-size: 7vw;
  width: 100%;
  text-align: left;
}

.co02 .co02_in .co02_bottom .co02_bt_in p {
  font-size: 3.8vw;
  width: 100%;
}



/**************************************************************

co03表示用

**************************************************************/

.co03 {
  padding: 6em 0 8em;
}

.co03 .co03_in {}

.co03 .co03_in .co03_in_ent {
  font-size: 7vw;
}


.co03 .co03_in h2 {
  font-size: 4.5vw;
}

.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}

.swiper-button-prev::after, .swiper-button-next::after {
  width: 0.8rem;
  height: 0.8rem;
  content: "" !important;
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0;
}




.co03 .co03_in .co03_in_sw .swiper .swiper-wrapper {}

.co03 .co03_in .co03_in_sw .swiper ul {
/*   width: 100%; */
  margin: auto;
/*   margin-left: 15%; */
}

.co03 .co03_in .co03_in_sw .swiper .swiper-wrapper .swiper-slide {}

.co03 .co03_in .co03_in_sw .swiper ul li {
  width: 90%;
}

.co03 .co03_in .co03_in_sw .swiper .swiper-wrapper .swiper-slide a {
  display: inline-block;
}

.co03 .co03_in .co03_in_sw .swiper ul li a {}

.co03 .co03_in .co03_in_sw .swiper ul li a figure {
  display: inline-block;
}

.co03 .co03_in .co03_in_sw .swiper ul li a figure img {
  width: 100%;
}

.co03 .co03_in .co03_in_sw .swiper ul li a p {
  font-size: 3.6vw;
  padding-top: 1.4em;
}


/**************************************************************

co04表示用

**************************************************************/

.co04 {
  padding: 7rem 0;
}

.co04 .co04_in {
  width: 90%;
}

.co04 .co04_in h2 {
  font-size: 7vw;
}

.co04 .co04_in p {
  font-size: 4.2vw;
  line-height: 2.5em;
}



/**************************************************************

co05表示用

**************************************************************/

.co05 {
  padding: 4rem 0 2em;
}

.co05 .co05_in .co05_in1 .co05_in1en {
  font-size: 6vw;
}

.co05 .co05_in .co05_in1 h2 {
  font-size: 5.5vw;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding-bottom: 2.5em;
}



.co05 .co05_in .co05_in1 p {
  font-size: 3.8vw;
}

.co05 .co05_in .co05_in1 .co05_in1d {
  margin: 15vw auto 5vw;
}


.co05 .co05_in .co05_in1 .co05_in1d h3 {
  font-size: 4.5vw;
  text-align: left;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl {
  display: block;
}


.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl {
  width: 100%;
  margin-bottom: 1.5em;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dt {
  font-size: 3.6vw;
  letter-spacing: 0.35em;
  text-align: left;
  padding: 0.05em 1em 0.05em 0em;
}

.co05 .co05_in .co05_in1 .co05_in1d .co05_in1d_dl dl dd {
  font-size: 3.6vw;
  margin-left: auto;
}

.co05 .co05_in .co05_in2 {
  display: contents;
  flex-flow: row wrap;
  padding-top: 9vw;
/*   height: 100vh; */
}

.co05 .co05_in .co05_in2 .co05_2l {
  width: 80%;
  margin: auto;
  margin-top: 18em;
  margin-left: 1em;
}


.co05 .co05_in .co05_in2 .co05_2l .co05_2lin {
  position: -webkit-sticky;
  position: -moz-sticky;
  position: sticky;
  top: 10px;
}

.co05 .co05_in .co05_in2 .co05_2l h3 {
  font-size: 4.2vw;
}

.co05 .co05_in .co05_in2 .co05_2l .co05_2l_e {
  font-size: 3.8vw;
}

.co05 .co05_in .co05_in2 .co05_2l .co05_2l_e img {
  max-width: 100%;
}


.co05 .co05_in .co05_in2 .co05_2r {
  margin-left: 3vw;
}


.co05 .co05_in .co05_in2 .co05_2r dl dt {
  font-size: 5.4vw;
  padding-left: 2.2em;
}

.co05 .co05_in .co05_in2 .co05_2r dl dt::before {
  font-size: 5.8vw;
}

.co05 .co05_in .co05_in2 .co05_2r dl dd {
  font-size: 3.8vw;
  padding-left: 3.2em;
}


.co05 .co05_in .co05_in3 {
  text-align: center;
  padding: 18vw 0 1vw;
  max-width: 70vw;
  margin: auto;
}





/**************************************************************

co06表示用

**************************************************************/


.co06 .co06_in h2 {
  font-size: 6vw;
  font-weight: 600;
}

.co06 .co06_in h2 span {
  padding: 1em 1em 0;
}

.co06 .co06_in .co06_in_c .co06_top_p {
  text-align: left;
  font-size: 3.8vw;
  line-height: 2em;
  padding: 5em 1.2em;
}

.co06 .co06_in .co06_in_c .co06_cout {
  width: 100%;
  max-width: 1500px;
  margin: auto;
  height: auto;
}

.co06 .co06_in .co06_in_c .co06_cout h2 {
  font-size: 7vw;
  font-weight: 600;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_np {
  font-size: 3.8vw;
  padding: 0 3vw 14vw;
  line-height: 2em;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box {
  padding-bottom: 22vw;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box h3 {
  font-size: 5.8vw;
  font-weight: 600;
  position: relative;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box h3::before {
  position: absolute;
  content:"";
  display: block;
  width: 5em;
  height: 0.07em;
  background: #484848;
  bottom: 0;
  left: 0;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box p {
  font-size: 3.8vw;
  letter-spacing: 0.1em;
  line-height: 2em;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box p a {
  display: inline;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box p.co06_box_p {
  padding-top: 1.8em;
}




.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_question_frame .qa_cs p {
  font-size: 11vw;
  letter-spacing: 0.1em;
  line-height: 1.3em;
  text-align: center;
  padding-top: 1em;
}

.co06_question {
  margin: 8em auto 3.5em;
  counter-reset: number 0;
}



.co06_question .qa {
/*     max-width: 500px; */
    margin-bottom: 10px;
    border: none;
    border-radius: 5px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
    background-color: #f7f7f7;
}

.co06_question .qa summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 2.5em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
    font-size: 3.8vw;
    letter-spacing: 0.05em;
    line-height: 1.5em;
}

.co06_question .qa summary::before,
.co06_question .qa .qa_a::before {
    position: absolute;
    left: 0.4em;
    top: 0.7em;
    font-weight: 600;
    font-size: 5vw;
    font-family: "Cormorant Garamond", serif;
}


.co06_question .qa .qa_a::before {
  top: 6vw;
  left: 3vw;
}

summary::-webkit-details-marker {
  display:none;
}

.co06_question .qa summary::before {
    color: #1c2c58;
    letter-spacing: 0.1em;
    counter-increment: number 1;
    content: "Q" counter(number) " ";
}

.co06_question .qa summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 19px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 2px solid #333333b3;
    border-right: 2px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.co06_question .qa[open] summary::after {
    transform: rotate(225deg);
}

.co06_question .qa .qa_a {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1.3em 3em 1.5em 5em;
    color: #333;
    transition: transform .5s, opacity .5s;
    background: #fff;
}

.co06_question .qa[open] .qa_a {
    transform: none;
    opacity: 1;
}

.co06_question .qa .qa_a::before {
/*     color: #ff8d8d; */
    line-height: 1.2;
    content: "A";
}



.co06_question .qa .qa_a ul {
  display: flex;
  flex-flow: row wrap;
  padding-bottom: 1.2em;
  padding-left: 2.5em;
  position: relative;
}


.co06_question .qa .qa_a ul::before {
  position: absolute;
  content:"";
  display: block;
  width: 1.5em;
  height: 0.2em;
  background: #000;
  top: 1.3em;
  left: 0em;
}

.co06_question .qa .qa_a ul li {
  font-size: 3.6vw;
  margin: 0 0.5em 0.5em 0;
  padding: 0.4em 1.6em;
}


.co06_question .qa .qa_a h4 {
    padding-bottom: 0.9em;
}

.co06_question .qa .qa_a p {
    font-size: 3.6vw;
    font-weight: 600;
}




.co06 .co06_in .co06_in_c .co06_cout .co06_box .btn_vm .btn_a a {
  font-size: 6vw;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .btn_vm .btn_a a::before {
  position: absolute;
  content:"";
  display: block;
  width: 100%;
  height: 0.05em;
  background:#000;
  bottom: 0;
  left: 0;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore {
  position: relative;
  margin: 7em auto 0;
  padding: 0 0 10vw;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore label {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0;
  margin: 0 auto;
  width: 200px;
  padding: 0.6em 0;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  background-color: #333;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore label::before {
  content: '続きを見る';
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5em;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore input[type="checkbox"]:checked ~ label::before {
  content: '元に戻す';
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5em;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore input[type="checkbox"] {
  display: none;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c {
  position: relative;
  height: 65vw;
  overflow: hidden;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c.co06_none {
  height: 45vw;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 36vw;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100%);
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c.co06_none::before {
  display: none;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore input[type="checkbox"]:checked ~ .co06_rm_c {
  height: auto;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore input[type="checkbox"]:checked ~ .co06_rm_c::before {
  display: none;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c h3 {
  font-size: 7vw;
  padding-bottom: 0.2em;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c h3::before {
  display: none;
}


.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in {}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul {
  display: contents;
  flex-flow: row wrap;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li {
  margin: 1em 0.8em 2em 0;
  width: 100%;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a {
  display: block;
  flex-flow: row wrap;
  padding-bottom: 0em;
/*   position: relative; */
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all  0.8s;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a:hover {
/*   filter: drop-shadow(0px 7px 10px rgba(0, 0, 0, 0.6)); */
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_date {
  background: #000;
  width: auto;
  margin: 0 auto auto 0;
  text-align: left;
  padding: 0.5em 1em;
  display: inline-block;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_date span {
  color: #fff;
  display: inline-block;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_date .ft_year {
  font-size: 3vw;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_date .ft_date {
  font-size: 4vw;
}

.co06 .co06_in .co06_in_c .co06_cout .co06_box .co06_readmore .co06_rm_c .co06_rm_c_in ul li a .co06_title {
  font-size: 3.8vw;
  width: 100%;
  padding: 0.8em 0;
  line-height: 1.4em;
  font-weight: 600;
/*   border-bottom: solid 0.1em #e1e1e1; */
}

/**************************************************************

co07表示用

**************************************************************/


.co07 .co07_in {
  padding: 8.5vw 0;
}

.co07 .co07_in .co07_oh_box {
  max-width: 1500px;
  width: 94%;
  margin: auto;
  padding: 0 2% 5vw;
}

.co07 .co07_in .co07_oh_box h3 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-weight: 600;
  padding-bottom: 1.4em;
}




/**************************************************************

co07表示用

**************************************************************/

.co07 .co07_in {
  padding: 26vw 0 8vw;
}

.co07 .co07_in .co07_oh_box {
  padding: 0 2% 15vw;
}

.co07 .co07_in .co07_oh_box h3 {
  font-size: 7vw;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in {
  padding: 0 4vw;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in h4 {
  font-size: 5.8vw;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in p {
  font-size: 3.6vw;
  line-height: 2.4em;
}



.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink {
  margin: 8vw auto auto;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl {
  display: flex;
  flex-flow: row wrap;
  margin: 1em auto 2em;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dt {
  font-size: 3.6vw;
  padding: 0.05em 1em 0.05em 0;
  letter-spacing: 0.2em;
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dt::before {
  content: "";
  position: absolute;
  width: 1.2em;
  height: 0.05em;
  top: 0.8em;
  right: -0.5em;
  background: #fff;
  transform: rotate(90deg);
}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dd {
  font-size: 3.6vw;
  letter-spacing: 0.05em;
  line-height: 1.7em;
  margin-left: 1vw;
}


.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dd a:hover {}

.co07 .co07_in .co07_oh_box .co07_oh_box_in .relatelink dl dd a::before {
  width: 100%;
  bottom: -0.3em;
  left: 0;
}


/**************************************************************

co08表示用

**************************************************************/

.co08 {
  background: url(../img/ai_main_006.webp);
  background-position: center top;
  background-attachment: fixed;
  background-size: 430%;
  overflow: hidden;
  width: 100%;
}

.co08 .co08_in {
  background: rgba(0, 0, 0, 0.7);
  padding: 20vw 0;
}

.co08 .co08_in .co08_inB {
  max-width: 1500px;
  width: 90%;
  margin: auto;
}

.co08 .co08_in .co08_inB h3 {
  font-size: 5.4vw;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-weight: 600;
  text-align: center;
  color: #fff;
  padding-bottom: 13vw;
}

.co08 .co08_in .co08_inB p {
  font-size: 3.8vw;
  line-height: 2.3em;
}




/**************************************************************

co09表示用

**************************************************************/

.co09 {
  padding: 5vw 0 0;
}

.co09 .co09_in {
  padding: 12vw 0 8vw;
}

.co09 .co09_in .co09_en {
  font-size: 7vw;
  padding-bottom: 0.3em;
}

.co09 .co09_in h2 {
  font-size: 4.5vw;
  padding-bottom: 13vw;
}

.co09 .co09_in .law_con_i {
  display: block;
}

.co09 .co09_in .law_con_i .lawcon_f {
  width: 100%;
  margin-bottom: 3vw;
}

.co09 .co09_in .law_con_i .lawcon_s {
  width: 100%;
}

.co09 .co09_in .law_con_i .lawcon_s h3 {
  font-size: 4.8vw;
}

.co09 .co09_in .law_con_i .lawcon_s p {
  font-size: 4.2vw;
}

.co09 .co09_in .law_con_i .lawcon_s ul li {
  font-size: 3.6vw;
}

.co09 .co09_in .law_con_i .lawcon_s ul li span.year {
  width: 100%;
}

.co09 .co09_in .law_con_i .lawcon_s ul li span.list {
  width: 90%;
  margin: 2vw 0 2vw 10%;
}

.co09 .co09_in .lawyer_con {
  display: block;
  flex-flow: row wrap;
}

.co09 .co09_in .lawyer_con .lawyer {
  width: 100%;
  margin: 0 0 3em;
}

.co09 .co09_in .lawyer_con .lawyer a {
  display: inline-block;
  transition: all .4s ease-in-out;
}

.co09 .co09_in .lawyer_con .lawyer a:hover {
  box-shadow: 1px 1px 21px rgba(0,0,0,.35);
}

.co09 .co09_in .lawyer_con .lawyer a .lw_txt {
  padding: 1.8em 1.3em 1.3em;
}

.co09 .co09_in .lawyer_con .lawyer a .lw_txt h3 {
  font-size: 4.4vw;
}

.co09 .co09_in .lawyer_con .lawyer a .lw_txt p {
  font-size: 4.2vw;
  padding: 1em 0 1.3em;
}

.co09 .co09_in .lawyer_con .lawyer a .lw_txt ul {
  font-size: 3.8vw;
}

.co09 .co09_in .lawyer_con .lawyer a .lw_txt ul li {
  margin: 0.7em auto;
}

/* =======================================

フッター直前のLL会員登録

======================================= */

.legal_l {
  margin-top: 5%;
  background: #0481A2;
  z-index: -2;
}

.legal_l .llbg a.slipe {
  padding: 11.5vw 0;
}

.legal_l .llbg .llcon .ll_le {
  margin: 0 auto 3vh 0;
}

.legal_l .llbg .llcon .ll_le h3 {
  font-size: 7vw;
}

.legal_l .llbg .llcon .ll_le p {
  font-size: 3.6vw;
  letter-spacing: 0.15em;
  line-height: 1.7em;
  padding-left: 2em;
  color: #fff;
  position: relative;
}

.legal_l .llbg .llcon .ll_le p::before {
  content: "";
  width: 0;
  height: 0.1em;
  position: absolute;
  top: 0.8em;
  left: 0;
  margin: auto;
  color: #A58B68;
  border-left: 1.3em solid #A58B68;
}

.legal_l .llbg .llcon .ll_ri {
  margin: 0 auto;
}

.legal_l .llbg .llcon .ll_ri p {
  font-size: 3.6vw;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #fff;
}



.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn {
  margin-top: 2.2em;
  display: inline-block;
  position: relative;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn::before {
  content: "";
  width: 4px;
  height: 4px;
  background-color: #8d0116;
  border-radius: 50%;
  position: absolute;
  top: 52%;
  left: 12px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 11;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span {
  display: inline-block;
  background: #fff;
  color: #091246;
  font-weight: 600;
  padding: 0.5em 23vw;
  letter-spacing: 0.2em;
  position: relative;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span::before {
  background-color: #fff;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  bottom: -6px;
  height: 1px;
  right: -6px;
  width: 100%;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span::after {
  background-color: #fff;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  top: 6px;
  right: -6px;
  height: 100%;
  width: 1px;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span:hover {
  color: #fff;
  background: -webkit-gradient(linear,left top,right top,from(#102035),to(#204068));
  background: linear-gradient(90deg,#102035,#204068);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span:hover::before {
  right: 0;
  bottom: 0;
  background: #204068;
}

.legal_l .llbg .llcon .ll_ri .not_nl_llr_btn span:hover::after {
  top: 0;
  right: 0;
  background: #204068;
}





/**************************************************************

footer表示用

**************************************************************/




footer {
  background: #25355A;
  padding: 2% 0 3.5%;
  /* margin-top: 5%; */
}

footer .ftcon {
  display: flex;
  flex-flow: row wrap;
  padding: 1.5em 0 4em ;
}

footer .ftcon .ft_le {
  width: 100%;
  margin: 0 0 0 0;
}

footer .ftcon .ft_le .ft_logo {}

footer .ftcon .ft_le .ft_logo .logo_in {
  max-width: 190px;
}

footer .ftcon .ft_le .ft_logo a {}

footer .ftcon .ft_le .ft_logo a img {
  width: 100%;
  max-width: 300px;
}

footer .ftcon .ft_le p {
  font-size: 4vw;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #fff;
  padding-top: 0.5em;
  position: relative;
  padding-left: 1.8em;
}

footer .ftcon .ft_le p strong {
  display: inline-block;
  padding-right: 0.5em;
}

footer .ftcon .ft_le p::before {
  content: "";
  width: 0;
  height: 0.1em;
  position: absolute;
  top: 1.4em;
  left: 0;
  margin: auto;
  color: #A58B68;
  border-left: 1.3em solid #A58B68;
}

footer .ftcon .ft_le p.ft_logotxt {
  font-size: 3.1vw;
  letter-spacing: 0.05em;
  transform: scaleX(0.92);
  line-height: 2em;
  font-weight: 600;
  color: #fff;
  padding-top: 0.1em;
  position: relative;
  text-align: center;
  padding-left: 0;
  /*max-width: 300px;*/
}

footer .ftcon .ft_ri {
  width: 100%;
  margin: 3vh auto auto;
}

footer .ftcon .ft_ri ul {
  display: flex;
  flex-flow: row wrap;
}

footer .ftcon .ft_ri ul li {
  font-size: 4vw;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #fff;
  position: relative;
  padding-left: 1.8em;
  width: 100%;
  margin: 0.3em 0;
}

footer .ftcon .ft_ri ul li::before {
  content: "";
  width: 0;
  height: 0.1em;
  position: absolute;
  top: 0.8em;
  left: 0;
  margin: auto;
  color: #fff;
  border-left: 1.3em solid #fff;
}

footer .ftcon .ft_ri ul li a {
  color: #fff;
  position: relative;
  display: inline-block;
  text-decoration: none;
}

footer .ftcon .ft_ri ul li a:hover {}

footer .ftcon .ft_ri ul li a::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .2s;
}

footer .ftcon .ft_ri ul li a:hover::after {
  transform: scale(1, 1);
}


footer .ftcon2 {
  background: #FAF7F7;
  padding: 1vh 0;
}

footer .ftcon2 p {
  font-size: 3.4vw;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #1C2C58;
} 

/**************************************************************

modal表示用

**************************************************************/

.remodal {
  max-width: 100%;
/*   height: 100vh; */
  padding: 2em;
}



.remodal .co06_question {
  width: 100%;
  margin: 3.5em auto;
}

.remodal .co06_question summary,
.remodal .co06_question .qa p {
  text-align: left;
}

.remodal .co06_question .qa p a {
  display: inline;
}

.remodal-cancel {
  background: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  padding: 0.4em 2em;
}


}


@media screen and (max-width: 470px) {}

@media screen and (max-width: 370px) {}