@charset "UTF-8";
/* =====================================
	全体設定
===================================== */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap');

/*! Yaku Han JP v4.1.1 (OFL-1.1 AND MIT) by Qrac | Type: YakuHanRP - Based on M PLUS Rounded 1c */
@font-face {
	font-family: YakuHanRP;
	font-style: normal;
	font-weight: 100;
	font-display: swap;
	src: url(../fonts/YakuHanRP-Thin.woff2) format("woff2");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
	font-family: YakuHanRP;
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url(../fonts/YakuHanRP-Light.woff2) format("woff2");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
	font-family: YakuHanRP;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/YakuHanRP-Regular.woff2) format("woff2");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
	font-family: YakuHanRP;
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(../fonts/YakuHanRP-Medium.woff2) format("woff2");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
	font-family: YakuHanRP;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(../fonts/YakuHanRP-Bold.woff2) format("woff2");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
	font-family: YakuHanRP;
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url(../fonts/YakuHanRP-ExtraBold.woff2) format("woff2");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
	font-family: YakuHanRP;
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url(../fonts/YakuHanRP-Black.woff2) format("woff2");
	unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

html {
    scroll-behavior: smooth;
}

html:has(.mfp-ready), html:has(.menu-trigger.active) {
    overflow: hidden;
}

#contents01 a{
	color: #fff;
	text-decoration: none;
    transition: 0.3s all ease;
}

#contents01 a:hover{
	opacity: 0.6;
}

#contents01 .sp{
	display: none !important;
}

#contents01 {
	position: relative;
	margin: 0 auto;
	font-size: 12px;
	font-family: "YakuHanRP", "M PLUS Rounded 1c", sans-serif;
    font-weight: normal;
    font-style: normal;
	color: #fff;
    line-height: 1.48;
	text-align: left;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
	-ms-text-size-adjust: 100%;/*EgdeMobile*/
	-moz-text-size-adjust: 100%;/*firefox*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
	z-index: 1;
}

#contents01 img{
    max-width: 100%;
    margin: 0 auto;
    height: auto;
}

#ct_bg{
    width: 100%;
    overflow: hidden;
}


/* =====================================
	header
===================================== */

#contents01 header{
    z-index: 1000;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding: 30px 10px;
}

#contents01 header nav ul{
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

#contents01 header nav ul li{
    width: 18.5715%;
}

/* =====================================
	visual
===================================== */

.visual{
    width: 100%;
    padding-top: min(15.03vw, 170px);
    background: url("../img/bg01.png") center repeat;
    position: relative;
}

.visual h1{
    width: 100%;
}

.visual h1 img{
    margin: 0 auto;
}

.visual a{
    width: min(28.29355vw, 320px);
    position: absolute;
    bottom: min(9.0185676vw, 102px);
    left: 50%;
    transform: translateX(-50%);
    filter: drop-shadow(0px 4px 0px #353332);
    transition: 0.1s all ease;
}

.visual a:hover{
    opacity: 1;
    transform: translateX(-50%) translateY(3px);
    filter: drop-shadow(0px 1px 0px #353332);
}
#ct_bg img {
    max-width: 100%;
}
#ct_bg #sec01{
    padding: 100px 40px 82px;
    width: 100%;
    background: url("../img/bg02.png") repeat;
    position: relative;
    overflow: hidden;
}

#ct_bg #sec01::before{
    content: "";
    background: url("../img/illust01.png") no-repeat;
    width: 158px;
    height: 225px;
    position: absolute;
    top: 37px;
    left: 50%;
    transform: translateX(-520px);
}

#ct_bg #sec01::after{
    content: "";
    background: url("../img/illust02.png") no-repeat;
    width: 164px;
    height: 139px;
    position: absolute;
    top: 36px;
    left: 50%;
    transform: translateX(351px);
}

#ct_bg #sec01 h2{
    margin-bottom: 20px;
}

#ct_bg #sec01 a:has(img){
    display: table;
    margin: 40px auto 45px;
    position: relative;
}

