@charset "utf-8";

html{
	scroll-behavior: smooth;
}
body {
	font-family: "Hiragino Sans";
}

figcaption{
	width: 0;
	height: 1px;
	clip-path: polygon(0 100%, 0 100%, 0 100%, 0% 100%);
}

.tab_br,
.sp_br{
	display: none;
}
.flex-box{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-justify-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}
a:hover {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
ul {
	padding: 0;
	margin: 0;
}
li {
	list-style-type: none;
}

/*---------------------------------------------------------------------   bkg	----*/
.bkg {
	background: url(../images/back_img.jpg) center top / 100% repeat;
	padding-bottom: 6.25rem;
}
.bkg .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}
.container .fv {
	padding: 2.9rem 0 0;
}
.container .fv .fv_tmslogo {
	text-align: center;
	margin-bottom: 2.5rem;
}
.container .fv .fv_jflogo {
	text-align: center;
}
.container .fv .fv_jflogo img {
	width: 100%;
}
.container .fv .fv_catch {
	font-size: 2.025rem;
	letter-spacing: calc(80 / 1000 * 1em);
	font-weight: 800;
	text-align: center;
	margin: 2.5rem auto;
}
.container .fv .fv_catch span {
	font-size: 80%;
}
.container .fv .fv_small {
	font-size: 1.125rem;
	font-weight: 800;
	letter-spacing: calc(100 / 1000 * 1em);
	margin: 1.875rem 0;
	text-align: center;
}
.container .fv .fv_animelist {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.container .fv .fv_animelist li {
	width: calc((100% - 30px) / 3);
}
.container .fv .fv_animelist li img {
	width: 100%;
}


/*---------------------------------------------------------------------   X_btn	----*/
.X_btn {
	max-width: 90%;
	margin: 3.125rem auto;
	background: #202020;
	border-radius: 4px;
}
.X_btn[data="X_btn_twice"] {
	margin-bottom: 0;
}
.X_btn a {
	display: flex;
	justify-content: space-between;
	padding: 1.5rem 2.5rem;
	align-items: center;
}

.X_btn a p {
	color: #fff;
	font-size: 1.75rem;
	font-weight: 800;
	letter-spacing: calc(90 / 1000 * 1em);
	text-align: center;
	margin-bottom: 0;
}
.X_ttl {
	font-size: 2.1rem;
	font-weight: 800;
	letter-spacing: calc(80 / 1000 * 1em);
	text-align: center;
	margin: 3.3rem 0 0;
}

/*---------------------------------------------------------------------   overview	----*/
.overview {
	background:#fff;
	padding: 1.875rem;
}
.overview h3 {
	color: #fff;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: calc(300 / 1000 * 1em);
	text-align: center;
	padding: .5rem;
	background: #202020;
}
.overview dl div {
	display: flex;
	align-items: center;
	padding: 1.25rem;
	border-bottom: 1px solid #d2d2d2;
}
.overview dl div dt {
	font-size: 1.25rem;
	width: 25%;
}
.overview dl:nth-of-type(2) div dt {
	width: 25%;
}
.overview dl div dd {
	font-size: 1.25rem;
	margin: 0;
}

/*---------------------------------------------------------------------   page_menu	----*/
.page_menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.06rem;
	margin: 3.125rem 0;
}
.page_menu li {
	width: calc((100% / 3) - 1.06rem);
}
.page_menu li img {
	width: 100%;
}
/* モーダル背景 */
.modal {
  display: none; /* 初期非表示 */
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.6);
	z-index: 1000;
	justify-content: center;
	align-items: center;
	overflow-y: auto;
	padding: 20px;
}

/* 表示中 */
.modal.show {
  display: flex;
  animation: fadeInBg 0.3s ease forwards;
}
.modal.show .modal-content {
  animation: slideUp 0.3s ease forwards;
}

/* 閉じるアニメーション */
.modal.hide {
  animation: fadeOutBg 0.3s ease forwards;
}
.modal.hide .modal-content {
  animation: slideDown 0.3s ease forwards;
}

