@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : layout.css
Description : レイアウト用CSS
===================================================================== */


/* ==========================================================
	共通
========================================================== */

/*メインビジュアル背景*/
.mv {
	/* background-color: #ffe553; */
	/*	画像はこちら↓ */
		 background: url(../images/headerbg.png) repeat-x center;
		background-size: cover; 
		/* background-image: radial-gradient(#ff8ec2 2px, transparent 2px), radial-gradient(#ff8ec2 2px, #ffe9fd 2px);
		background-size: 40px 40px;
		background-position: 0 0, 20px 20px; */
	
}
.mv h1 {
	/* padding: 2rem 0; */
}

/*アクセントカラー（背景色）*/
.nav,
.ttl_h2:before,
.slick-arrow,
.slick-active button::before,
.popup_close {
	background-color: #ff0073;
}

/*アクセントカラー（文字色）*/
.ttl_h3,
.wrapper .txt_link,
.wrapper b.highlight,
.cast_name1 {
	color: #ff0073;
	font-size: 2.5rem;
}

.popup_close {
	border-color: #ff0073;
}


/* ==========================================================
	header
========================================================== */

/*メニューの幅(SP)
　※calc(### / 750 * 100%)の###部分を変更してください*/
.nav ul {
	width: calc(1200 / 750 * 100%);
	justify-content: space-around;
}

/*メニューの文字色*/
.nav a {
	color: #464646;
}

/*メニューの文字色：ホバー*/
/*テキストリンクの文字色：ホバー*/
.nav a:hover,
.txt_link:hover {
	color: #fff;
}

/*メニューの下線：ホバー*/
.nav a:hover:after {
	background-color: #fff;
}

/* ==========================================================
	コンテンツ
========================================================== */

/*コンテンツ外側の背景*/
#main {
	/* background-color: #fff; */
    /*	画像はこちら↓ */
    	/* background: url(../images/bg.png) repeat center; */
		background-image: radial-gradient(#ff8ec2 2px, transparent 2px), radial-gradient(#ff8ec2 2px, #ffe9fd 2px);
		background-size: 40px 40px;
		background-position: 0 0, 20px 20px;
	}

/*コンテンツ背景*/
.contents {
	background-color: #fff;
}

/*スライダーの矢印ボタン：ホバー*/
/*ポップアップのクローズボタン：ホバー*/
.slick-arrow:hover,
.popup_close:hover {
	background-color: #000;
}

/*ポップアップのクローズボタン：ホバー*/
.popup_close:hover {
	border-color: #000;
}


.ottl_h2 {
    /* position: relative; */
	font-family: "M PLUS 1p", sans-serif;
    font-weight: bold;
    font-size: 3.2rem;
    line-height: 5rem;
	color: #ff0073;
	display: inline-block;
	padding: 0 2rem;
	border-radius: 1rem;
		min-width: 5em;
		margin-bottom: 1rem;
		text-align: center;
				width: max-content;
				margin: 0 auto 2rem;
				display: block;
}
.ottl_h2::before {
	width:5rem;
	height:5rem;
    display: inline-block;
    content: "";
    background-image: url(../images/icon_plus_l.png);
     background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-left: 1rem;
	background-position: center;
}
.ottl_h2::after {
	width:5rem;
	height:5rem;
    display: inline-block;
    content: "";
    background-image: url(../images/icon_plus_r.png);
     background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-left: 1rem;
	background-position: center;
}
.ottl_h3{
	width: fit-content;
	margin: 0 auto 0.5em;
	background: #ff0073;
	padding: 0 1em;
	border-radius: 20px;
	color: #fff;
	font-size: 3rem;
}
.popup_details {
	border: 6px solid #ff0073;
	background-image: url(../images/popbg.jpg);
	background-size: cover;
	background-repeat:no-repeat;
	background-position: center;

}
/* .ottl_h2::before {
	width:5rem;
	height:5rem;
    display: inline-block;
    content: "";
    background-image: url(../images/icon_mono.png);
     background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 1.6rem;
} */