#ct_bg #sec01 a:has(img):hover{
    opacity: 1;
}

#ct_bg #sec01 a:has(img)::before{
    content: "";
    background: url("../img/btn02_manga.png");
    width: 197px;
    height: 178px;
    position: absolute;
    top: -29px;
    left: -19px;
    z-index: 5;
    transition: 0.1s all ease;
}

#ct_bg #sec01 a:has(img):hover::before{
    transform: translateY(3px);
}

#ct_bg #sec01 a:has(img) img{
    filter: drop-shadow(0px 4px 0px #353332);
    transition: 0.1s all ease;
}

#ct_bg #sec01 a:has(img):hover img{
    transform: translateY(3px);
    filter: drop-shadow(0px 1px 0px #353332);
}

#ct_bg #sec01 .movie{
    width: 100%;
    max-width: 1000px;
    margin: 100px auto 0;
}

#ct_bg #sec01 .movie .movieWrap{
    width: 100%;
    height: 0;
    padding-top: 59.3%;
    position: relative;
}

#ct_bg #sec01 .movie .movieWrap iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#ct_bg #sec01 .note{
    width: 100%;
    max-width: 1000px;
    margin: 10px auto 76px;
    font-size: 16px;
    color: #3c3c3a;
}

#ct_bg #sec02{
    padding: 100px 40px 144px;
    width: 100%;
    background: url("../img/bg03.png") repeat;
    position: relative;
    overflow: hidden;
}

#ct_bg #sec02 h2{
    margin-bottom: 20px;
}

#ct_bg #sec02 .anchor{
    margin: 40px auto 0;
    width: 100%;
    max-width: 960px;
    background: #fff;
    border-radius: 40px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0 40px;
    padding: 40px 60px 60px;
}

#ct_bg #sec02 .anchor h3{
    width: 100%;
}

#ct_bg #sec02 .anchor h3 img{
    margin: 0 auto 30px;
}
#ct_bg #sec02 .anchor a {
    width: calc( (100% - 40px) / 2 );
}
#ct_bg #sec02 .btn02{
    display: table;
    margin: 60px auto 84px;
    position: relative;
}

#ct_bg #sec02 .btn02:hover{
    opacity: 1;
}

#ct_bg #sec02 .btn02::before{
    content: "";
    background: url("../img/btn05_manga.png");
    width: 153px;
    height: 162px;
    position: absolute;
    top: -24px;
    left: -12px;
    z-index: 5;
    transition: 0.1s all ease;
}

#ct_bg #sec02 .btn02:hover::before{
    transform: translateY(3px);
}

#ct_bg #sec02 .btn02 img{
    filter: drop-shadow(0px 4px 0px #353332);
    transition: 0.1s all ease;
}

#ct_bg #sec02 .btn02:hover img{
    transform: translateY(3px);
    filter: drop-shadow(0px 1px 0px #353332);
}

#ct_bg #sec02 .accordion{
    margin: 50px auto 60px;
}

#ct_bg #sec02 .accordion:not(:has(.swiperBlock01)) div {
    border-radius: 20px;
    overflow: hidden;
    display: table;
    margin: 0 auto;
}

#ct_bg #sec02 .accordion:not(:has(.swiperBlock01)) div + div {
    margin-top: 30px;
}

#ct_bg #sec02 .accordion div dt{
    position: relative;
}

#ct_bg #sec02 .accordion div dt::before{
    content: "";
    background: url("../img/btn06.png")no-repeat;
    background-size: contain;
    width: 159px;
    height: 42px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(180deg);
    cursor: pointer;
}

#ct_bg #sec02 #rabbit .accordion div dt::before{
    background: url("../img/btn12.png")no-repeat;
    background-size: contain;
}

#ct_bg #sec02 .accordion div dt.active::before{
    transform: translateX(-50%) rotate(0);
}

#ct_bg #sec02 .accordion div dd{
    display: none;
}

#rabbit{
    margin-top: 100px;
}