/* 中身 */
.modal-content {
  padding: 0 0 20px 0;
  max-width: 1200px;
  width: 90%;
  border-radius: 10px;
  position: relative;
  overflow-y: auto;
  max-height: 90vh;
}
#modal-aonohako .modal-content  {background: #e5f7ff;}
#modal-sakamoto .modal-content  {background: #fad201;}
#modal-drstone .modal-content {background: #d3b88e;}
.modal-content .modal_x_btn {
	position: absolute;
	right: 20px;
	top: 20px;
	width: 60px;
	cursor: pointer;
}
.modal-content .modal_x_btn img {
	width: 100%;
}

/* 閉じるボタン */
.modal_closeBtn {
	padding: 2rem 1.5rem;
	width: 100%;
	font-size: 1.75rem;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: #202020;
	margin-top: 20px;
	cursor: pointer;
	max-width: 600px;
	margin: 0 auto;
}

/* 背景フェード */
@keyframes fadeInBg {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes fadeOutBg {
  from { opacity: 1; }
  to   { opacity: 0; }
}

/* モーダル本体スライド */
@keyframes slideUp {
  from { transform: translateY(50px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
@keyframes slideDown {
  from { transform: translateY(0); opacity: 1; }
  to   { transform: translateY(50px); opacity: 0; }
}

/* 背景スクロール禁止用 */
body.modal-open {
  overflow: hidden;
}

.modal-content .modal_head {
	padding: 1.5rem 1.5rem;
	background: #fff;
	text-align: center;
}
.modal-content .modal_head .head_logo {
	margin: 0 auto;
	max-width: 20rem;
    margin: 0 auto;
}
.modal-content .modal_head .head_logo img {
	width: 100%;
}
.modal .modal_benefits {
	width: 550px;
	margin: 50px auto 30px;
	background: #fff;
	text-align: center;
	border-radius: 10px;
}
.modal .modal_benefits li {
	border-radius: 10px;
	border: 7px solid #004ea2;
}
.modal .modal_benefits li .__head {
	background: #004ea2;
	color: #fff;
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: calc(100 / 1000 * 1em);
    line-height: 1;
    padding: 2rem 0;
    text-align: center;
    margin-bottom: 1.9rem;
    display: flex;
    align-items: end;
    justify-content: center;
}
.modal .modal_benefits li .__head span {
	font-size: 60%;
}
.modal .modal_benefits li .__text {
	margin-top: 30px;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: calc(80 / 1000 * 1em);
	line-height: 1.5;
}
.modal .modal_inner {
	display: flex;
	justify-content: start;
	align-items: center;
	flex-wrap: wrap;
	padding: 0 50px;
	margin-bottom: 30px;
	gap: 15px;
}
.modal .modal_inner .goods_item {
	width: calc((100% - 30px) / 3);
	background: #fff;
	padding: 1.5rem;
	border-radius: 4px;
	
}
.modal .modal_inner .goods_item img {
	width: 100%;
}
.modal .modal_inner .goods_item .name {
	color: #161616;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: calc((50 / 1000) * 1rem);
	text-align: left;
	padding: 0 0 10px 0;
	margin-bottom: 0;
	border-bottom: 2px solid #dfdfdf;
}
.modal .modal_inner .goods_item .price {
	color: #161616;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: calc((50 / 1000) * 1rem);
	text-align: right;
	margin: 0;
	padding-top: 10px;
}
/*---------------------------------------------------------------------   content_box	----*/
.content_box {
	margin: 6.25rem auto 0;
}
.content_box .content_box_inner {
	background: #fff;
	padding: 70px 50px;
}
.content_box .content_box_inner .animettl {
	margin: 3.75rem auto 2rem;
}
.content_box .content_box_inner .animettl[data="tokuten_aonohako"] {max-width: 25.5rem;margin-top: 0;}
.content_box .content_box_inner .animettl[data="tokuten_drstone"] {max-width: 25.6rem;}
.content_box .content_box_inner .animettl[data="tokuten_sakamoto"] {max-width: 25.3rem;}
.content_box .content_box_inner .__textbox {
	margin-top: 3.1rem;
}
.content_box .content_box_inner .__info {
	color: #202020;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: calc(80 / 1000 * 1em);
	text-align: center;
}
.content_box .content_box_inner .__text {
	color: #202020;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: calc(80 / 1000 * 1em);
	text-align: left;
}
.content_box .__ttl {
	font-family: "vdl-logojrblack", sans-serif;
	font-size: 5.625rem;
	line-height: 1;
	letter-spacing: calc(100 / 1000 * 1em);
	text-align: center;
	margin-bottom: 2rem;
}
.content_box .__ttl span {
	font-size: 80%;
}
.content_box ul {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-bottom: 2px solid #dfdfdf;
	padding-bottom: 50px;
}
.content_box ul li {
	width: 560px;
	margin: 0 auto;
}
.content_box ul h5 {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 800;
	letter-spacing: calc(100 / 1000 * 1em);
	line-height: 1;
	padding: 1.5rem;
	background: #202020;
	text-align: center;
	display: flex;
	align-items: end;
	justify-content: center;
	border-radius: 4px;
	max-width: 80%;
	margin: 0 auto 1.9rem;
}
.content_box ul h5 span {
	font-size: 60%;
}
.content_box ul .__jf h5 {
	background: #e30012;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
}
.content_box ul .__jf h5 .__logo {
	max-width: 7.5rem;
}
.content_box ul .__tms h5 {background: #004ea2;}
.content_box ul .__tokuten {
	max-width: 80%;
    margin: 0 0 0 auto;
}
.content_box img {
	width: 100%;
}
.content_box .__pdfBtn {
	background: #ed6d00;
	border: 10px solid #fff;
	padding: 3rem 1.5rem;
}
.content_box .__pdfBtn a {
	color: #fff;
	font-size: 3.35rem;
	font-weight: 800;
	text-align: center;
	display: block;
}
.content_box .__pdfBtn a span {
	font-size: 80%;
}
.content_box[data-target="content_order"] {
	margin-bottom: 5rem;
}
.content_box .__orderInfo {
	max-width: 92%;
	margin: 2.1rem auto;
	padding: 0 3.125rem 3.125rem 3.125rem;
	background: #fff;
}
.content_box .__orderInfo .__strong {
	font-size: 1.9rem;
	font-weight: 800;
	letter-spacing: calc(40 / 1000 * 1em);
	text-align: center;
	padding: 1.8rem;
	border-bottom: 1px solid #d2d2d2;
	margin-bottom: 1.9rem;
}
.content_box .__orderInfo .__text {
	font-size: 1rem;
	letter-spacing: calc(80 / 1000 * 1em);
	line-height: 1.8;
	text-align: left;
}
/*---------------------------------------------------------------------   mv_list	----*/
.title_list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .9rem;
}
.title_list li {
	cursor: pointer;
}
.title_list li img {
	width: 100%;
}
.title_list .goods_btn {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	padding: .6rem 0;
	text-align: center;
	background: #202020;
	margin: 0;
	position: relative;
}
.title_list .goods_btn:after {
	content: "";
	position: absolute;
	background: url(../images/btn_icon.png) center top / 100% no-repeat;
	bottom: 50%;
	right: 23%;
	width: 24px;
	height: 24px;
	transform: translate(50%, 50%);
}

/*---------------------------------------------------------------------   Official	----*/
.Official {
	background: #e7e7e7;
	padding: 0 0 6.25rem;
}
.Official .__inner {
	max-width: 1200px;
	margin: 0 auto;
}
.Official .__inner .arrow_title img{
	width: 100%;
}
.Official .__inner .__booth {
	max-width: 91%;
	margin: 5.8rem auto 3.1rem;
}
.Official .__inner .__booth img {
	width: 100%;
}
.Official .__inner .__logo[data="JF"] {
	max-width: 21.5rem;
	margin: 0 auto;
}
.Official .__inner .__logo[data="TMS"] {
	max-width: 29.1rem;
	margin: 0 auto;
}
.Official .__inner .__logo img {
	width: 100%;
}
.Official .__inner .__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 42.5rem;
	margin: 1.3rem auto 3.125rem;
}
.Official .__inner .__btn li img {
	width: 100%;
}
.Official .__inner .__btn:nth-of-type(2) {
	margin-bottom: 0;
}
/*---------------------------------------------------------------------   content03_item	----*/

#itemlist{
	padding: 0;
	max-width: 1118px;
}

#itemlist .carousel-control-prev-icon {
	background: url('../images/sliderarrow.svg') no-repeat;
	/* max-width : 33px; */
	transform: scale(-1, 1);
	background-size: contain;
	background-position: center;
}
#itemlist .carousel-control-next-icon {
	background: url('../images/sliderarrow.svg') no-repeat;
	/* max-width : 33px; */
	background-size: contain;
	background-position: center;
}

