@charset "UTF-8";
/* CSS Document */

*{
	margin:0;
	padding:0;
	box-sizing: border-box;
}

/*=========================================================*/
html{
	overflow-y:scroll;
}
body{
	font-weight:normal;
	text-decoration:none;
	color:#333;
	font-size:18px;
	font-family:"Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.4;
	word-break:break-all;
	-webkit-text-size-adjust:100%;
	min-width:1024px;
}
#mainArea .pbNestedWrapper img {
 width:100%;
}

#wrap #top_box h1 img {
    width: 240px;
    height: 21px;
}

/*全体共通部分*/
#wrap,
#header,
#cont,
#footer,
.gra,
.btnArea,
.main_cont,
#service,
#q_a,
#payment,
#rental_service,
#online{
	overflow:hidden;
	clear:both;
	position: relative;
}

h1,h2,h3,h4,h5,h6{
	font-weight:normal;
	font-size:18px;
	color:#333;
}

img {
    max-width: 100%;
    vertical-align: middle;
    height: auto;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

/* setting */
.red{color:#ff403c;}
.bold{font-weight:bold;}
.mt25{margin-top: 25px;}
.mt45{margin-top: 45px;}
.mb50{margin-bottom: 50px;}
.pb15{padding-bottom: 15px;}
a{color:#333;text-decoration:none;display: inline-block;}
a:hover{opacity: .7;text-decoration:underline;}
.sp {display:none;}


/*=========================================================*/
/*ヘッダー*/
#top_box {
    background-color: #001b57;
    padding-top: 11px;
    padding-bottom: 12px;
}
#top_box h1 {
    width: 1024px;
    height: 31px;
    margin: 0 auto;
}
#top_box h1 .btn_discas {
    border-right: 1px solid #fff;
    padding-right: 20px;
    margin-right: 15px;
}
#top_box h1 .btn_discas:only-child{
  border-right: none;
}



/*　コンテンツ部分
=========================================================*/


/*---------------共通部分---------------*/
/*h3*/
.l_ttl_h3{
	font-size:40px;
	margin-top:5px;
	margin-bottom:20px;
	text-align:center;
}

/*.gra{
	background-image:url(/library/dis/cms/img/entrance/entrance01/gra.jpg);
	background-repeat:repeat-x;
	background-position:bottom center;
}*/

.main_cont{
  max-width:1140px;
  width: 100%;
  margin:0 auto;
  color: #031b57;
  text-align: center;
}

/*---------------メイン画像---------------*/
.l-main{
  color: #031b57;
}
.l-main_ttl{
  margin: 45px auto 15px;
  text-align: center;
  font-weight: 900;
  letter-spacing: 0.075em;
  color: #031b57;
}
.l-main_ttl {
  font-size: 58px;
}
.main_txt {
  font-size: 18px;
  font-size: 3.5vh;
  font-weight: 600;
  text-align: center;
}
.main_txt span.yellow {
  font-size: 5.5vh;
  color: #fabd00;
  margin-left: 10px;
  vertical-align: middle;
}
.main_txt >p>span>span{
 font-size: 2vh;
 margin-left: 5px;
 vertical-align: top;
}

@media screen and (min-width: 1000px) {
  .l-main_ttl {
    font-size: calc(5vw + 8px);
  }
}

@media screen and (min-width: 1040px) {
  .l-main_ttl {
    font-size: 61px;
  }
}

/*---------------TSUTAYAだから可能な圧倒的作品数---------------*/
h2 {
    font-size: 47px;
    font-weight: 600;
    text-align: center;
    letter-spacing: .05em;
    margin-bottom: 0.6em;
}
#titles .flexbox .flex_inner {
 width: 20%;
 text-align: center;
 padding: 30px 10px 20px;
}
#titles .flexbox>.flex_inner:nth-child(odd) {
 background: #fabd00;
}
#titles .flexbox>.flex_inner:nth-child(even) {
 background: #ffd450;
}
#titles .flexbox .flex_inner h3 {
 display: inline-block;
 border: 1px solid #000;
 padding: 10px 20px;
 font-size: 23px;
 margin-bottom: 1em;
}
#titles .flexbox>.titles_cd {
 background: #84cf94!important;
}
#titles .flexbox>.titles_r18 {
 background: #ffb8cc!important;
}
.titles_number {
 font-size: 25px;
 font-weight: 600;
}
.titles_number span {
 font-size: 2em;
 padding-left: 0.1em;
}
.flexbox {
 width: 100%;
 display: flex;
}
.annotation {
 font-size: 18px;
 line-height: 1.4em;
 margin: 15px auto;
 text-align:center;
}
.material-symbols-outlined {
    vertical-align: middle;
    padding-bottom: 4px;
}