#ct_bg #sec02 .btn03{
    display: table;
    margin: 98px auto 0;
    position: relative;
}

#ct_bg #sec02 .btn03:hover{
    opacity: 1;
}

#ct_bg #sec02 .btn03::before{
    content: "";
    background: url("../img/btn07_manga.png");
    width: 153px;
    height: 162px;
    position: absolute;
    top: -24px;
    left: -12px;
    z-index: 5;
    transition: 0.1s all ease;
}

#ct_bg #sec02 .btn03:hover::before{
    transform: translateY(3px);
}

#ct_bg #sec02 .btn03 img{
    filter: drop-shadow(0px 4px 0px #353332);
    transition: 0.1s all ease;
}

#ct_bg #sec02 .btn03:hover img{
    transform: translateY(3px);
    filter: drop-shadow(0px 1px 0px #353332);
}

.initiatives{
    width: 100%;
    padding: 100px 40px 124px;
    background: url("../img/bg04.png");
    position: relative;
}

.initiatives::before{
    content: "";
    background: url("../img/illust04.png");
    background-size: contain;
    width: 163px;
    height: 161px;
    position: absolute;
    top: 111px;
    left: 50%;
    transform: translateX(-556px);
}

.initiatives::after{
    content: "";
    background: url("../img/illust03.png");
    background-size: contain;
    width: 171px;
    height: 213px;
    position: absolute;
    top: 51px;
    left: 50%;
    transform: translateX(388px);
}

.initiatives h2{
    margin-bottom: 17px;
}

.initiatives ul li{
    margin-bottom: 30px;
}

.initiatives ul li:last-child{
    margin-bottom: 0;
}

.initiatives .btn04{
    display: table;
    margin: 60px auto 55px;
    position: relative;
}

.initiatives .btn04:hover{
    opacity: 1;
}

.initiatives .btn04::before{
    content: "";
    background: url("../img/btn08_manga.png");
    width: 153px;
    height: 162px;
    position: absolute;
    top: -24px;
    left: -12px;
    z-index: 5;
    transition: 0.1s all ease;
}

.initiatives .btn04:hover::before{
    transform: translateY(3px);
}