.cast_txt {
	text-align: center;
}

.cast_btn_2 dt {
	text-align: center;
	font-weight: 700;
}

.tweet-txt {

	text-align: center;
	font-weight: 700;
	line-height:3.6rem;
	margin: 1rem;
		color: #000;
}
.tweet-txt::before {
	width:2.4rem;
	height:2.4rem;
    display: inline-block;
    content: "";
    background-image: url(../images/icon_x.png);
     background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: .5rem;
}
.insta-txt {

	text-align: center;
	font-weight: 700;
	line-height:3.6rem;
	margin: 1rem;
}
.insta-txt::before {
	width:2.4rem;
	height:2.4rem;
    display: inline-block;
    content: "";
    background-image: url(../images/icon_instagram.png);
     background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: .5rem;
}
.insta-txt a,.tweet-txt a {
display: inline-block;
}
.insta-txt a:hover,.tweet-txt a:hover {
opacity: .7;
}
.cast_box{
	display: flex;
}
.cast_btn_2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.cast_btn_2 li {
	  width: calc(310 / 650 * 100%);
    margin-top: calc(40 / 650 * 100%);
}
.cast_btn_2 figcaption {
    text-align: center;
    margin-top: 1em;
}
.present-box {
	border: 4px solid #ff0073;
	width: 100%;
	margin: 1rem auto;
}

.present-box img {
	width: 100%;
}

.present-txt {
	margin: 0 auto;
	padding: 1rem;
	font-size: 2.4rem;
	line-height: 3.6rem;
	text-align: center;
}

.btn-present {
	width: 70%;
	margin: 30px auto;
	border-radius: 5rem;
	background-color: #ff0073;
}
.btn-present a {
	color: #fff;
	font-weight: 700;
	text-align: center;
	padding: 1rem;
}
.red-caution {
	color: red;
}
h6 {
	font-size:3rem;
	font-weight: 700;
		text-align: center;
}
.mono-pop {
	position: relative;
}
p {
		text-align: center;
}

.mono-pop li {
	position: absolute;
	top: -2.2rem;
    left: 0;
}

.mono-pop li img {
	width: 100%;
}

.mono-pop li:hover {
	opacity: 1;
}

.present-bnr {
	width: 100%;
	margin:2rem auto;
}
.present-bnr img {
	width: 100%;
}
.cast_btn_5 {
	justify-content: center;
}

.cast_btn_5 li {
	padding: 0 1rem;
}

.img-mono {
	width: 60%;
	margin:2rem auto;
}
.img-mono img {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.mv {
		 background-size: cover; 
		/* background-image: radial-gradient(#ff8ec2 2px, transparent 2px), radial-gradient(#ff8ec2 2px, #ffe9fd 2px);
		background-size: 40px 40px;
		background-position: 0 0, 20px 20px;
	 */
	}
	.cast_btn_2 {
    /* width: 500px; */
	max-width: 700px;
    margin: auto;
}
.ottl_h3{
	width: fit-content;
	margin: 0 auto 0.5em;
	background: #ff0073;
	padding: 0 1em;
	border-radius: 20px;
	color: #fff;
	font-size: 2rem;
}
.ttl_h3,
.wrapper .txt_link,
.wrapper b.highlight,
.cast_name1 {
	color: #ff0073;
	font-size: 2.6rem;
}
.cast_btn_2 li {
		width: calc(115 / 500 * 100%);
		margin-top:0;
}
.ottl_h2 {

    font-size: 2.4rem;

}
.present-box {
	width: 500px;
	margin: 30px auto;
}
.btn-present {
	width: 400px;
}
.present-txt {
	font-size: 2rem;
	line-height: 3rem;
}
h6 {
	font-size: 2rem;
}
.mono-pop li {
	position: absolute;
	top: -1.8rem;
	left: 0;
}
.present-bnr {
	width: 750px;
}
.img-mono {
	width: 250px;
	margin: 3rem auto;
}
}

