
@media screen and (min-width: 768px) {/*PCの処理*/
	.modal_howto_formulation_main {
		max-width: 1920px;
		height: 73vh !important;
		padding: 0 0 80px;
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		/* IE, Edge 対応 */
		-ms-overflow-style: none;
		/* Firefox 対応 */
		scrollbar-width: none;
	}

	.modal_howto_formulation_main_inner {
		width: 950px;
		margin: 0 auto;
	}

	/* Chrome, Safari 対応 */
	.modal_howto_formulation_main::-webkit-scrollbar {
		display: none;
	}

	/* 商品一覧 導線部分*/
	#products .formulation_wrap {
		position: relative;
		width: 950px;
		height: 120px;
		margin: 20px auto;
		padding: 0;
	}

	/* ご注文手続き 導線部分*/
	.form_caution_cooper_wrap {
		margin: 0 0 50px;
	}

	.form_caution_cooper {
		font-size: 15px;
		letter-spacing: .15em;
		margin: 0;
		padding: 0;
		font-weight: bold;
	}

	.form_caution_cooper:nth-child(1) {
		margin: 0 0 10px;
	}

	.form_caution_cooper span {
		color: #e14141;
		font-size: 18px;
	}

	.form_caution_cooper::before {
		content: '';
		display: inline-block;
		width: 1.8em;
		height: 1.8em;
		margin: 0 0.7em 0 0;
		vertical-align: -0.5em;
		background-image: url(/img/howto/formulation/icon_exclamation.png);
		background-size: auto 100%;
		background-repeat: no-repeat;
		background-position: center center;
	}

	.form_after_cooper {
		font-size: 15px;
		letter-spacing: .15em;
		margin: 0 0 0 198px;
		padding: 0;
		font-weight: bold;
	}

	.form_prescription_after_title {
		font-size: 15px;
		letter-spacing: .15em;
		margin: 0 0 5px;
		padding: 0;
		border-bottom: solid 2px #333;
		display: inline-block;
		font-weight: bold;
		line-height: 1.5;
	}

	.form_prescription_after_title span {
		font-size: 18px;
		letter-spacing: .15em;
		color: #e04141;
	}

	.form_prescription_after_text {
		font-size: 14px;
		letter-spacing: .15em;
		margin: 0;
		padding: 0;
	}

	/* 商品ページ 導線部分*/
	#goods .formulation_wrap {
		position: relative;
		width: 420px;
		height: 220px;
		margin: 20px auto 50px;
		padding: 0;
	}
}

@media screen and (max-width: 767px) {/*SPの処理*/
	.modal_howto_formulation_main {
		height: 100vh !important;
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		/* IE, Edge 対応 */
		-ms-overflow-style: none;
		/* Firefox 対応 */
		scrollbar-width: none;
	}

	/* Chrome, Safari 対応 */
	.modal_howto_formulation_main::-webkit-scrollbar {
		display: none;
	}

	/* 商品一覧 導線部分*/
	#products .formulation_wrap {
		max-width: 640px;
		width: 90.1%;
		margin: 5% auto;
		padding: 0;
	}

	#products .formulation_wrap_inner img {
		display: block;
		max-width: 100%;
		width: auto;
		height: auto;
		margin: 0 auto;
	}

	/* 商品ページ 導線部分*/
	#goods .formulation_wrap {
		max-width: 420px;
		width: 90.1%;
		margin: 5% auto;
		padding: 0;
	}

	#goods .formulation_wrap_inner img {
		display: block;
		max-width: 100%;
		width: auto;
		height: auto;
		margin: 0 auto;
	}

	/* ご注文手続き 導線部分*/
	.form_caution_cooper_wrap {
		margin: 0 0 25px;
	}

	.form_caution_cooper {
		letter-spacing: .1em;
		margin: 0;
		padding: 0 0 0 1.9em;
		text-indent: -2.2em;
		font-weight: bold;
		line-height: 1.5;
	}

	.form_caution_cooper:nth-child(1) {
		margin: 0 0 10px;
	}

	.form_caution_cooper .small {
		font-size: 10px;
	}

	.form_caution_cooper .red {
		color: #e14141;
		font-size: 14px;
	}

	.form_caution_cooper::before {
		content: '';
		display: inline-block;
		width: 1.5em;
		height: 1.5em;
		margin: 0 0.7em 0 0;
		vertical-align: -0.4em;
		background-image: url(/img/howto/formulation/icon_exclamation.png);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center center;
	}

	.form_after_cooper {
		font-size: 12px;
		letter-spacing: .15em;
		margin: 0 auto;
		padding: 0;
		font-weight: bold;
		text-align: center;
	}

	.form_after_cooper_img {
		width: 85%;
		margin: 0 auto;
	}

	.form_after_cooper_img img {
		display: block;
		max-width: 100%;
		width: auto;
		height: auto;
		margin: 0 auto;
	}

	.form_prescription_after_title {
		font-size: 11px;
		letter-spacing: .15em;
		margin: 0 0 5px;
		padding: 0;
		border-bottom: solid 2px #333;
		display: inline-block;
		font-weight: bold;
		line-height: 1.5;
	}

	.form_prescription_after_title span {
		font-size: 13px;
		letter-spacing: .15em;
		color: #e04141;
	}

	.form_prescription_after_text {
		font-size: 12px;
		letter-spacing: .05em;
		margin: 0 0 5px;
		padding: 0;
		line-height: 1.5;
	}

	.link_explain {
		font-size: 12px;
		letter-spacing: .05em;
		margin: 0 0 5px;
		padding: 0;
		line-height: 1.5;
	}

	/* モーダル共通*/
	#modal_howto_formulation .formulation_modal_wrap {
		display: block;
	}

	#modal_howto_formulation .show {
		display: block;
	}

	#modal_howto_formulation .close {
		display: none;
	}
}