.initiatives .btn04 img{
    filter: drop-shadow(0px 4px 0px #353332);
    transition: 0.1s all ease;
}

.initiatives .btn04:hover img{
    transform: translateY(3px);
    filter: drop-shadow(0px 1px 0px #353332);
}

.initiatives .btn05{
    display: table;
    margin: 80px auto 0;
    position: relative;
}

.initiatives .btn05:hover{
    opacity: 1;
}

.initiatives .btn05::before{
    content: "";
    background: url("../img/btn09_manga.png");
    width: 153px;
    height: 162px;
    position: absolute;
    top: -24px;
    left: -12px;
    z-index: 5;
    transition: 0.1s all ease;
}

.initiatives .btn05:hover::before{
    transform: translateY(3px);
}

.initiatives .btn05 img{
    filter: drop-shadow(0px 4px 0px #353332);
    transition: 0.1s all ease;
}

.initiatives .btn05:hover img{
    transform: translateY(3px);
    filter: drop-shadow(0px 1px 0px #353332);
}

.linkArea{
    width: 100%;
    padding: 80px 40px 84px;
}

.linkArea ul{
    margin: 0 auto;
    width: 100%;
    max-width: 980px;
    display: flex;
    justify-content: space-between;
}

.linkArea ul li{
    position: relative;
}

.linkArea ul li:nth-child(1)::before{
    content: "";
    background: url("../img/illust05.png");
    background-size: contain;
    width: 141px;
    height: 108px;
    position: absolute;
    top: 19px;
    left: -37px;
    z-index: 3;
}

.linkArea ul li:nth-child(1)::after{
    content: "";
    background: url("../img/illust06.png");
    background-size: contain;
    width: 113px;
    height: 172px;
    position: absolute;
    top: 2px;
    left: 355px;
    z-index: 3;
}

.linkArea ul li:nth-child(2)::before{
    content: "";
    background: url("../img/illust07.png");
    background-size: contain;
    width: 115px;
    height: 175px;
    position: absolute;
    top: -17px;
    left: 12px;
    z-index: 3;
}

.linkArea ul li:nth-child(2)::after{
    content: "";
    background: url("../img/illust08.png");
    background-size: contain;
    width: 139px;
    height: 128px;
    position: absolute;
    top: 72px;
    left: 311px;
    z-index: 3;
}

.linkArea ul li a:hover{
    opacity: 1;
}

.linkArea ul li a img{
    filter: drop-shadow(0px 4px 0px #353332);
    transition: 0.1s all ease;
}

.linkArea ul li a:hover img{
    transform: translateY(3px);
    filter: drop-shadow(0px 1px 0px #353332);
}

.popup-box{
    width: 90%;
    max-width: 670px;
    background: #fff;
    padding: 25px 50px 20px;
    margin: 0 auto;
    position: relative;
}

.popup-box .mfp-close{
    position: absolute;
    top: auto;
    right: auto;
    top: 20px;
    right: 20px;
    width: 20px;
    height: 20px;
    background: url("../img/close.png") no-repeat center;
    background-size: 20px auto;
    cursor: pointer;
    opacity: 1;
}

.slick-prev, .slick-next{
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 40px;
  height: 70px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev{
  left: -20%;
  background: url("../img/prev.png");
  background-size: contain;
}

.slick-next{
  right: -20%;
  background: url("../img/next.png");
  background-size: contain;
}

.slick-prev.slick-disabled, .slick-next.slick-disabled{
    opacity: .2;
    cursor: default;
}

.slick-num{
    color: #3c3c3a;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}
.mfp-wrap {
    overflow: auto;
}
.mfp-content {
    position: relative;
    margin: 0 auto;
    font-size: 12px;
    font-family: "YakuHanRP", "M PLUS Rounded 1c", sans-serif;
    font-weight: normal;
    font-style: normal;
    color: #fff;
    line-height: 1.48;
    text-align: left;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
}
.mfp-content img {
    max-width: 100%;
}
#pop01 h2{
    padding-bottom: 20px;
    border-bottom: #0052a4 solid 4px;
}
#pop01 h2 img{
    margin: auto;
    height: auto;
}
#pop01 h3{
    margin-top: 36px;
    text-align: center;
}
#pop01 h3 img {
    margin: auto;
    height: auto;
}
#pop01 p{
    margin-top: 30px;
    color: #442e0b;
    font-size: 16px;
    text-align: center;
    font-family: 'YakuHanRP';
    transform: rotate(0.05deg);
}


@media screen and (max-width:768px){

#contents01 .pc{
	display:none !important;
}

#contents01 .sp{
	display:block !important;
}

#contents01 a:hover{
	opacity: 1;
}

#contents01 {
    font-size: 3.6vw;
    width: 100%;
    overflow-x: hidden;
    letter-spacing: 0;
}

/* =====================================
	header
===================================== */

#contents01 header{
    width: 100%;
    padding: 0;
}

#contents01 header nav{
    padding: 19.467vw 13.33vw;
    background: rgb(0, 82, 164, 0.95);
    min-height: 100vh;
    display: none;
}

#contents01 header nav ul{
    flex-direction: column;
    gap: 6.67vw;
}

#contents01 header nav ul li{
    width: auto;
}

#contents01 header nav ul li img{
    margin: 0;
}

#contents01 header nav ul li:nth-child(1) img{
    width: 48.933vw;
}

#contents01 header nav ul li:nth-child(2) img{
    width: 72.8vw;
}

#contents01 header nav ul li:nth-child(3) img{
    width: 51.2vw;
}

#contents01 header nav ul li:nth-child(4) img{
    width: 30.133vw;
}