.bnr_box{
	margin-top: 3rem;
}
.link-bnr {
	max-width: fit-content;
	margin: 0 auto;
	position: relative;
	background-color: #ff0073;
	border-radius: 4px;
	margin-top: 2em;
	padding: 0 1em;
	color: #fff;
	line-height: 52px;
	transition: none;
  }
  .link-bnr a{
	color: #fff;
	font-family: 'M PLUS 1p';
    font-weight: bold;
  }
  .link-bnr:hover {
	background-color: #ff0073;
	box-shadow: 0 3px 0 #d80765;
  }
  .link-bnr:active {
	top: 3px;
	box-shadow: none;
  }
.intro	{
  text-align: center;
    background-color: #fff;
    background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #ccc 1px, transparent 1px);
    background-size: 8px 100%, 100% 2.5em;
    line-height: 2.5em;
    padding-bottom: 1px;
	width: 80%;
    margin: 0 auto;
}
.wrapper section:not(:last-child) {
    border-bottom:none;
}
.illustration{
width: 100px; 
margin-left: auto;
}
@media screen and (min-width: 768px) {
	.illustration{

	width: 200px; 
margin-left: auto;
}
}

.reiko_box{
		position: relative;
		max-width: 700px;
		padding: 0.2em 0.5em;
		margin: 2em auto;
		background: #ffe9fd;
		box-shadow: 0px 0px 0px 10px #ffe9fd;
		border: dashed 2px #ff8ec2;
		border-bottom: dashed 2px #ff8ec2 !important;
		border-radius: 8px;
	}
   
.reiko_box h3{
    background: #ff0073;
    padding: 0 1em;
    border-radius: 20px;
    color: #fff;
    font-size: 3rem;
	text-align: center;
	font-weight: bold;
	width: max-content;
    align-items: center;
    margin: 0 auto 1em;
}

.reiko_itembox{
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	width: 90%;
    margin: 0 auto;
}
.reiko_itembox p{
	text-align: center;
}
.reiko_itembox .illustration{
	max-width: 300px !important;
	margin: 0 auto;
    width: 55%;
}
.reiko_img{
    margin: 2em auto 0;
}
.reiko_img figure{
    width: 80%;
    margin: 0 auto 1em;
}
.reiko_img img{
    border-radius: 20px;
}
@media screen and (min-width: 768px) {
	.reiko_itembox{
		display: flex;
		justify-content: center;
		flex-direction: row;
		align-items: flex-start;
		width: 90%;
		margin: 0 auto;
	}

    .reiko_box h3{
        background: #ff0073;
        padding: 0 1em;
        border-radius: 20px;
        color: #fff;
        font-size: 2rem;
        text-align: center;
        font-weight: bold;
        width: max-content;
        align-items: center;
        margin-left: inherit;
        margin-right: auto !important;
        margin-bottom: 1em;
    }
    .reiko_itembox p{
        text-align: left;
    }
    .text_box{
        text-align: left;
    }
    .reiko_itembox .illustration{
        max-width: 300px !important;
        margin: 0 auto;
        width: 30%;
    }
    .reiko_img{
        display: flex;
        width: 90%;
        margin: 2em auto 0;
        justify-content: space-around;
    }
    .reiko_img figure{
        width: 48%;
    }

}

@media screen and (min-width: 768px) {

    .cast_btn_5,
    .cast_btn_7 {
        width: calc(750 / 964 * 100%);
        margin: auto;
    }

    .cast_popup li {
        cursor: pointer;
        -webkit-transition: .3s;
        transition: .3s;
    }

    .cast_popup li:hover {
        opacity: .6;
    }

    .cast_btn_5 li {
        width: calc(143 / 750 * 100%);
        margin-top: calc(40 / 750 * 100%);
    }

    .cast_btn_5 li:nth-child(-n+5) {
        margin-top: 0;
    }

    .cast_btn_7 li {
        width: calc(100 / 750 * 100%);
        margin-top: calc(30 / 750 * 100%);
    }

    .cast_btn_7 li:nth-child(-n+7) {
        margin-top: 0;
    }

    .cast_btn_5 dt,
    .cast_btn_7 dt {
        font-size: 1.6rem;
    }

    .cast_btn_5 dd,
    .cast_btn_7 dd {
        font-size: 1.2rem;
    }
}