/* 処方箋の提出方法モーダル
--------------------------------------- */
#modal_howto_formulation {
	max-width: 960px !important;
	width: 100%;
	padding: 0 calc(40 / 960 * var(--contents_width)) !important;
	background-color: transparent !important;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: left;
}
@media screen and (min-width: 768px) {
	#modal_howto_formulation{
		width: 464px !important;
	}
}

#modal_howto_formulation > *:first-child{
	margin-top: 0 !important;
}

#modal_howto_formulation .mfp-close{
	right: calc(40 / 960 * var(--contents_width));
}


#modal_howto_formulation .modal_howto_formulation_attentionbox01 {
	background-color: #e04141;
	padding: 4.8% 6.5%;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox01_ttl01 {
	font-size: calc(42 / 960 * var(--contents_width));
	font-weight: bold;
	color: #ffffff;
	text-align: center;
	margin: 0;
	padding: 0;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox01_ttl01_strong {
	color: #fffd77;
	margin: 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox01_txt01{
	font-size: calc(28 / 960 * var(--contents_width));
	font-weight: 500;
	color: #ffffff;
	line-height: 1.7;
	letter-spacing: 0.1em;
	margin: 7.2% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_ttl01{
	font-size: calc(50 / 960 * var(--contents_width));
	font-weight: bold;
	color: #ffffff;
	margin: 14.5% 0 0;
	padding: 0;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

#modal_howto_formulation .modal_howto_formulation_ttl01.is_reco{
	letter-spacing: 0.08em;
	font-size: calc(46 / 960 * var(--contents_width));
	display: flex;
	align-items: center;
	justify-content: center;
}

#modal_howto_formulation .modal_howto_formulation_ttl01.is_reco:before {
	content: "";
	display: block;
	width: calc(100 / 960 * var(--contents_width));
	height: calc(97 / 960 * var(--contents_width));
	background-image: url(/img/howto/formulation/icon_reco.png);
	background-size: 99.9% auto;
	background-repeat: no-repeat;
	background-position: center center;
	margin: 0 0.3em 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox01 + .modal_howto_formulation_ttl01{
	margin-top: 4%;
}

#modal_howto_formulation .modal_howto_formulation_ttl02{
	font-size: calc(42 / 960 * var(--contents_width));
	font-weight: bold;
	color: #e14141;
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin: 0;
	padding: 0;
	text-align: center;
}

#modal_howto_formulation .modal_howto_formulation_txt01{
	font-size: calc(28 / 960 * var(--contents_width));
	font-weight: normal;
	color: #333333;
	line-height: 1.65;
	letter-spacing: 0.1em;
	margin: 5.8% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_txt01.is_small{
	font-size: calc(26 / 960 * var(--contents_width));
}

#modal_howto_formulation .modal_howto_formulation_txt01.is_large{
	margin-top: 9.8%;
	font-size: calc(33 / 960 * var(--contents_width));
}

#modal_howto_formulation .modal_howto_formulation_txt01.is_red{
	color: #e50000;
}

#modal_howto_formulation .modal_howto_formulation_attention_txt01{
	width: fit-content;
	position: relative;
	font-size: calc(36 / 960 * var(--contents_width));
	font-weight: bold;
	color: #333333;
	line-height: 1.65;
	letter-spacing: 0.1em;
	margin: 10% 0 0;
	padding: 0 0 1.6%;
}