#contents01 header nav ul li:nth-child(5) img{
    width: 21.4667vw;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: absolute;
  top: 4vw;
  right: 4vw;
  width: 7.2vw;
  height: 6.133vw;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer;
  z-index: 1000;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.8vw;
  border-radius: 0.4vw;
  background-color: #0052a4;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span {
  background-color: #fff;
}
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(2.65vw) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-2.65vw) rotate(45deg);
}


/* =====================================
	visual
===================================== */

.visual{
    padding-top: 0;
}

.visual h1{
    position: inherit;
    bottom: auto;
    left: auto;
    transform: translateX(0);
}

.visual a{
    width: auto;
    position: absolute;
    bottom: 9.867vw;
    filter: drop-shadow(0 0.533vw 0 #353332);
}

.visual a:hover{
    transform: translateX(-50%) translateY(0);
    filter: drop-shadow(0 0.533vw 0 #353332);
}

#ct_bg #sec01{
    padding: 0;
    background: url("../img/bg02.png") repeat center;
    background-size: 1.6vw auto;
}

#ct_bg #sec01::before{
    display: none;
}

#ct_bg #sec01::after{
    display: none;
}

#ct_bg #sec01 h2{
    margin-bottom: 0;
}

#ct_bg #sec01 a:has(img){
    margin: 0 auto;
}

#ct_bg #sec01 a:has(img)::before{
    display: none;
}

#ct_bg #sec01 a:has(img) img{
    filter: none;
}

#ct_bg #sec01 a:has(img):hover img{
    transform: translateY(0);
    filter: none;
}

#ct_bg #sec01 .movie{
    width: 89.33vw;
    margin: 0 auto;
}

#ct_bg #sec01 .note{
    width: 89.33vw;
    margin: 1.6vw auto 0;
    font-size: 2.7733vw;
    line-height: 1.346;
}

#ct_bg #sec02{
    padding: 0 0 19.867vw;
    background: url("../img/bg03.png") repeat center;
    background-size: 1.6vw auto;
}

#ct_bg #sec02 h2{
    margin-bottom: 0;
}

#ct_bg #sec02 .anchor{
    margin: 0 auto;
    max-width: inherit;
    background: none;
    border-radius: 0;
    padding: 0;
    gap: 0;
    justify-content: center;
}

#ct_bg #sec02 .anchor h3 img{
    margin: 0 auto;
}

#ct_bg #sec02 .anchor a{
    width: 50%;
    max-width: 356px;
}

#ct_bg #sec02 .btn02{
    margin: 0 auto;
}

/* #ct_bg #sec02 .btn02::before{
    display: none;
}

#ct_bg #sec02 .btn02 img{
    filter: none;
} */

#ct_bg #sec02 .btn02:hover img{
    transform: translateY(0);
    filter: none;
}

#ct_bg #sec02 .accordion{
    margin: 4.67vw auto 0;
    width: 89.33vw;
}

#ct_bg #sec02 .accordion:not(:has(.popup_btn)) div{
    border-radius: 2.67vw;
}

#ct_bg #sec02 .accordion:not(:has(.popup_btn)) div + div{
    margin-top: 2vw;
}

#ct_bg #sec02 .accordion div dt::before{
    width: 21.2vw;
    height: 5.6vw;
    bottom: 4vw;
}

#rabbit{
    margin-top: 12.5vw;
}

#ct_bg #sec02 .btn03{
    margin: 10vw auto 0;
}

/* #ct_bg #sec02 .btn03::before{
    display: none;
}

#ct_bg #sec02 .btn03 img{
    filter: none;
} */

#ct_bg #sec02 .btn03:hover img{
    transform: translateY(0);
    filter: none;
}

.initiatives{
    padding: 0 0 19.867vw;
    background: url("../img/bg04.png") repeat center;
    background-size: 1.6vw auto;
}

.initiatives::before{
    display: none;
}

.initiatives::after{
    display: none;
}

.initiatives h2{
    margin-bottom: 0;
}

.initiatives ul li{
    margin-bottom: 0;
}

.initiatives ul li:last-child{
    margin-bottom: 0;
}