#itemlist > .row {
	-ms-align-items: inherit;
	-webkit-align-items: inherit;
	align-items: inherit;
	-ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 0;
}


#itemlist > .row > div {
	/* background: #ffffff; */
	/* border-radius: 10px; */
	padding: 0;
	box-sizing: border-box;
	max-width: calc((100% - 1.875rem) / 2);
	overflow: hidden;
}

#itemlist > .row > div:nth-child(n + 3){
	margin-top: 5rem;
}

.carousel-inner{
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
}
.carousel-inner .img-thumbnail {
	border: none;
	border-radius: 0;
}
.carousel-item{overflow: hidden;}

#itemlist .item__ttl{
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #161616;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	text-align: left;
	display: flex;
	justify-content: space-between;
}

.fav{
	width: 10%;
	max-width: 40px;
}


#itemlist .item__size{
	font-size: 1rem;
	font-weight:400;
	line-height: 1.5;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #161616;
	margin-bottom: 1rem;
	text-align: left;
}
#itemlist .item__size span::before{
	content: "\3010";
	display: inline-block;
	margin: 0 0 0.25rem;
}
#itemlist .item__size span::after{
	content: "\3011";
	display: inline-block;
	margin: 0 .25rem 0 0;
}

#itemlist .item__txt{
	font-size: 1rem;
	font-weight:400;
	line-height: 1.5;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #161616;
	margin-bottom: 1.25rem;
	text-align: left;
}
#itemlist .item__txt_red{
	color: #d7281b;
}
#itemlist .item__price{
	font-size: 1.5rem;
	font-weight:700;
	font-feature-settings: "palt" 1;
	line-height: 1;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #161616;
	margin-bottom: 2.1875rem;
	text-align: left;
}
#itemlist .item__price span::after{
	content: "\03A";
	display: inline-block;
	margin: 0 .25rem;
	transform: translateY(-5%);
}
#itemlist .item__price small{
	font-size: 80%;
	font-weight: inherit;
}