/* ポップアップ
********************************* */

.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    display: none;
    font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Arial, "メイリオ", Meiryo, sans-serif;
}

.popup * {
    position: relative;
}

.popup_bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
}

.popup_area {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

.popup_inner {
    width: calc(650 / 750 * 100%);
    margin: calc(150 / 750 * 100%) auto;
    padding: 0;
}

.popup_close {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(90 / 650 * 100%);
    margin: calc(-30 / 650 * 100%) calc(-30 / 650 * 100%) 0 0;
    z-index: 110;
    border-radius: 50%;
    border: .8em solid;
}

.popup_close::before,
.popup_close::after {
    content: "";
    display: block;
    width: 1px;
    padding-top: 100%;
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: 0 auto;
}

.popup_close::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.popup_list {
    width: 100%;
    height: 100%;
}

.popup_details {
    display: none;
    overflow: hidden;
    background-color: #fff;
    border-radius: 2em;
    padding: calc(50 / 650 * 100%);
}

.cast_photo {
    width: calc(350 / 550 * 100%);
    margin: 0 auto calc(30 / 550 * 100%);
}

.popup img {
    width: 100%;
    height: auto;
    display: block;
}

.cast_name {
    text-align: center;
    margin: 0 auto calc(30 / 550 * 100%);
    padding: 1em 0;
    border-bottom: 1px solid #d4d4d4;
}

.cast_name1 {
    display: block;
    font-size: 2.6rem;
    font-weight: 700;
    margin-bottom: .5em;
}

.cast_name1 rt {
    text-align: center;
}


/*FireFox対策*/

@-moz-document url-prefix() {
    .cast_name1 rt {
        margin-bottom: -.5rem;
    }
}

.cast_name2 {
    font-size: 2.8rem;
    padding-bottom: .5em;
}

.cast_txt {
    font-size: 2.6rem;
    line-height: 1.7;
}

@media screen and (min-width: 768px) {
    .popup_bg {
        cursor: pointer;
    }

    .popup_area {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .popup_inner {
        width: calc(1000 / 1200 * 100%);
        max-width: 1000px;
        margin: auto;
        padding: calc(60 / 1200 * 100%) 0 0;
        -ms-flex-item-align: start;
        align-self: flex-start;
    }

    .popup_close {
        cursor: pointer;
        width: calc(64 / 1000 * 100%);
        margin: calc(30 / 1000 * 100%) calc(-30 / 1000 * 100%) 0 0;
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .popup_close::before,
    .popup_close::after {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .popup_details {
        padding: calc(50 / 1000 * 100%);
    }

    .cast_photo {
        width: calc(300 / 900 * 100%);
        margin: 0 auto calc(30 / 900 * 100%);
    }

    .cast_name {
        margin: 0 0 calc(30 / 900 * 100%);
    }

    .cast_name1 {
        font-size: 2.6rem;
    }

    .cast_name2 {
        font-size: 1.8rem;
    }

    .cast_txt {
        font-size: 1.6rem;
    }
}

@media screen and (min-width: 1200px) {
    .popup_inner {
        padding: 60px 0 0;
    }
}

.cast_id_01{
	margin-top: 8px !important;
}
.cast_id_01 li {
	width: calc(500 / 500* 100%);
}

@media screen and (min-width: 768px) {
	.cast_id_01{
		margin-top: -4px !important;
	}
}
@media screen and (min-width: 1200px) {
	.cast_id_01{
		margin-top: -8px !important;
	}
}