.initiatives .btn04{
    margin: 0 auto;
}

.initiatives .btn04::before{
    display: none;
}

.initiatives .btn04 img{
    filter: none;
}

.initiatives .btn04:hover img{
    transform: translateY(0);
    filter: none;
}

.initiatives .btn05{
    margin: 0 auto;
}

.initiatives .btn05::before{
    display: none;
}

.initiatives .btn05 img{
    filter: none;
}

.initiatives .btn05:hover img{
    transform: translateY(0);
    filter: none;
}

.linkArea{
    padding: 13.33vw 5.33vw;
}

.linkArea ul{
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.533vw;
}

.linkArea ul li:nth-child(1)::before{
    display: none;
}

.linkArea ul li:nth-child(1)::after{
    display: none;
}

.linkArea ul li:nth-child(2)::before{
    display: none;
}

.linkArea ul li:nth-child(2)::after{
    display: none;
}

.linkArea ul li a img{
    filter: none;
}

.linkArea ul li a:hover img{
    transform: translateY(0);
    filter: none;
}

.popup-box{
    width: 100%;
    max-width: inherit;
    padding: 7.5vw 5.33vw 6vw;
}

.popup-box .mfp-close{
    top: 3vw;
    right: 3vw;
    width: 3vw;
    height: 3vw;
    background: url("../img/close.png") no-repeat center;
    background-size: contain;
}
.popup-box .mfp-close::after {
    content: "";
    display: block;
    width: 7.5vw;
    height: 7.5vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.slick-prev, .slick-next{
  width: 8vw;
  height: 8vw;
  top: auto;
  bottom: -11.2vw;
}

.slick-prev{
  left: 30%;
  background: url("../img/sp/prev.png") no-repeat;
  background-size: contain;
  z-index: 100000000;
}

.slick-next{
  right: 30%;
  background: url("../img/sp/next.png") no-repeat;
  background-size: contain;
  z-index: 100000000;
}

.slick-num{
    font-size: 4vw;
}

}

/* 7月改修 */
#ct_bg .popup_btn {
    display: block!important;
    margin: 0 auto!important;
}
#ct_bg .popup_btn:hover img {
    transform: none!important;
    filter: none!important;
}
#ct_bg .popup_btn:hover::before {
    transform: none!important;
}
#ct_bg .popup_btn + dd {
    display: none;
}
#ct_bg .accordion:has(.popup_btn) {
    position: relative;
    margin: 40px auto;
    border: 3px solid #3c3c3a;
    border-radius: 10px;
    width: 100%;
    max-width: 840px;
    box-shadow: 0px 3px 0px 0px rgb(60 60 58);
}
#ct_bg .accordion:has(.popup_btn) img {
    filter: none!important;
}
#ct_bg .accordion:has(.popup_btn) dt {
    position: relative;
    padding: 20px 0 35px;
    cursor: pointer;
}
#ct_bg .accordion:has(.popup_btn) dt::before {
    content: "";
    display: block;
    position: absolute;
    width: 197px;
    height: 178px;
    position: absolute;
    top: -29px;
    left: -19px;
    z-index: 5;
}
#ct_bg .accordion:has(.popup_btn) dt::after {
    content: "";
    display: block;
    background: url(../img/ic01.png)no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 30px;
    translate: 0 -50%;
    width: 79px;
    height: 42px;
}
#ct_bg .accordion:has(.btn01) dt::before {
    background: url(../img/btn02_manga.png)no-repeat!important;
    background-size: contain!important;
}
#ct_bg .accordion:has(.btn02) dt::before {
    background: url(../img/btn05_manga.png)no-repeat!important;
    background-size: contain!important;
}
#ct_bg .accordion:has(.btn03) dt::before {
    background: url(../img/btn07_manga.png)no-repeat!important;
    background-size: contain!important;
}
#ct_bg .accordion:has(.btn04) dt::before {
    background: url(../img/btn08_manga.png)no-repeat!important;
    background-size: contain!important;
}
#ct_bg .accordion:has(.btn05) dt::before {
    background: url(../img/btn09_manga.png)no-repeat!important;
    background-size: contain!important;
}
#ct_bg .accordion:has(.btn02) dt::after,
#ct_bg .accordion:has(.btn03) dt::after {
    background: url(../img/ic02.png)no-repeat;
    background-size: contain;
}
#ct_bg .accordion:has(.btn04) dt::after,
#ct_bg .accordion:has(.btn05) dt::after {
    background: url(../img/ic03.png)no-repeat;
    background-size: contain;
}
#ct_bg .accordion:has(.popup_btn) dt.active::after {
    transform: rotate(180deg);
}