.formbox{
	width: 100%;
}

.formbox div.flex-box{
	max-width: 100%;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.25rem;
}

.formwname +  input::placeholder{
	color : #000000;
}
.formbox > .flex-box [class^="form__"]{
	margin: 0;
}
.form__quantity span{
	color: #161616;
}
.formbox > .flex-box span[class^="form__"]{
	font-size: 1rem;
	font-weight:400;
	line-height: 1;
	letter-spacing: calc((130 / 1000) * 1rem);
	color: #161616;
	text-align: left;
}
.formbox > .flex-box span[class^="form__"]
.formbox > .flex-box span[class^="form__"]::after{
	content: "\03A";
	display: inline-block;
	margin: 0 .25rem;
}

.formbox div.flex-box .form__select{
	margin: 0;
	margin-right: 1.5625rem;
}
.formbox div.flex-box .form__select select{
	width: 11.4375rem;
	/* appearance: none; */
	border : 1px solid #cccccc;
	padding: .15rem 9px .15rem 0;
	box-sizing: border-box;
	outline: none;
	background: #ffffff;
	font-size: .9375rem;
	color : #000000;
	height: 30px;
}
.formbox div.flex-box .form__quantity input{
	max-width: 3.9375rem;
	width: 100%;
	border : 1px solid #cccccc;
	padding: .15rem 9px;
	box-sizing: border-box;
	outline: none;
	color : #000000;
	height: 30px;
}