/*---------------DISCASとは---------------*/
/* #about_service */
#about_service {
 background: #eaf1fe;
 font-size: 23px;
 padding-top: 70px;
 margin: 60px auto;
 text-align: center;
}
#about_service h3 {
 font-size: 23px;
 font-weight: 600;
 margin-bottom: 20px;
}
#about_service p {
 margin-bottom: 10px;
}
#about_service>img {
 max-width: 668px;
 margin-bottom: 40px;
}
#about_service .flexbox .flex_inner {
 width: calc(100%/3);
 text-align: center;
 padding: 50px 50px 20px;
}
#about_service .flexbox>.flex_inner:nth-child(odd) {
 background: #d5e3ff;
}
#about_service .flexbox>.flex_inner:nth-child(even) {
 background: #dfeaff;
}
#about_service .flexbox .flex_inner p {
 margin-top: 20px;
 text-align: justify;
}
#about_service .flexbox{
 background: #d5e3ff;
 justify-content: center;
}


/*---------------話題作---------------*/
/* #topictitles */
#topictitles h3 {
 font-size: 25px;
 font-weight: 600;
 margin-left: 30px;
 margin-bottom: 10px;
}
#topictitles>div {
 margin-bottom: 30px;
}

/* slick adjust */
.slick-slide{
 margin-right: 3px;
 margin-left: 3px;
}
.slider .slick-list {
 padding: 0 30px 0 30px!important;
}
.slick-prev,
.slick-next
{
 z-index: 100;
 width: 56px;
 height: 90px;
}
.slick-prev {
 left: 0;
}
.slick-next {
 right: 0;
}
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
 opacity: 0;
}
.slick-arrow:before{
 content:"";
 width: 100%!important;
 height: 100%!important;
 position: absolute;
 top: 0;
 left: 0;
}
.slick-next:before{
 background: url("../../../img/entrance/campaign246/btn_next.png") no-repeat !important;
 background-size: cover !important;
}
.slick-prev:before{
 background: url("../../../img/entrance/campaign246/btn_prev.png") no-repeat !important;
 background-size: cover !important;
}



/*---------------支払方法---------------*/
/* #pay */
#pay {
 background: #eaf1fe;
 padding-top: 50px;
 padding-bottom: 80px;
 margin: 80px auto;
 text-align: center;
}
#pay>p {
 margin-bottom: 20px;
}
#pay .center_box img {
 width: auto;
}


/*---------------ご利用の流れ---------------*/
/* #flow */
#flow .flexbox .flex_inner {
 width: calc(100%/3);
 text-align: center;
 padding: 30px 30px 20px;
 margin-bottom: 100px;
}
#flow .flexbox>.flex_inner:nth-child(odd) {
 background: #fabd00;
}
#flow .flexbox>.flex_inner:nth-child(even) {
 background: #ffd450;
}
#flow .flexbox .flex_inner h3 {
 display: inline-block;
 font-weight: 600;
 font-size: 23px;
 margin-bottom: 1em;
}
#flow .flexbox .flex_inner img {
 width: 90%;
}
#flow .flexbox .flex_inner p {
 margin-top: 20px;
}



/*---------------料金/プラン一覧---------------*/

.l-list a{text-decoration: underline;}
.l-list a:hover{text-decoration: none;}