#ct_bg .accordion:has(.popup_btn) dd {
    position: relative;
    margin: 20px auto 40px;
    padding: 0 40px;
    width: 100%;
    max-width: 575px;
}
#ct_bg .accordion:has(.btn01) {
    background: #fab57c;
}
#ct_bg .accordion:has(.btn02),
#ct_bg .accordion:has(.btn03) {
    background: #c1a1da;
}
#ct_bg .accordion:has(.btn04),
#ct_bg .accordion:has(.btn05) {
    background: #74d1ff;
}
#ct_bg .accordion .swiperBlock01 {
    overflow: hidden;
}
#ct_bg .accordion .swiper-container {
    touch-action: auto;
}
#ct_bg .accordion .swiper-controller {
    opacity: 0;
    transition: opacity .3s ease;
}
#ct_bg .accordion .open .swiper-controller {
    opacity: 1;
}
#ct_bg .accordion .swiper-button-prev,
#ct_bg .accordion .swiper-button-next {
    position: absolute;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    top: 50%;
    left: auto;
    right: auto;
    bottom: auto;
    translate: 0 -50%;
    width: 40px;
    height: 80px;
}
#ct_bg .accordion .swiper-button-prev {
    left: 0;
}
#ct_bg .accordion .swiper-button-next {
    right: 0;
}
#ct_bg .accordion .swiper-button-prev::after,
#ct_bg .accordion .swiper-button-next::after {
    content: "";
    display: block;
    width: 40px;
    height: 80px;
}
#ct_bg .accordion .swiper-button-prev::after {
    background: url(../img/ic04.png)no-repeat;
    background-size: contain;
}
#ct_bg .accordion .swiper-button-next::after {
    background: url(../img/ic05.png)no-repeat;
    background-size: contain;
}
@media screen and (max-width:768px){
    #ct_bg .accordion:has(.popup_btn) {
        margin: auto;
        width: 89.33vw;
    }
    #ct_bg .accordion:has(.popup_btn) dt {
        /* padding: 25px 0 40px; */
        padding: 3.33vw 0 5.33vw;
    }
    #ct_bg .accordion:has(.popup_btn) dt img {
        width: 35.47vw;
        height: 7.07vw;
    }
    #ct_bg .accordion:has(.popup_btn) dt::before {
        width: 27.47vw!important;
        height: 22.67vw!important;
        top: -2.27vw!important;
        left: -3.47vw!important;
    }
    #ct_bg .accordion:has(.popup_btn) dt::after {
        width: 10.53vw;
        height: 5.6vw;
        right: 2.67vw;
    }
    #ct_bg .accordion:has(.popup_btn) dd {
        margin-top: 4.5vw;
        max-width: 86.67vw;
        padding: 0 8vw;
    }
    #ct_bg .accordion .swiper-button-prev,
    #ct_bg .accordion .swiper-button-next {
        width: 8vw;
        height: 16vw;
    }
    #ct_bg .accordion .swiper-button-prev::after,
    #ct_bg .accordion .swiper-button-next::after {
        width: 8vw;
        height: 16vw;
    }
}
@media screen and (max-width:650px){
    #ct_bg .accordion:has(.popup_btn) dd {
        margin-top: 1.33vw;
    }
    #ct_bg .accordion:has(.popup_btn) dt img {
        width: 44vw;
        height: auto;
    }
}