.formbox > .form__tokuten {
	margin-bottom: 1.25rem;
}
.formbox > .form__tokuten span.form__tokuten_txt{
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: .5rem;
}
.formbox > .form__tokuten span.form__tokuten_txt::after{
	content: none;
}
.formbox > .form__tokuten select{
	width: 11.4375rem;
	/* appearance: none; */
	border : 1px solid #cccccc;
	padding: .15rem 9px .15rem 0;
	box-sizing: border-box;
	outline: none;
	background: #ffffff;
	font-size: .9375rem;
	color : #000000;
	height: 30px;
}

.formbox .form__btn button{
	max-width: 405px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	font-size: 1rem;
	font-weight:400;
	line-height: 1.6;
	letter-spacing: calc((40 / 1000) * 1rem);
}

#item_aonohako .formbox .form__btn button{
	background: #539eb6;color: #fff;
}

#item_sakamoto .formbox .form__btn button{
	background: #c30a14;color: #fff;
}

.formbox .form__btn a{
	max-width: 405px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	font-size: 1rem;
	font-weight:400;
	line-height: 1.6;
	letter-spacing: calc((40 / 1000) * 1rem);
	color: #000;
}

.formbox .form__btn button i{
	line-height: .5;
	padding-right: 4px;
	/* filter: invert(100); */
}

#itemlist .row:not(:last-child) {
	margin-bottom: 2rem;
}

.color-red{
	color: #e80106;
}

a:hover{
	text-decoration: none;
}





/*---------------------------------------------------------------------   content03	----*/

#content04{
	width: 100%;
	background: #e7e7e7;
	text-align: center;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-bottom: 9.375rem;
	box-sizing: border-box	;
	position: relative;
}

#content04 .content04__img{
	margin-bottom: 6.25rem;
}

#content04 .boothButton{
	margin-bottom: 6.25rem;
}

#content04 .content04__list__group:not(:last-child){
	margin-bottom: 3.75rem;
}

#content04 .content04__list__group[data="jump"] dt{
	max-width: 351px;
	width: 100%;
	margin: 0 auto 1.875rem;
	display: block;
}

#content04 .content04__list__group[data="tms"] dt{
	max-width: 467px;
	width: 100%;
	margin: 0 auto 1.875rem;
	display: block;
}

#content04 .content04__list__group[data] dt img{width: 100%;}

#content04 .content04__list__group[data] dd{
	display: flex;
	justify-content: center;
	gap: 1.25rem;
	margin: 0;
}











@media only screen and (max-width: 1500px) {
	#mainimage{
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}

	#mainimage .mv_logo{
		max-width: 63.7vw;
		margin: -3% auto 0;
	}

	#mainimage .mv_logo img{
		width: 100%;
	}

	#content02{
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}
}