#modal_howto_formulation .modal_howto_formulation_attention_txt01:before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background-color: #333333;
}

#modal_howto_formulation .modal_howto_formulation_attention_txt01_strong{
	color: #e04141;
	margin: 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_anchor01{
	margin: 6.8% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_item{
	margin: 8% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_item > *:first-child{
	margin-top: 0;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_attention{
	margin: 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_attention_main{
	font-size: calc(30 / 960 * var(--contents_width));
	font-weight: bold;
	color: #ffffff;
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.12em;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_attention_sub{
	font-size: calc(24 / 960 * var(--contents_width));
	font-weight: 500;
	color: #ffffff;
	margin: 1.4% 0 0;
	padding: 0;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.12em;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_btn{
	position: relative;
	font-size: calc(33 / 960 * var(--contents_width));
	font-weight: bold;
	color: #333333;
	text-align: center;
	display: block;
	text-decoration: none;
	padding: 4.4%;
	margin: 2% 0 0;
	background-color: #ffffff;
	line-height: 1.5;
	letter-spacing: 0.12em;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_btn:before {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(36 / 960 * var(--contents_width));
	transform: translate(0,-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: calc(10 / 960 * var(--contents_width)) solid transparent;
	border-left: calc(10 / 960 * var(--contents_width)) solid transparent;
	border-top: calc(15 / 960 * var(--contents_width)) solid #333333;
	border-bottom: 0;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_btn.is_reco:after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(18 / 960 * var(--contents_width));
	transform: translate(0,-50%);
	width: calc(105 / 960 * var(--contents_width));
	height: calc(102 / 960 * var(--contents_width));
	background-image: url(/img/howto/formulation/icon_reco.png);
	background-size: 99.9% auto;
	background-repeat: no-repeat;
	background-position: center center;
	margin: 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_anchor01_btn .is_red{
	color: #e04141;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox02{
	background-color: #e04141;
	margin: 3.8% 0 0;
	padding: 2.6% 0;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox02 > *:first-child{
	margin-top: 0 !important;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox02_txt01{
	font-size: calc(28 / 960 * var(--contents_width));
	font-weight: 500;
	color: #ffffff;
	margin: 7.8% 0 0;
	padding: 0;
	line-height: 1.6;
	letter-spacing: 0.11em;
	text-align: center;
}

#modal_howto_formulation .modal_howto_formulation_anchor01 + .modal_howto_formulation_attentionbox02{
	margin-top: 15.6%;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox03{
	background-color: #e04141;
	margin: 3.8% 0 0;
	padding: 4.4% 5.5%;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox03 > *:first-child{
	margin-top: 0 !important;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox03_txt01{
	font-size: calc(30 / 960 * var(--contents_width));
	font-weight: 500;
	color: #ffffff;
	margin: 7.8% 0 0;
	padding: 0;
	line-height: 1.6;
	letter-spacing: 0.11em;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox03_img01{
	margin: 5.2% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_container01{
	background: #ffffff;
	padding: 5.2% 6.5%;
	margin: 4.6% 0 0;
}

#modal_howto_formulation .modal_howto_formulation_container01.is_head_arrow{
	position: relative;
	margin-top: 7.55%;
}

#modal_howto_formulation .modal_howto_formulation_container01.is_head_arrow:before{
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translate(-50%,0);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: calc(20 / 960 * var(--contents_width)) solid transparent;
	border-left: calc(20 / 960 * var(--contents_width)) solid transparent;
	border-top: calc(24 / 960 * var(--contents_width)) solid #ffffff;
	border-bottom: 0;
	margin: 0 0 2.2%;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_attentionbox03 + .modal_howto_formulation_container01{
	margin-top: 7.55%;
}

#modal_howto_formulation .modal_howto_formulation_stepicon01{
	font-family: roboto;
	font-size: calc(30 / 960 * var(--contents_width));
	font-weight: 500;
	color: #ffffff;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.11em;
	background-color: #333333;
	width: fit-content;
	padding: 1.2% 3.8%;
}

#modal_howto_formulation .modal_howto_formulation_media01{
	display: grid;
	grid-template-columns: calc(110 / 960 * var(--contents_width)) 1fr;
	margin: 4% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_media01_main{
	font-size: calc(33 / 960 * var(--contents_width));
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.07em;
	color: #333333;
	margin: 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_media01_sub{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	transform: translate(-12%, 0);
}

#modal_howto_formulation .modal_howto_formulation_media01_sub img{
	width: 98%;
	height: auto;
	margin: 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_media01_txt_border{
	border-bottom: 2px solid #e04141;
}

#modal_howto_formulation .modal_howto_formulation_list01{
	font-size: calc(30 / 960 * var(--contents_width));
	font-weight: normal;
	line-height: 1.6;
	letter-spacing: 0.07em;
	color: #333333;
	margin: 5.4% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_media01 +  .modal_howto_formulation_list01{
	margin-top: 2.4%;
}

#modal_howto_formulation .modal_howto_formulation_list01_item{
	display: flex;
	margin: 1em 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_list01_item:first-of-type{
	margin-top: 0 !important;
}


#modal_howto_formulation .modal_howto_formulation_list01_item:before{
	content: "\30FB";
	margin: 0;
	padding: 0;
}


#modal_howto_formulation .modal_howto_formulation_list01_item_in{
	flex: 1;
}

#modal_howto_formulation .modal_howto_formulation_list01.is_annotation .modal_howto_formulation_list01_item:before{
	content: "\203B";
}

#modal_howto_formulation .modal_howto_formulation_list01.is_small{
	font-size: calc(26 / 960 * var(--contents_width));
}

#modal_howto_formulation .modal_howto_formulation_list01 .is_red{
	color: #e04141;
}

#modal_howto_formulation .modal_howto_formulation_list01.is_checklist .modal_howto_formulation_list01_item:before {
	content: "";
	transform: translate(0,0.3em);
	width: calc(33 / 960 * var(--contents_width));
	height: calc(33 / 960 * var(--contents_width));
	background-image: url(/img/howto/formulation/icon_check.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 99% auto;
	margin-right: 0.6em;
}

#modal_howto_formulation .modal_howto_formulation_list01.is_checklist{
	font-size: calc(33 / 960 * var(--contents_width));
	font-weight: bold;
	margin-top: 8%;
}

#modal_howto_formulation .modal_howto_formulation_box_gray{
	background-color: #f6f6f6;
	padding: 7.3%;
	margin: 6% 0 0;
}

#modal_howto_formulation .modal_howto_formulation_box_gray >*:first-child{
	margin-top: 0;
}

#modal_howto_formulation .modal_howto_formulation_img01{
	margin: 8% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_accordion01 {
	margin: 9.7% 0 0;
	padding: 0;
	&::details-content {
		transition-duration: 300ms;
		transition-property: content-visibility, opacity;
		transition-behavior: allow-discrete;
	}
	&:not([open])::details-content {
		opacity: 0;
	}
}

/* Safariの矢印削除 */
#modal_howto_formulation .modal_howto_formulation_accordion01_head {
	list-style: none;
}
#modal_howto_formulation .modal_howto_formulation_accordion01_head::marker {
	content: "";
}
#modal_howto_formulation .modal_howto_formulation_accordion01_head::-webkit-details-marker {
	display: none !important;
}

#modal_howto_formulation .modal_howto_formulation_accordion01_head_ttl {
    list-style: none;
    position: relative;
    padding-right: 1.3em;
    cursor: pointer;
	width: fit-content;
	font-size: calc(26 / 960 * var(--contents_width));
	font-weight: 500;
	color: #0094e1;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

#modal_howto_formulation .modal_howto_formulation_accordion01_head_ttl::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: calc(15 / 960 * var(--contents_width));
    height: calc(15 / 960 * var(--contents_width));
    border-bottom: 2px solid #58ade7;
    border-right: 2px solid #58ade7;
    transform: translate(0, -70%) rotate(45deg);
}

#modal_howto_formulation .modal_howto_formulation_accordion01[open] .modal_howto_formulation_accordion01_head_ttl::after {
    transform: translate(0, -20%) rotate(225deg);
}

#modal_howto_formulation .modal_howto_formulation_accordion01_body{
	margin: 6% 0 0;
	padding: 0;
}

#modal_howto_formulation .modal_howto_formulation_accordion01_body_in {
	border: 1px solid #dddddd;
	padding: 5.5%;
}

#modal_howto_formulation .modal_howto_formulation_accordion01_ttl01 {
	font-size: calc(33 / 960 * var(--contents_width));
	font-weight: bold;
	color: #333333;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-align: center;
	margin: 0;
	padding: 0;
}

/*スムーススクロール*/
.mfp-wrap:has(#modal_howto_formulation) {
    scroll-behavior: smooth;
}