.l-list .l-list_ttl{
  display: inline-block;
  margin: auto auto 13px;
  padding: 13px 75px;
	border: 3px solid;
  border-radius: 10px;
  color: #031b57;
	font-size: 35px;
	font-weight: bold;
	line-height: 1.2;
  letter-spacing: 0.075em;
}
.l-list_lead{
  margin-bottom: 30px;
  color: #031b57;
  font-size: 48px;
	font-weight: bold;
  letter-spacing: 0.075em;
}
/*l-list_priceLink*/
.l-list_priceLink{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 70px;
}
.l-list_priceLink li{
  width: 32.2%;
  margin-right: 1.7%;
  list-style: none;
  background: url("/library/dis/cms/img/entrance/planlist/bg_plan_list.png") no-repeat;
}
.l-list_priceLink li a{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  height: 187px;
  font-size: 35px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.075em;
}
.l-list_priceLink li:last-child{
  margin-right: 0;
}
.l-list_priceLink li:hover{
  opacity: 0.8;
}

/*l-list_price*/
ul.l-list_price{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px;
  padding-top: 40px;
}
.l-list_price > li{
  width: 32.2%;
  margin-right: 1.7%;
  list-style: none;
  position: relative;
}
.l-list_price > li:last-child{
  margin-right: 0;
}
.l-list_price > li .icon_recm{
  position: absolute;
  left: 8px;
  top: -39px;
  width: 73px;
  height: 93px;
}
.recmplan dt{
  padding-left: 65px;
}
.l-list_price > li dl{
  padding: 14px 8px 19px;
  border: 2px solid;
  border-radius: 8px;
  color: #031b57;
  letter-spacing: 0.075em;
}
.l-list_price > li dt{
  padding-bottom: 15px;
  border-bottom: 2px solid #031b57;
  color: #031b57;
  font-size: 16px;
  font-weight: 600;
  margin: 5px 0;
}
.l-list_price .el_price{
  padding: 16px 0 12px;
}
.l-list_price .el_recom{
  background: #f2f6f9;
  border-radius: 4px;
  margin-bottom: 25px;
  padding: 8px 0 10px;
}
.l-list_price .el_recom h3{
  background: #031b57;
  border-radius: 100px;
  margin: 0 10px 10px;
  padding: 8px 0;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
}
.l-list_price .el_recom li{
  padding-left: 20px;
  list-style: none;
  font-size: 16px;
  font-weight: 600;
  text-align: left;
  display: block;
  position: relative;
}
.l-list_price .el_recom li:before{
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 10px;
  height: 7px;
  transform: translateY(-50%);
  background: url("/library/dis/cms/img/entrance/planlist/icon_check.png") no-repeat;
  background-size: 100%;
}
.l-list_price .el_recom li.pc:before{
  content: "";
  display: none;
}
.l-list_price .el_recom li sup{
  font-size: 10px;
  font-weight: normal;
}
.l-list_price .el_recom li span{
  color: #dc000e;
}
.l-list_price .el_btn a{
  display: block;
  background: #fabf07;
  margin: 0 20px;
  padding: 18px;
  font-size: 16px;
  font-weight: 500;
  color: #031b57;
  text-decoration: none;
  position: relative;
}
/*.l-list_price .el_btn a:before{
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  width: 10px;
  height: 8px;
  transform: translateY(-50%);
  background: url("/library/dis/cms/img/entrance/planlist/arrow_under.png") no-repeat;
  background-size: 100%;
}*/
.l-list_price .el_attention{
  padding: 13px 10px 0 10px;
  text-align: left;
  font-size: 12px;
  letter-spacing: 0.05em;
}

.l-list_price .el_attention{
  text-indent: -2em;
  padding-left: 2em;
}
.l-list_price .el_attention:nth-of-type(2){
  margin-top: 0;
  padding-top: 0;
}


/*table*/
.l-list table{
	/*width:96%;*/
  width:100%;
	font-size:11px;
	background: #fff;
	margin: 0 auto;
	text-align:center;
}
.l-list table, th{
	border: 1px solid #595959;
	border-collapse: collapse;
	font-weight:bold;
}
.l-list th {
	padding: 3px;
	width: 30px;
	height: 25px;
	background: #f0e6cc;
	line-height:1.6;
}
 .l-list td {
	border: 1px solid #595959;
	border-collapse: collapse;
	font-weight:normal;
	padding: 10px 3px;
	width:auto;
	height: 25px;
	line-height:1.4;
}
.even {
	background: #fbf8f0;
}
.odd {
	background: #fefcf9;
}