@media only screen and (max-width: 1200px) {
	#content02 img{
		width: 100%;
	}

	#content02 .info__text{
		max-width: 92vw;
		font-size: 3rem;
		line-height: 1.2;
	}

	#content03 .content__ttl{
		max-width: 80vw;
		margin-left: auto;
		margin-right: auto;
	}

	#content03 .content__ttl{
		max-width: 80vw;
		margin-left: auto;
		margin-right: auto;
	}

	#content03 .itemList__ttl{
		max-width: 341px;
		margin-left: auto;
		margin-right: auto;
	}

	#content03 img{
		width: 100%;
	}

	#content04 img{
		width: 100%;
	}

	#content04 .content04__img{
		max-width: 589px;
		margin-left: auto;
		margin-right: auto;
	}

	#content04 .content04__list__group[data] dd span{
		max-width: calc((100vw - 1.25rem * 2) / 3);
	}

	#content03 #item_drstone::before{
		height: calc((77 / 1000) * 100vw);
	}
	.title_list .goods_btn:after {
		right: 7.9vw;
		width: 2vw;
		height: 2vw;
	}
}
@media only screen and (max-width: 1024px) {
	.X_btn a {
		padding: 2.3vw 4vw;
	}
	.X_btn a p {
		font-size: 2.7vw;
	}
	.X_btn a img:nth-of-type(1){
		width: 9vw;
	}
	.X_btn a img:nth-of-type(2){
		width: 3.2vw;
	}
	.title_list .goods_btn:after {
		right: 2.3vw;
		width: 2.3vw;
        height: 2.3vw;
	}
}

@media only screen and (max-width: 1000px) {/*768まで*/
	.tab_br{display: block;}
	.img-thumbnail {width: 100%;}
	main > [id] .container{max-width: 100%;}

	#mainimage{
		margin-bottom: 3.125rem;
	}

	#mainimage .mv_logo{
		max-width: 66.40vw;
	}

	#mainimage .mv_img{
		flex-wrap: wrap;
	}

}