.el_tbl_attention{
  background: #fafafa;
  padding: 15px 0;
  margin: 50px auto 80px;
}
.l-list .el_tbl_attention ul{
  width: 93.4%;
  margin: 12px auto 18px;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  list-style: none;
  letter-spacing: 0.075em;
}
.l-list .el_tbl_attention li{
  margin-bottom: 10px;
  text-indent: -2em;
  padding-left: 2em;
}
.l-list .el_tbl_attention li:last-child{
  margin-bottom: 0;
}



/*---------------よくある質問---------------*/
#cont #q_a  .main_cont{
    margin:0 auto 100px;
	}
#cont #q_a a{
	text-decoration: underline;
}
#cont #q_a a:hover{
	text-decoration: none;
}

#cont #q_a .accordion p{
	text-align:left;
	border-top:1px solid #d6d6d6;
}

#cont #q_a .accordion {
	border-bottom:1px solid #d6d6d6;
}
.accordion p.question {
	cursor:pointer;
	background-image:url(/library/dis/cms/img/entrance/entrance01/images/q_a_01.png);
	background-repeat:no-repeat;
	background-position:left top;
}
.accordion p.question:hover{
	color:#ff403c;
}
p.question span{
	display:block;
	padding:27px 60px;
	background-image: url(/library/dis/cms/img/entrance/entrance01/q_a_accordion.png);
	background-repeat:no-repeat;
	background-position: right top;
}
p.question .open {
}
#cont #q_a .accordion p.question+p {
	display:none;
	border-top:1px dashed #d6d6d6;
	background-image:url(/library/dis/cms/img/entrance/entrance01/images/q_a_02.png);
	background-repeat:no-repeat;
	background-position:left top;
	padding:27px 30px 27px 60px;
}
		
#cont #q_a .btn_box{
	margin-top:50px;
}




/*=========================================================*/
/* aside */
aside {
 position: fixed;
 bottom: 0;
 left: 0;
 width: 100%;
}
aside .inner {
 background: rgba(0,0,0,.5);
 text-align: center;
 padding: 30px 10px;
}
aside h6 {
 display: inline-block;
}
aside .inner p {
 color: #fff;
 font-size: 12px;
}




/*=========================================================*/
/*フッター*/
#footer{
	background-color:#011c58;
}

	#footer .main_cont{
		width:960px;
    margin:0 auto 100px;
	}

	#footer #page_top{
		width:70px;
		height:80px;
		float:right;
	}
		#footer #page_top a{
			text-indent:-9999px;
			width:70px;
			height:80px;
			display:block;
			background-image:url(/library/dis/cms/img/entrance/entrance01/page_top.gif);
			background-repeat:no-repeat;
			background-position:right center;
		}

#footer a{
	color:#fff;
}

	#footer #page_top+ul{
		margin-top:30px;
	}

	#footer ul{
		overflow:hidden;
		list-style-position:outside;
		list-style-type:none;
		margin-bottom:10px;
	}

	#footer ul li{
		float: left;
		border-left:1px solid #fff;
		overflow:hidden;
		font-size:14px;
		line-height:18px;
	}

	#footer ul li:first-child{
		border-left: none;
	}

	#footer ul li a{
		padding-left:10px;
		padding-right:10px;
		line-height:18px;
	}
	
	#footer ul li:first-child a{
		padding-left:0;
	}

	#footer ul li a:hover{
		text-decoration:underline;
	}

address{
	font-size:12px;
	color:#fff;
	font-style:normal;
	text-align:center;
	margin-top:30px;
	margin-bottom:30px;
}


/* 202409 custom */
#l-list_price04 {
    width: 50%;
    margin: 0 auto;
}
#l-list_price04 dl dd.el_price img {
    width: 347.08px;
}
.l-list_price #l-list_price04 .el_recom h3 {
    width: 347.08px;
    margin: 0 auto 10px;
}
.l-list_price #l-list_price04 .el_recom ul, .l-list_price #l-list_price04 .el_btn {
    width: 347.08px;
    margin: 0 auto;
}
ul.l-list_price {
    margin-bottom: 40px;
}
ul.l-list_price+ul.l-list_price {
    padding-top: 10px;
}
.l-list_price > li#l-list_price01 dl.how_double dt {
    color: #fff;
    margin: 5px 0;
    padding: 0;
    font-size: 16px;
}