@media only screen and (max-width: 767px) {/* 375まで */
	.sp_br{display: block;}


	#content02 .officialButton{
		padding: 0;
		margin-bottom: 3.125rem;
	}

	#content02 .info__text{
		font-size: 1.625rem;
		line-height: 1.19;
		margin-bottom: 1.25rem;
		padding: 1.5rem;
		border: 4px solid;
	}

	#content02 .info__text small{
		font-size: 69.23%;
		margin-top: 1rem;
	}

	#content02 .info__textArea .summary{
		margin-bottom: 3.125rem;
	}

	#content02 .info__text__link{
		padding: 0;
	}

	#content03 #item_aonohako{
		background: url(../images/background_ao.png) center / 150% repeat, #d4e3ec;
		padding: 3.125rem 1rem 5rem;
	}

	#content03 .content__ttl{
		max-width: 80vw;
		margin-bottom: .5rem;
	}

	#content03 .itemList__ttl{
		max-width: 30vw;
		margin-bottom: 1.875rem;
	}

	#content03 #item_sakamoto{
		width: 100%;
		padding: 6.25rem 1rem 3.125rem;
		margin-top: -1.625rem;
	}

	#content03 #item_sakamoto::before{
		height: calc((80 / 1000) * 100vw);
		clip-path: polygon(0 0, 100% 0%, 100% calc(0% + 0.35rem), 0% 100%);
	}

	main > [id] .container h2 {
		margin-bottom: 1.5rem;
	}

	#itemlist > .row > div{
		max-width: 100%;
		padding: 0;
		margin-bottom: 0!important;
	}
	#itemlist > .row > div:nth-child(n + 2){
		margin-top: 5rem;
	}

	#itemlist .item__ttl {
		font-size: 1.25rem;
	}
	#itemlist .item__size{
		font-size: .935rem;
	}
	#itemlist .item__txt{
		font-size: .935rem;
	}
	.formbox > .flex-box span[class^="form__"] {
		font-size: .935rem;
	}
	#itemlist .item__price{
		font-size: 1.25rem;
	}

	.formbox div.flex-box .form__select{
		margin-right: 0;
		margin-bottom: 1rem;
		width: 100%;
	}

	#content04{
		padding-bottom: 4.6875rem;
	}

	#content04 .content04__img{
		max-width: 73.43%;
		margin-bottom: 1.875rem;
	}

	#content04 .boothButton{
		margin-bottom: 3.25rem;
	}

	#content04 .content04__list__group[data="jump"] dt{
		max-width: 43.87%;
		margin: 0 auto 0.9375rem;
	}

	#content04 .content04__list__group[data="tms"] dt{
		max-width: 58.37%;
		margin: 0 auto 0.9375rem;
	}

	#content04 .content04__list__group[data] dd{
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	#content04 .content04__list__group[data] dd span{
		max-width: calc((100% - 1.25rem * 1) / 2);
	}

	#content04 .content04__list__group:not(:last-child){
		margin-bottom: 1.875rem;
	}

	#content02 .summary{
		margin-bottom: .5rem;
	}
	.limited_ttl{
		font-size: 8.80vw;
	}
	.limited_text{
		font-size: 3.17vw;
	}
	.order_ttl{
		font-size: 4.25vw;
	}
	.order_text{
		font-size: 2.4vw;
		padding: 3.9vw 0;
	}
	.order_text span{
		padding-left: 2.4vw;
	}
	.order_area .limited_ttl{
		font-size: 5.80vw;
	}
	.itemList_day_text{
		font-size: 4.6vw;
	}
	.container .fv .fv_tmslogo {
		max-width: 65vw;
		margin: 0 auto 1rem;
	}
	.container .fv .fv_tmslogo img {
		width: 100%;
	}
	.container .fv .fv_catch {
		font-size: 4.16vw;
		margin: 5.2vw auto;
	}
	.container .fv .fv_small {
		font-size: 2.34vw;
	}
	.overview h3 {
		font-size: 4.6vw;
	}
	.overview dl div {
		flex-direction: column;
		align-items: start;
	}
	.overview dl div dt {
		width: 100%;
		font-size: 3.6vw;
	}
	.overview dl:nth-of-type(2) div dt {
		width: 100%;
	}
	.overview dl div dd {
		font-size: 3.6vw;
	}
	.title_list {
		flex-direction: column;
	}
	.title_list li {
		width: 100%;
	}
	.content_box .__ttl {
		font-size: 11.7vw;
	}
	.content_box ul h5 {
		font-size: 4.5vw;
		padding: 4.17vw;
	}
	.content_box .content_box_inner .__info {
		font-size: 2.5vw;
	}
	.content_box .content_box_inner .__text {
		font-size: 2vw;
	}
	.content_box .content_box_inner {
		padding: 9.1vw 6.5vw;
	}
	.page_menu {
		flex-direction: column;
	}
	.page_menu li {
		width: 100%;
	}
	.content_box .content_box_inner .animettl[data="tokuten_drstone"] {
		max-width: 60vw;
	}
	.content_box .content_box_inner .animettl[data="tokuten_aonohako"] {
		max-width: 60vw;
	}
	.content_box .content_box_inner .animettl[data="tokuten_sakamoto"] {
		max-width: 65vw;
	}
	.title_list .goods_btn {
		font-size: 3.1vw;
	}
	.modal .modal_benefits {
		max-width: 95%;
		width: 100%;
	}
	.modal .modal_benefits img {
		width: 100%;
	}
	.modal .modal_benefits li .__head {
		font-size: 4.5vw;
		padding: 4.17vw 0;
	}
	.modal .modal_benefits li .__benefitsInner{
		max-width: 95%;
		margin: 0 auto;
	}
	.modal .modal_benefits li .__text {
		font-size: 2.3vw;
	}
	.modal-content .modal_head .head_logo {
		max-width: 33vw;
	}
	.modal-content .modal_head .head_logo img {
		width: 100%;
	}
	.modal-content .modal_x_btn {
		width: 7.8vw;
	}
	.modal .modal_inner {
		max-width: 95%;
		margin: 0 auto 30px;
		padding: 0;
	}
	.modal .modal_inner .goods_item {
		/* width: calc((100% - 15px) / 2); */
		width: 100%;
	}
	.modal_closeBtn {
		max-width: 95%;
		padding: 4.1vw 3.1vw;
		font-size: 3.65vw;
	}
	.modal-content .modal_head {
		padding: 3.12vw;
	}
	    .title_list .goods_btn:after {
        right: 33vw;
        width: 3.1vw;
        height: 3.1vw;
    }
}










@media only screen and (max-width: 450px) {
	#content02 .intro_ttl img{
		width: 100%;
	}
}
