@charset "utf-8";
/*==================================================================================================

基本設定
color main #3482dd(blue) sub01 #f1f50d(yellow) sub02 #99d52b(green)

==================================================================================================*/
/* ブラウザのデフォルトスタイルをリセットする */
@import url('html5reset-1.6.1.css');
/* 共通class */
@import url('https://secure.apap.jp/vc/base/usr/docs/css/common.css');
/* Google Fonts読み込み */
@import url(https://fonts.googleapis.com/css?family=Roboto);
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
/* Icon Fonts読み込み */
@import url('/vc/base/usr/docs/css/fontawesome_ver4.css');
@import url('/vc/base/usr/docs/css/fontawesome_ver5.css');
/* 約物半角専用フォント読み込み */
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.0.0/dist/css/yakuhanjp.min.css');

/* CSS変数設定 */
:root {
	--base_color: #3482dd;
	--base_width: 1000px;
}
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
html {
	font-size: 62.5%; /* sets the base font to 10px for eaiser math */
}
body {
	background: #fff;
	color: #333;
	font-size: 16px;
	font-size: 1.6rem;
/*	font-family: "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;*/
	font-family: YakuHanJP, "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.6;
	min-width: 1040px; /* Viewportの影響で、width指定がない部分だけがデフォルト（980px）と判断される。そのためスマホ画面表示の場合にコンテンツが2重縮尺となり期待する表示にならない事の回避のため、最少表示サイズを設定 */
	-webkit-text-size-adjust: 100%;
}
/* html5用 */
article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
	display: block;
}
br {
	letter-spacing: normal;
}
a {
	color: #00f;
	outline: none;
	text-decoration: none;
}
a:hover {
	color: #f00;
	text-decoration: underline;
}
label {
	cursor: pointer;
}
strong {
	font-weight: bold;
}
a:hover img {
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.6;
}
p {
	margin-bottom: 1em;
}
img {
	vertical-align: bottom;
}

/*==================================================================================================

▼サイトの構造
#fixed_header_replace
#wrap_header
	┗#header
		┗h1
		┗#panel_menu
#gnavi
#panel_contents（PAD、SP用）
	┗.gnavi_usr_name
	┗.close_btn
#main_style
	┗.bg_color（ブラウザ幅一杯の背景色）
		┗.contents（コンテンツの横幅用）
#footer
	┗.footer_contents
		┗.copyright
.page_top
==================================================================================================*/
#wrap_header {
	background: #3482dd;
}
#panel_menu {
	display: none;
}
nav#gnavi {
	background: #1f1f47;
	/*box-shadow: 0 4px 3px 0px rgba(255, 255, 255, 1);*/
	padding: 0 20px;
	width: 100%;
	height: 64px;
	z-index: 100;
}
#panel_contents {
	display: none;
}
#footer { /* footerFixed.js を使用するため#footerという名前にする */
	background-color: #fff;
	border-top: 8px solid #1f1f47;
	font-size: 12px;
	font-size: 1.2rem;
	width: 100%;
	height: auto;
}

/*########################################################################################

ヘッダー
#wrap_header

########################################################################################*/
#header {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
	margin: auto;
	width: 1000px;
	height: 88px;
}
#header h1 a {
	background: url(../images/logo.svg) 0 0 no-repeat;
	background-size: 235px 53px;
	display: block;
	width: 235px;
	height: 53px;
}
#header h1 a span {
	display: none;
}
#header .kenpo_name {
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold
}

/*########################################################################################

グローバルナビゲーション
#gnavi

########################################################################################*/
ul.btn_menu {
	display: flex;
		justify-content: center;
	margin: auto;
	width: 1000px;
}
ul.btn_menu li {
	display: block;
	width: calc(100% / 3);
	/*flex-grow: 1;*/
}
/*
ul.btn_menu li a {
	color: #fff;
	display: flex;
		justify-content: center;
		align-items: center;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	height: 64px;
	line-height: 1;
	text-decoration: none;
}
ul.btn_menu li a:hover {
	background-color: #3482dd;
	border-top: 3px solid #1f1f47;
	border-bottom: 3px solid #1f1f47;
}
*/
ul.btn_menu li a {
	color: #fff;
	display: flex;
		justify-content: center;
		align-items: center;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	height: 64px;
	line-height: 1;
	position: relative;
	text-decoration: none;
	text-shadow: 0 0 1px rgba(255,255,255,0.3);
	transition: color 0.3s;
}
ul.btn_menu li a::before {
	position: absolute;
	top: 65%;
	left: 50%;
	color: transparent;
	content: '•';
	text-shadow: 0 0 transparent;
	font-size: 1.2em;
	transition: text-shadow 0.3s, color 0.3s;
	transform: translateX(-50%);
	pointer-events: none;
}
ul.btn_menu li a:hover::before {
	color: #fff;
	text-shadow: 10px 0 #fff, -10px 0 #fff;
}

ul.btn_menu li a:hover {
	color: #f1f50d;
}
nav#gnavi.fixed {
	position: fixed;
		top: 0;
		left: 0;
}


/*########################################################################################

トップページ、セカンダリページの基本設定

########################################################################################*/
#main_style .bg_color {
	background-color: #3482dd;
	color: #fff;
	width: 100%;
}
.contents { /* 商品購入ページでも使用しているので「#main_style」は付けない */
	margin: auto;
	padding: 24px 0;
	position: relative;
	width: 1000px;
}
#main_style .main_ttl {
	background-color: #3482dd;
	color: #fff;
	width: 100%;
}
#main_style .main_ttl .contents {
	padding-top: 32px;
	padding-bottom: 40px;
}
#main_style .main_ttl .contents .main_ill_pcpad {
	position: absolute;
		bottom: 0;
		right: 0;
}
.main_ttl .contents .main_ill_sp {
	display: none;
}
#main_style .main_ill_pcpad span,
#main_style .main_ill_sp span {
	display: none;
}
#main_style .main_ttl h2 {
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: bold;
	line-height: 1.2;
}
#main_style .main_ttl h2 .main_ttl_en {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 500;
}
#main_style .main_ttl .ttl_lead {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	margin-top: 24px;
}
#main_style h1 {
	background-image: linear-gradient(
		-45deg,
		#fff 25%,
		#ddd 25%, #ddd 50%,
		#fff 50%, #fff 75%,
		#ddd 75%, #ddd
		);
	background-size: 4px 5px;
	background-repeat: repeat-x;
	background-position: left bottom;
	display: flex;
		align-items: center;
		justify-content: flex-start;
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.1;
	margin-bottom: .5em;
	padding: 11px 0 14px .5em;
	position: relative;
}
#main_style h1:before {
	content: "";
	position: absolute;
		bottom: 0;
		left: 0;
	width: 5px;
	height: 5px;
	background: #3482dd;
}
#main_style h3 {
	color: #3482dd;
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.2;
	margin-top: 128px;
	text-align: center;
}
#main_style h3 span {
	font-size: 20px;
	font-size: 2.0rem;
}
#main_style h3::after {
	background-color: #3482dd;
	content: "";
	display: block;
	margin: 16px auto;
	width: 56px;
	height: 3px;
}
#main_style .h3_first {
	margin-top: 24px;
}
#main_style h4 {
	border-left: 8px solid #3482dd;
	font-weight: bold;
	margin: 2.5em 0 .75em;
	padding: 0 0 4px 8px;
	position: relative;
}
#main_style h5 {
	font-weight: bold;
	margin: 1.5em 0 .5em;
	padding-left: 1em;
	position: relative;
}
#main_style h5::before {
	display: block;
	content: "\f054"; /* chevron-right */
	font-family: FontAwesome;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: normal;
	position: absolute;
		top: 3px;
		left: 2px;
}
#main_style .lead_txt {
	font-weight: bold;
	margin-bottom: 32px;
	position: relative;
	text-align: center;
}
/* 禁煙マーク付きタイトル */
#main_style .kinenmark_ttl,
#main_style .kinenmark_ttl_red {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 16px;
	text-align: center;
}
#main_style .kinenmark_ttl {
	color: #fff;
}
#main_style .kinenmark_ttl_red {
	color: #3482dd;
}
#main_style .kinenmark_ttl span::before,
#main_style .kinenmark_ttl_red span::before {
	display: inline-block;
	margin-right: 8px;
	vertical-align: -12px;
	width: 42px;
	height: 42px;
}
#main_style .kinenmark_ttl span::before {
	content: url(../images/kinenmark.svg);
}
#main_style .kinenmark_ttl_red span::before {
	content: url(../images/kinenmark_red.svg);
}
/* 青背景タイトル */
#main_style .blue_ttl {
	background: #99d52b;
	border: 2px solid #000;
	border-radius: 40px;
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	padding: 4px 16px;
}
/* メインタイトル内のリンクボタン */
#main_style a.btn_link_ttl {
	background: #f1f50d;
	border: 2px solid transparent; /* hover時にずれないように */
	color: #3482dd;
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 24px;
	padding: 8px 16px;
}
#main_style .btn_link_ttl span {
	font-size: 16px;
	font-size: 1.6rem;
}
#main_style a:hover.btn_link_ttl {
	background-color: #3482dd;
	border-color: #f1f50d;
	color: #f1f50d;
	text-decoration: none;
	transition: .3s;
}
#main_style .round_cmt_white {
	border: 2px solid #fff;
	border-radius: 40px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 12px 48px;
	text-align: center;
}
#main_style .round_cmt_white::before,
#main_style .round_cmt_white::after {
	content: "";
	display: block;
	border-width: 20px 8px 0 8px;
	border-style: solid;
	position: absolute;
		left: calc(50% - 8px);
}
#main_style .round_cmt_white::before {
	border-color: #fff transparent transparent transparent;
		bottom: -20px;
}
#main_style .round_cmt_white::after {
	border-color: #3482dd transparent transparent transparent;
		bottom: -14px;
}

/*########################################################################################

トップページ

########################################################################################*/
/* 期間マーク */
#main_style .mk_period {
	background: #000;
	border-radius: 20px;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	margin-right: 8px;
	padding: 4px 16px 6px;
	vertical-align: 2px;
}
/* 次回予告 */
#main_style .notice{
	display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: center;
}
#main_style .notice div{
	color: #fffc19;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}
#main_style .notice span{
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 1em;
}
/* メインタイトル上部のリンクボタン */
#main_style a.btn_link_ttl.btn_link_top {
	margin: 0 0 0 16px;
	padding: 4px 16px;
}
/* 点滅 */
#main_style .blinking{
	animation:blink .5s linear infinite alternate;
}
@keyframes blink{
	0% {visibility: hidden;}
	50% {visibility: hidden;}
	100% {visibility: visible;}
}
/* メインタイトル */
#main_style .index_ttl {
	border: 4px solid #fff;
	margin-top: 8px;
	padding: 80px 32px 32px;
	position: relative;
}
#main_style .index_ttl img {
	display: block;
	margin-bottom: 24px;
	width: 461px;
	height: 183px;
}
/* メインタイトルの画像を指定 */
#main_style .main_ill_index {
	/* 元のsvg
	background: url(../images/main_ttl.svg) right 0 bottom 0 no-repeat;
	background-size: 498px 448px;
	bottom: auto !important;
	width: 498px;
	height: 448px;
	*/
	background: url(../images/main_ttl_anim.gif) right 0 bottom 0 no-repeat;
	background-size: 428px 428px;
	bottom: auto !important;
	right: 24px !important;
	width: 428px;
	height: 428px;
}
#main_style a.to_step {
	background: url(../images/btn_anc_arrow.svg) center bottom 8px no-repeat #99d52b;
	background-size: 21px 28px;
	border: 2px solid transparent; /* hover時にずれないように */
	border-radius: 50%;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
	padding-top: 20px;
	position: absolute;
		bottom: -64px;
		left: calc(50% - 64px);
	text-align: center;
	width: 128px;
	height: 128px;
}
#main_style a.to_step span {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: .8;
}
#main_style a.to_step span span {
	font-size: 24px;
	font-size: 2.4rem;
}
#main_style a:hover.to_step {
	background-color: #fff;
	background-image: url(../images/btn_anc_arrow_sub02.svg);
	border-color: #99d52b;
	color: #99d52b;
	text-decoration: none;
	transition: .3s;
}

/* STEP01 */
#main_style .diacrisis_step01 {
	background-image: url(../images/step01_img.svg);
	background-position: left 296px top 0;
	background-repeat: no-repeat;
	background-size: 360px 292px;
	margin-top: 32px;
	padding: 116px 0 0 64px;
	position: relative;
}
#main_style .mark_step01 {
	position: absolute;
		top: 48px;
		left: 0;
	width: 94px;
	height: 94px;
}
#main_style a.btn_diagnosis {
	background: rgba(255, 255, 255, .8);
	border: 4px solid #3482dd;
	color: #3482dd;
	display: flex;
		flex-direction: column;
	line-height: 1.4;
	padding: 24px;
	width: 340px;
}
#main_style a.btn_diagnosis > div:first-child {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
}
#main_style a.btn_diagnosis > div:nth-child(2) {
	color: #000;
	font-weight: bold;
	margin-top: 12px;
}
#main_style a.btn_diagnosis > div:last-child {
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 12px;
	text-align: right;
}
#main_style a.btn_diagnosis > div:last-child span::before {
	content: url(../images/btn_arrow_right_main.svg);
	display: inline-block;
	margin-right: 8px;
	width: 16px;
	height: 12px;
}
#main_style a:hover.btn_diagnosis {
	background-color: #3482dd;
	text-decoration: none;
	transition: .3s;
}
#main_style a:hover.btn_diagnosis > div {
	color: #fff;
}
#main_style a:hover.btn_diagnosis > div:last-child span::before {
	content: url(../images/btn_arrow_right_white.svg);
}

/* STEP02 */
#main_style .diacrisis_step02 {
	margin-top: -24px;
	padding: 68px 0 0 64px;
	position: relative;
}
#main_style .diacrisis_step02::after {
	content: url(../images/step02_img.svg);
	position: absolute;
		bottom: calc(100% - 84px);
		right: 0;
	width: 284px;
	height: 206px;
}
#main_style .mark_step02 {
	position: absolute;
		top: 0;
		right: 304px;
	width: 94px;
	height: 94px;
}
#main_style a.btn_method {
	background: #f2f7fe;
	border: 4px solid #3482dd;
	color: #3482dd;
	display: flex;
		flex-direction: column;
	line-height: 1.4;
	margin-left: auto;
	padding: 32px 24px 24px;
	width: 336px;
}
#main_style a.btn_method > div:first-child {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
}
#main_style a.btn_method > div:nth-child(2) {
	color: #000;
	font-weight: bold;
	margin-top: 12px;
}
#main_style a.btn_method > div:last-child {
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 12px;
	text-align: right;
}
#main_style a.btn_method > div:last-child span::before {
	content: url(../images/btn_arrow_right_main.svg);
	display: inline-block;
	margin-right: 8px;
	width: 16px;
	height: 12px;
}
#main_style a:hover.btn_method {
	background-color: #3482dd;
	text-decoration: none;
	transition: .3s;
}
#main_style a:hover.btn_method > div {
	color: #fff;
}
#main_style a:hover.btn_method > div:last-child span::before {
	content: url(../images/btn_arrow_right_white.svg);
}

/* STEP03 */
#main_style .diacrisis_step03 {
	margin-top: 24px;
	padding: 56px 32px 24px;
	position: relative;
}
#main_style .mark_step03 {
	position: absolute;
		top: 0;
		left: 0;
	width: 94px;
	height: 94px;
}
#main_style .application_box {
	background: #f1f50d;
	padding: 24px 32px;
	position: relative;
}
#main_style .ab_line1 {
	display: flex;
		align-items: center;
/*		justify-content: space-between;*/
}
#main_style .ab_line1 > div:nth-child(2) {
	color: #3482dd;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
}
#main_style .ab_line1 > img {
	display: block;
	margin-top: -104px;
	width: 170px;
	height: 181px;
}
/*
#main_style .ab_line1 > div:last-child {
	border: 2px solid #000;
	border-radius: 80px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 8px 12px;
}
#main_style .ab_line1 > div:last-child span {
	color: #3482dd;
}
*/
#main_style .ab_line2 {
	font-weight: bold;
	margin-top: 16px;
	margin-bottom: 16px;
}
#main_style .ab_line2 span {
	color: #3482dd;
}
#main_style .ab_line3 {
	display: flex;
		align-items: center;
		justify-content: space-between;
}
#main_style .ab_line3 > div:first-child {
	color: #3482dd;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}
#main_style .ab_line3 > div:first-child .until {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style a.btn_application,
#main_style span.btn_application {
	border: 4px solid #3482dd;
	color: #3482dd;
	display: flex;
		align-self: stretch;
		align-items: center;
		justify-content: center;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	margin-left: 32px;
	padding: 16px 20px;
	width: 340px;
}
#main_style a:hover.btn_application {
	background: #3482dd;
	color: #fff;
	text-decoration: none;
	transition: .3s;
}
#main_style .del {
	text-decoration :line-through;
}
#main_style .ab_line3_kome {
	font-size: 16px;
	font-size: 1.6rem;
	position: relative;
		left: 6em;
}
/* オンライン禁煙プログラム */
#main_style .online_area {
	background-image: url(../images/index_online.svg), url(../images/fukidashi_online.svg);
	background-repeat: no-repeat;
	background-position: right 16px bottom 8px, center top 40px;
	background-size: 349px 216px, 236px 107px;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	padding-top: 160px;
	position: relative;
	text-align: center;
}
#main_style a.btn_more {
	border: 2px solid #fff;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1;
	margin: 40px auto 8px;
	width: 160px;
	height: 40px;
}
#main_style a.btn_more span::before {
	content: url(../images/btn_arrow_right_white.svg);
	display: inline-block;
	margin-right: 16px;
	width: 16px;
	height: 12px;
}
#main_style a:hover.btn_more {
	background-color: #fff;
	color: #004098;
	text-decoration: none;
	transition: .3s;
}
#main_style a:hover.btn_more span::before {
	content: url(../images/btn_arrow_right_main.svg);
}
#main_style .online_merit {
	position: absolute;
		top: 15%;
		left: 24px;
	width: 300px;
}
#main_style .online_merit li {
	background: #004098;
	border-radius: 40px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 8px 24px;
	text-align: center;
	width: 200px;
}
#main_style .online_merit li:not(:last-child) {
	margin-bottom: 16px;
}
#main_style .online_merit li:nth-child(odd) {
	margin-left: auto;
}

/* 「禁煙の方法」「禁煙コラム」へのリンク */
#main_style .link_method_column {
	display: flex;
		justify-content: space-between;
	padding-top: 48px;
	padding-bottom: 48px;
}
#main_style .link_method_column a {
	border: 4px solid #fff;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: space-between;
	line-height: 1.4;
	padding: 20px 24px 20px;
	width: 48%;
}
#main_style .link_method_column a div > div:first-child  {
	font-weight: bold;
}
#main_style .link_method_column a div > div:first-child span {
	font-size: 24px;
	font-size: 2.4rem;
}
#main_style .link_method_column a div > div:nth-child(2) {
	font-weight: bold;
	margin-top: 24px;
}
#main_style .link_method_column a div > div:last-child {
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 12px;
	text-align: right;
}
#main_style .link_method_column a div > div:last-child span::before {
	content: url(../images/btn_arrow_right_white.svg);
	display: inline-block;
	margin-right: 8px;
	width: 16px;
	height: 12px;
}
#main_style .btn_link_method img {
	width: 139px;
	height: 153px;
}
#main_style .btn_link_column img {
	margin-right: 32px;
	width: 102px;
	height: 170px;
}
#main_style .link_method_column a:hover {
	background-color: #fff;
	color: #3482dd;
	text-decoration: none;
	transition: .3s;
}
#main_style .link_method_column a:hover img {
	opacity: 1;
}
#main_style .link_method_column a:hover div > div:last-child span::before {
	content: url(../images/btn_arrow_right_main.svg);
}

/* 自己診断ポップアップ  商品購入ページでも使用しているので「#main_style」は付けない */
.popup_base_wrap {
	background: rgba(0, 0, 0, 0.7) !important;
}
.popup_base_box.popup_diagnosis {
	background: #3482dd;
	border: none;
	border-radius: 0;
	position: relative;
	overflow: auto;
}
.diagnosis_header {
	background: url(../images/logo.svg) left 24px top 16px no-repeat;
	background-size: 180px 40px;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 24px;
	text-align: right;
}
.diagnosis_contents {
	background: #fff;
	border: 4px solid #000;
	margin: 0 80px 16px;
	padding: 40px;
	position: relative;
	min-height: 574px;
}
.diagnosis_ttl {
	font-weight: bold;
	margin-bottom: 32px;
	text-align: center;
}
.diagnosis_ttl > div {
	color: #3482dd;
	font-size: 32px;
	font-size: 3.2rem;
	line-height: 1;
}
.diagnosis_ttl > div::after {
	background-color: #3482dd;
	content: "";
	display: block;
	margin: 16px auto 12px;
	width: 56px;
	height: 3px;
}
/* 自己診断スタート */
.diagnosis_start {
	background: url(../images/popup_man.svg) top 0 left 16px no-repeat;
	background-size: 110px 146px;
	min-height: 146px;
}
.diagnosis_start_fukidasi {
	border: 2px solid #000;
	border-radius: 80px;
	color: #3482dd;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	margin-left: 144px;
	padding: 24px;
	position: relative;
}
.diagnosis_start_fukidasi::after {
	content: url(../images/fukidasi_arrow_big.svg);
	display: block;
	line-height: 1;
	position: absolute;
		top: 100%;
		left: 64px;
	width: 40px;
	height: 17px;
}
a.btn_diagnosis_single {
	background: #f1f50d;
	border: 4px solid #000;
	color: #3482dd;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: bold;
	line-height: 1;
	margin: 64px auto 0;
	width: 320px;
	height: 96px;
}
a:hover.btn_diagnosis_single {
	background: #3482dd;
	color: #fff;
	text-decoration: none;
	transition: .3s;
}
/* 自己診断質問 */
.diagnosis_question {
	background: url(../images/popup_man.svg) top 0 left 24px no-repeat;
	background-size: 110px 146px;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.5;
	margin-top: 64px;
	padding: 40px 0 0 146px;
	position: relative;
	min-height: 146px;
}
.question_fukidasi {
	border: 2px solid #000;
	border-radius: 80px;
	color: #3482dd;
	display: inline-block;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
		top: -32px;
		left: 106px;
	padding: 8px 40px;
}
.question_fukidasi::after {
	content: url(../images/fukidasi_arrow_small.svg);
	display: block;
	position: absolute;
		top: calc(100% - 15px);
		left: 16px;
	width: 20px;
	height: 9px;
}
/* 「YES」「NO」 */
.wrap_diagnosis_btn {
	display: flex;
		justify-content: space-between;
	margin: 40px auto 0;
	width: 520px;
}
a.btn_diagnosis_yes,
a.btn_diagnosis_no {
	border: 4px solid #000;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: bold;
	line-height: 1;
	width: 240px;
	height: 98px;
}
a.btn_diagnosis_yes {
	background: #f1f50d;
	color: #3482dd;
}
a.btn_diagnosis_no {
	background: #99d52b;
}
a:hover.btn_diagnosis_yes,
a:hover.btn_diagnosis_no {
	background: #3482dd;
	color: #fff;
	text-decoration: none;
	transition: .3s;
}
/* 自己診断チェックシート */
.diagnosis_check {
	margin-top: 48px;
}
.mark_check_question {
	display: inline-block;
	margin: 0 4px;
	vertical-align: -1px;
}
.diagnosis_check input[type="checkbox"] + label {
	background: #f1f50d;
	display: flex;
		align-items: center;
	font-weight: bold;
	margin: 0 0 16px 0;
	padding: 12px 72px 12px 16px;
	position: relative;
	width: 100%;
	min-height: 76px;
}
.diagnosis_check input[type="checkbox"] + label span span {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
	margin-top: 4px;
}
.diagnosis_check input[type="checkbox"] + label:nth-child(4n + 4) { /* 「.diagnosis_check」の中には「input」の要素もあるので、青の「label」は4個目、8個目、12個目…の要素になる */
	background: #99d52b;
}
.diagnosis_check input[type="checkbox"] + label::before {
	background: #fff;
	border: 4px solid #000;
	border-radius: 0;
	top: calc(50% - 23px);
	left: auto;
	right: 16px;
	width: 40px;
	height: 40px;
}
.diagnosis_check input[type="checkbox"] + label::after {
	border-left: 4px solid #3482dd;
	border-bottom: 4px solid #3482dd;
	opacity: 0;
	top: calc(50% - 12px);
	left: auto;
	right: 26px;
	transform: rotate(-45deg) scale(.5);
	width: 24px;
	height: 14px;
}
.diagnosis_check input[type="checkbox"]:checked + label::before {
	border: 4px solid #000; /* 共通のチェックボックスの指定を上書き */
}
.diagnosis_check input[type="checkbox"]:checked + label::after {
	transform: rotate(-45deg) scale(1);
	opacity: 1;
}

/* 自己診断結果 */
.diagnosis_result {
	background: #f1f50d;
	border: 4px solid #000;
	display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
	padding: 0 16px;
	position: relative;
	text-align: center;
	width: 456px;
	height: 172px;
}
.diagnosis_result > div:first-child {
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: bold;
}
.diagnosis_result > div:first-child span {
	color: #3482dd;
}
.diagnosis_result > div:last-child {
	font-size: 20px;
	font-size: 2.0rem;
	margin-top: 8px;
}
/* 自力で禁煙 */
.diagnosis_result.resutl_self {
	margin: 8px auto 140px;
}
.diagnosis_result.resutl_self::after {
	content: url(../images/popup_self.svg);
	position: absolute;
		top: 100%;
		left: calc(50% - 221px);
	width: 441px;
	height: 118px;
}
/* 薬で禁煙 */
.diagnosis_result.resutl_drug {
	margin: 80px auto 72px;
}
.diagnosis_result.resutl_drug::before {
	content: url(../images/popup_drug01.svg);
	position: absolute;
		top: 8px;
		left: -69px;
	width: 70px;
	height: 198px;
}
.diagnosis_result.resutl_drug::after {
	content: url(../images/popup_drug02.svg);
	position: absolute;
		top: 8px;
		left: calc(100% - 5px);
	width: 90px;
	height: 200px;
}
/* 禁煙外来で禁煙 */
.diagnosis_result.resutl_gairai {
	margin: 8px auto 144px;
}
.diagnosis_result.resutl_gairai::after {
	content: url(../images/popup_gairai.svg);
	position: absolute;
		top: calc(100% - 24px);
		left: calc(50% - 102px);
	width: 203px;
	height: 168px;
}
.diagnosis_result_txt {
	text-align: center;
	font-weight: bold;
}
.diagnosis_result_txt span {
	color: #3482dd;
}

/* 閉じる */
/*
a.btn_close_diagnosis {
	border: 2px solid #000;
	color: #3482dd;
	display: flex;
		align-items: center;
		justify-content: center;
	font-weight: bold;
	line-height: 1;
	margin: 32px auto 0;
	width: 144px;
	height: 48px;
}
a.btn_close_diagnosis span::before {
	content: url(../images/ic_btn_close.svg);
	display: inline-block;
	margin-right: 16px;
	vertical-align: -4px;
	width: 20px;
	height: 20px;
}
a:hover.btn_close_diagnosis {
	background-color: #3482dd;
	color: #fff;
	text-decoration: none;
	transition: .3s;
}
*/
/* 禁煙方法を読む */
a.btn_next_diagnosis {
	border: 2px solid #000;
	color: #3482dd;
	display: flex;
		align-items: center;
		justify-content: center;
	font-weight: bold;
	margin: 32px auto 0;
	width: 200px;
	height: 48px;
}
a.btn_next_diagnosis span::before {
	content: url(../images/btn_arrow_right_main.svg);
	display: inline-block;
	margin-right: 16px;
	vertical-align: -2px;
	width: 20px;
	height: 20px;
}
a:hover.btn_next_diagnosis {
	background-color: #3482dd;
	color: #fff;
	text-decoration: none;
	transition: .3s;
}
a:hover.btn_next_diagnosis span::before {
	content: url(../images/btn_arrow_right_white.svg);
}

/* 自己診断フッター */
.diagnosis_footer {
	background: #fff;
	border-top: 8px solid #1f1f47;
	font-size: 10px;
	font-size: 1.0rem;
	padding: 8px;
	text-align: center;
}


/*########################################################################################

セカンダリページ

########################################################################################*/


/*-----------------------------------------------------------------------------

■┓みんなで禁煙プロジェクトとは？
┗┛
-----------------------------------------------------------------------------*/
/* メインタイトルの画像を指定 */
#main_style .main_ill_about {
	background: url(../images/about_ttl.svg) right 0 bottom -1px no-repeat;
	background-size: 396px 261px;
	width: 396px;
	height: 261px;
}
#main_style .about {
	background-color: #fff;
	border: 4px solid #000;
	color: #000;
	margin: 0 auto 24px;
	padding: 48px;
	width: 800px;
}
#main_style .tbl_about th,
#main_style .tbl_about td {
	padding: .8em 0;
}
#main_style .tbl_about th {
	color: #3482dd;
	font-weight: bold;
	padding-right: 2em;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}
#main_style .tbl_about td {
	padding-bottom: 1.5em;
}
#main_style .tbl_about .blue_ttl {
	font-size: 16px;
	font-size: 1.6rem;
	margin: 8px 0 4px;
	text-align: center;
	width: 10em;
}
#main_style .tbl_about ol.circle_blue li {
	margin-bottom: 12px;
}
#main_style .tbl_about ol.circle_blue li:last-child {
	margin-bottom: 0;
}
#main_style .tbl_about .tbl_about_period th,
#main_style .tbl_about .tbl_about_period td {
	border-bottom: 4px solid #fff;
	padding: 2px 16px;
	font-weight: bold;
}
#main_style .tbl_about .tbl_about_period th,
#main_style .tbl_about .tbl_about_period td {
	vertical-align: middle;
}
#main_style .tbl_about .tbl_about_period th {
	background-color: #f1f50d;
	color: #000;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
}
#main_style .tbl_about .tbl_about_period td span {
	font-weight: normal;
}
#main_style .treatment_flow {
	border: 2px solid #000;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 16px;
}
#main_style .flow_ttl {
	background-color: #f1f50d;
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 8px;
	padding: 4px;
	text-align: center;
}
#main_style .kinen_techo {
	border: 2px solid #000;
	display: inline-flex;
		align-items: center;
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 8px;
	padding: 12px 16px;
}
#main_style .kinen_techo img {
	flex-shrink: 0;
	margin-left: 16px;
}
#main_style .contact {
	display: flex;
		align-items: center;
		justify-content: center;
	border: 4px solid #3482dd;
	border-radius: 80px;
	padding: 12px 40px;
}
#main_style .contact > div:first-child {
	color: #3482dd;
	font-weight: bold;
	margin-right: 64px;
}
/*アコーディオン*/
#main_style dl.acd_method > dt,
#main_style dl.acd_method > dd {
	border: 1px solid #004097;
	position: relative;
}
#main_style dl.acd_method > dt {
	background: #004097;
	color: #fff;
	cursor: pointer;
	margin-top: 2px;
	padding-right: 32px;
	position: relative;
}
#main_style dl.acd_method > dt:hover {
	transition: all 0.3s;
}
#main_style dl.acd_method > dt::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f078";
	position: absolute;
		top: calc(50% - 14px);
		right: 16px;
}
#main_style dl.acd_method > dt.open_dd::after {
	content: "\f077";
}
#main_style dl.acd_method > dd {
	display: none;
	border-top: none;
}
#main_style dl.acd_method > dd:not(:last-child) {
	border-bottom: none;
}
#main_style dl.acd_method .acd_ttl {
	padding: 16px 16px 16px 48px
}
#main_style dl.acd_method > dt:hover .acd_ttl::before {
	transition: all 0.3s;
}
#main_style dl.acd_method .acd_ttl::after {
	content: "\f0a4";
	display: block;
	font-family: "FontAwesome";
	font-size: 22px;
	font-size: 2.2rem;
	position: absolute;
		top: 10px;
		left: 16px;
	width: 40px;
	height: 40px;
}
#main_style dl.acd_method .acd_ttl span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style dl.acd_method .acd_content {
	padding: 16px;
}
#main_style dl.acd_method .acd_content p {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 2em;
}
#main_style dl.acd_method .acd_content ol{
	margin-left: 1em;
}
#main_style dl.acd_method .acd_content ol li {
	margin: 12px 0 4px 16px;
}
#main_style dl.acd_method .acd_content ol li:first-child {
	margin: 4px 0 4px 16px;
}
#main_style dl.acd_method .acd_content ol .kome{
	font-size: 14px;
	font-size: 1.4rem;
}
/*インセンティブのテーブル*/
#main_style .tbl_about .tbl_about_incentive {
	margin-top: 24px;
}
#main_style .tbl_about .tbl_about_incentive th,
#main_style .tbl_about .tbl_about_incentive td {
	vertical-align: middle;
}
#main_style .tbl_about .tbl_about_incentive thead th {
	background-color: #f1f50d;
	color: #000;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 2px 16px;
	text-align: center;
}
#main_style .tbl_about .tbl_about_incentive tbody th,
#main_style .tbl_about .tbl_about_incentive tbody td {
	padding: 8px 16px;
}
#main_style .tbl_about .tbl_about_incentive tbody th {
	color: #000;
}
#main_style .tbl_about .tbl_about_incentive tbody td {
	background-color: #fdfdf5;
}
#main_style .tbl_about .tbl_about_incentive tbody tr:not(:last-child) {
	border-bottom: 1px solid #f1f50d;
}
#main_style .tbl_about .tbl_about_incentive tbody td.point {
	text-align: center;
}
#main_style .tbl_about .tbl_about_incentive tbody td.bikou {
	font-size: 14px;
	font-size: 1.4rem;
	width: 40%;
}

/*-----------------------------------------------------------------------------

■┓禁煙の方法
┗┛
-----------------------------------------------------------------------------*/
/* メインタイトルの画像を指定 */
#main_style .main_ill_method {
	background: url(../images/method_ttl.svg) right 0 bottom 0 no-repeat;
	background-size: 387px 345px;
	bottom: 48px !important;
	width: 387px;
	height: 345px;
}
/* アンカーリンク */
#main_style .wrap_anc_link {
	display: flex;
	margin-top: 32px;
}
#main_style a.btn_anc_method {
	background: url(../images/btn_anc_arrow.svg) center bottom 8px no-repeat;
	background-size: 21px 28px;
	border: 4px solid #fff;
	color: #fff;
	display: block;
	line-height: 1.3;
	margin: 0 16px;
	padding-top: 16px;
	text-align: center;
	transition: .2s;
	width: 200px;
	height: 160px;
}
#main_style a.btn_anc_method span {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 2.0;
}
#main_style .wrap_anc_link a:first-child {
	margin-left: 0;
}
#main_style .wrap_anc_link a:last-child {
	margin-right: 0;
}
#main_style a:hover.btn_anc_method {
	background-image: url(../images/btn_anc_arrow_hover.svg);
	background-color: #fff;
	color: #3482dd;
	text-decoration: none;
}
/* ポイントボックス */
#main_style .point_box {
	border: 4px solid #3482dd;
	margin-bottom: 80px;
	padding: 24px 64px 24px;
	position: relative;
}
#main_style .point_name {
	background-color: #fff;
	font-weight: bold;
	padding: 0 16px;
	position: absolute;
		top: -24px;
		left: 48px;
}
#main_style .point_name > span {
	font-size: 22px;
	font-size: 2.2rem;
	margin-left: 4px;
}
#main_style .point_name > span > span {
	color: #3482dd;
}
#main_style .point_contents > img {
	display: block;
	margin-right: 80px;
	width: 160px;
	height: 160px;
}
#main_style .point_contents {
	display: flex;
		align-items: center;
}
#main_style .point_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 16px;
}
#main_style .method_cmt_1 {
	font-size: 22px;
	font-size: 2.2rem;
	display: flex;
		align-items: center;
	margin: 0 auto;
	width: 800px;
	min-height: 180px
}
#main_style .method_cmt_1::after {
	background: url(../images/method1_man.svg) 0 0 no-repeat;
	background-size: 173px 220px;
	content: "";
	display: block;
	position: absolute;
		bottom: -1px;
		right: 0;
	width: 173px;
	height: 220px;
}
#main_style .method_cmt_2,
#main_style .method_cmt_3 {
	display: flex;
		align-items: center;
}
#main_style .method_cmt_2 {
	background-image: url(../images/method_gum_man.svg), url(../images/fukidashi_gum.svg);
	background-position: right 0 bottom -12px, right 120px bottom 0;
	background-repeat: no-repeat;
	background-size: 131px 200px, 361px 200px;
	margin-bottom: 56px;
	min-height: 200px;
}
#main_style .method_cmt_3 {
	background-image: url(../images/method_patch_woman.svg), url(../images/fukidashi_patch.svg);
	background-position: right 0 bottom -20px, right 128px bottom 0;
	background-repeat: no-repeat;
	background-size: 216px 200px, 343px 198px;
	margin-bottom: 56px;
	min-height: 200px;
}
#main_style .method_cmt_2 img,
#main_style .method_cmt_3 img {
	border: 2px solid #fff;
	display: block;
	margin-right: 24px;
	width: 96px;
}
#main_style .method_cmt_2 .kinenmark_ttl,
#main_style .method_cmt_3 .kinenmark_ttl {
	text-align: left;
}

/* 番号付きのタイトル */
#main_style {
	counter-reset: cnb_counter; /* 「#main_style」内では数字をリセットしない */
}
#main_style .circle_num_blue {
	color: #3482dd;
	counter-increment: cnb_counter;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	margin: 56px 0 16px 1.6em;
	position: relative;
}
#main_style .circle_num_blue::before {
	background: #99d52b;
	border: 2px solid #000;
	border-radius: 50%;
	color: #000;
	content: counter(cnb_counter);
	display: flex;
		justify-content: center;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
	margin: 0 0.3em 0 -2em;
	position: absolute;
		top: 4px;
		left: 0;
	width: 24px;
	height: 24px;
}

/* スケジュール */
#main_style .wrap_method3_schedule {
	display: flex;
		align-items: center;
}
#main_style .wrap_method3_schedule > img {
	margin: 40px 16px 0 0;
	width: 104px;
}
#main_style .method3_schedule {
	display: flex;
		align-items: center;
	margin: 64px 0 24px;
}
#main_style .method3_schedule > div {
	background: #fff;
	color: #000;
	display: flex;
		flex-direction: column;
		justify-content: center;
	font-weight: bold;
	margin-right: 32px;
	position: relative;
	text-align: center;
	width: 140px;
	height: 140px;
}
#main_style .method3_schedule .first_msg {
	background: #f1f50d;
}
#main_style .method3_schedule > div .period {
	color: #3482dd;
	margin-top: 4px;
}
#main_style .method3_schedule > div .consultation { /* 受診回数 */
	background: #99d52b;
	border-radius: 30px;
	display: flex;
		align-items: center;
		justify-content: center;
	position: absolute;
		top: -30px;
		left: -48px;
	width: 60px;
	height: 60px;
}
#main_style .method3_schedule > div .consultation.start {
	left: -16px;
}
#main_style .method3_schedule > div .consultation.finish {
	left: calc(100% - 44px);
}
#main_style .method3_schedule > div:nth-child(2)::before,
#main_style .method3_schedule > div:nth-child(3)::before,
#main_style .method3_schedule > div:nth-child(4)::before {
	border-width: 10px 0 10px 20px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	content: "";
	display: block;
	position: absolute;
		top: calc(50% - 10px);
		left: calc(100% + 6px);
}
#main_style .method3_schedule > div:nth-child(2)::after,
#main_style .method3_schedule > div:nth-child(3)::after,
#main_style .method3_schedule > div:nth-child(4)::after {
	border-width: 7px 0 7px 14px;
	border-style: solid;
	border-color: transparent transparent transparent #3482dd;
	content: "";
	display: block;
	position: absolute;
		top: calc(50% - 7px);
		left: calc(100% + 8px);
}
#main_style .fukidashi_gailai {
	padding-right: 4px;
	text-align: right;
}
#main_style .fukidashi_gailai img {
	width: 72px;
	height: 72px;
}

/* 金額 */
#main_style .tbl_scroll.method3_price {
	margin: 24px 0 20px;
}
#main_style .tbl_method3_price {
	margin: 0 auto;
	width: 800px;
}
#main_style .tbl_method3_price td {
	background: #fff;
	border-bottom: 4px solid #3482dd;
	color: #000;
	font-weight: bold;
	padding: 12px 24px;
	text-align: center;
	white-space: nowrap;
}
#main_style .tbl_method3_price td .burden {
	background: #99d52b;
	border-radius: 40px;
	display: inline-block;
	padding: 8px 24px;
}
#main_style .tbl_method3_price td .burden span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style .tbl_method3_price td .amount {
	font-size: 18px;
	font-size: 1.8rem;
}

/* 保険診療の条件 */
#main_style .wrap_conditions {
	margin: 24px auto 0;
	width: 800px;
}
#main_style .conditions {
	background-color: #fff;
	border: 4px solid #000;
	color: #000;
	margin-left: 128px;
	padding: 32px 48px;
	position: relative;
}
#main_style .conditions::after {
	background: url(../images/method_gailai_woman.svg) bottom 0 left 0 no-repeat;
	background-size: 134px 268px;
	content: "";
	display: block;
	position: absolute;
		bottom: -28px;
		left: -134px;
	width: 134px;
	height: 268px;
}
#main_style .conditions ol li span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style .plusmark {
	background: #f1f50d;
	border: 2px solid #000;
	border-radius: 50%;
	margin: 8px auto;
	position: relative;
	width: 24px;
	height: 24px;
}
#main_style .plusmark::before,
#main_style .plusmark::after {
	background: #000;
	content: "";
	display: block;
	position: absolute;
	width: 12px;
	height: 2px;
}
#main_style .plusmark::before {
	top: 9px;
	left: 4px;
	width: 12px;
	height: 2px;
}
#main_style .plusmark::after {
	top: 4px;
	left: 9px;
	width: 2px;
	height: 12px;
}
#main_style .plusmark span {
	display: none;
}
#main_style .foreign_txt {
	font-weight: bold;
}

/*-----------------------------------------------------------------------------

■┓禁煙コラム
┗┛
-----------------------------------------------------------------------------*/
/* メインタイトルの画像を指定 */
#main_style .main_ill_column {
	background: url(../images/column_ttl.svg) right 0 bottom -20px no-repeat;
	background-size: 320px 340px;
	width: 320px;
	height: 340px;
}
#main_style .round_cmt_white.round_cmt_column_ttl {
	position: absolute;
		top: 48px;
		left: 304px;
	text-align: center;
}
#main_style .h3_first_column {
	margin-top: 56px;
}
#main_style .round_cmt_column {
	border: 2px solid #000;
	border-radius: 40px;
	color: #3482dd;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 16px 48px;
	position: absolute;
		top: 28px;
		left: 740px;
	text-align: center;
}
#main_style .round_cmt_column::before,
#main_style .round_cmt_column::after {
	content: "";
	display: block;
	border-width: 20px 8px 0 8px;
	border-style: solid;
	position: absolute;
		left: calc(50% - 8px);
}
#main_style .round_cmt_column::before {
	border-color: #000 transparent transparent transparent;
		bottom: -20px;
}
#main_style .round_cmt_column::after {
	border-color: #fff transparent transparent transparent;
		bottom: -14px;
}
/* 成分表 */
#main_style .component {
	background-color: #fff;
	border: 4px solid #000;
	color: #000;
	margin: 0 auto;
	padding: 32px;
	position: relative;
	width: 800px;
}
#main_style .tbl_component {
	margin: 0 auto;
}
#main_style .tbl_component thead tr td {
	padding-bottom: 12px;
}
#main_style .tbl_component tbody tr td {
	padding: 4px 0;
}
#main_style .tbl_component tbody tr td:first-child {
	font-weight: bold;
	padding-right: 1.5em;
	white-space: nowrap;
}
#main_style .tbl_component tbody tr td:nth-child(2)::before {
	content: "…………………………";
}
#main_style .tbl_component thead tr td:last-child,
#main_style .tbl_component tbody tr td:last-child {
	padding-left: 1.5em;
}
#main_style .component_fukidashi {
	display: flex;
		flex-wrap: wrap;
		justify-content: center;
	padding-right: 80px;
}
#main_style .component_fukidashi img {
	margin: 4px;
	width: 311px;
	height: 86px;
}
#main_style .component_char {
	background: url(../images/column_seibun.svg) right 0 bottom -2px no-repeat;
	background-size: 228px 267px;
	position: absolute;
		bottom: -28px;
		right: -48px;
	width: 228px;
	height: 267px;
}

/*-----------------------------------------------------------------------------

■┓オンライン禁煙プログラム
┗┛
-----------------------------------------------------------------------------*/
/* メインタイトルの画像を指定 */
#main_style .main_ill_online {
	background: url(../images/online_ttl.svg) right 0 bottom 0 no-repeat;
	background-size: 380px 276px;
	width: 380px;
	height: 276px;
}

#main_style .goodslist_period.maxwidth540 {
	max-width: 540px;
}
#main_style .step_wrap {
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	margin-top: 64px;
	width: 100%;
}
#main_style .step_box {
	border: 4px solid #3482dd;
	margin-bottom: 32px;
	padding: 24px 16px 88px;
	position: relative;
	width: calc(100% / 2 - 16px);
}
#main_style .step_name {
	background-color: #fff;
	font-weight: bold;
	padding: 0 16px;
	position: absolute;
	top: -24px;
	left: calc(50% - 61px);
}
#main_style .step_name > span {
	font-size: 22px;
	font-size: 2.2rem;
	margin-left: 4px;
}
#main_style .step_name > span > span {
	color: #3482dd;
}
#main_style .step_contents {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
/*		justify-content: center;*/
		flex-direction: column;
}
#main_style .step_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
}
#main_style .step_contents > img {
	margin: 16px 0;
	width: 160px;
	height: 160px;
}
#main_style .step_txt {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style a.btn_step {
	border: 2px solid #004098;
	color: #004098;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1;
	padding: 8px 24px;
	position: absolute;
		bottom: 24px;
		left: calc(50% - 80px);
}
#main_style a.btn_step span::before {
	content: url(../images/btn_arrow_right_main.svg);
	display: inline-block;
	margin-right: 16px;
	width: 16px;
	height: 12px;
}
#main_style a:hover.btn_step {
	background-color: #004098;
	color: #fff;
	text-decoration: none;
	transition: .3s;
}
#main_style a:hover.btn_step span::before {
	content: url(../images/btn_arrow_right_white.svg);
}
/* 押下できないときのボタン */
#main_style a.btn_step.no_btn {
	border: 2px solid #ccc;
	color: #ccc;
}
#main_style a.btn_step.no_btn span::before {
	content: url(../images/btn_arrow_right_gray.svg);
}
#main_style a:hover.btn_step.no_btn {
	background-color: #fff;
	cursor: default;
	transition: none;
}
#main_style a:hover.btn_step.no_btn span::before {
	content: url(../images/btn_arrow_right_gray.svg);
}
#main_style a.btn_blue.no_btn_blue.btn_step_finish {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: normal;
	margin: 0 auto;
	position: absolute;
		bottom: 24px;
	width: auto;
	height: auto;
}
#main_style .btn_blue_wrap {
	display: flex;
		flex-wrap: wrap;
}
#main_style a.btn_blue {
	background: #004096;
	border: 2px solid transparent;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.4;
	margin: 16px 0;
	padding: 8px 16px;
	text-align: center;
	flex: 1;
}
#main_style a.btn_blue:not(:last-child) {
	margin-right: 8px;
}
#main_style a:hover.btn_blue {
	background-color: #f1f50d;
	color: #004096;
	text-decoration: none;
	transition: .3s;
}
/* 押下できないときの青ボタン */
#main_style a.btn_blue.no_btn_blue {
	background-color: #ccc;
	cursor: default;
}
#main_style a:hover.btn_blue.no_btn_blue {
	color: #fff;
}
/* 受付は終了しましたのグレーボタン */
#main_style a.btn_blue.no_btn_blue.btn_finish_gray {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: normal;
	margin: 32px auto 24px;
	max-width: 200px;
	padding: 8px;
}
#main_style .list_nakaguro > li {
	margin-bottom: 0;
}
#main_style .ope:not(:last-child) {
	margin-bottom: 24px;
}
#main_style .ope dt {
	font-weight: bold;
	background: #004096;
	color: #fff;
	padding: 4px 16px;
	margin-bottom: 8px;
}
#main_style .ope dt::before {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	margin-right: 8px;
}
#main_style .ope .ope_pc_ttl::before {
	content: "\f108";
}
#main_style .ope .ope_smp_ttl::before {
	content: "\f3cd";
}
#main_style .ope dd .ope_recommend {
	display: flex;
		align-items: center;
	font-weight: bold;
	margin-bottom: 8px;
}
#main_style .ope dd .ope_recommend div:first-child {
	background: #99d52b;
	border: 2px solid #000;
	display: flex;
		align-items: center;
	margin-right: 8px;
	padding: 4px;
	white-space: nowrap;
}
#main_style .ope dd .kome {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style .online_contact {
	border: 4px solid #3482dd;
	border-radius: 32px;
	padding: 12px 40px;
}
#main_style .online_contact > div:first-child {
	color: #3482dd;
	font-weight: bold;
	margin-bottom: 16px;
	text-align: center;
}
#main_style .online_contact .online_contact_content {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
	margin-bottom: 8px;
}
#main_style .online_contact .online_contact_ttl {
	background-color: #f1f50d;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	margin-right: 24px;
	padding: 4px 16px;
}


/*-----------------------------------------------------------------------------

■┓禁煙補助申請フォーム
┗┛
-----------------------------------------------------------------------------*/
/* メインタイトルの画像を指定 */
#main_style .main_ill_application {
	background: url(../images/application_ttl.svg) right 0 bottom 16px no-repeat;
	background-size: 328px 267px;
	width: 328px;
	height: 283px;
}
#main_style .application_nav ul {
	display: flex;
		align-items: center;
		justify-content: space-between;
	margin: 24px auto 0;
	max-width: 640px;
}
#main_style .application_nav ul li.nav_step {
	border: 4px solid #000;
	border-radius: 50%;
	display: flex;
		align-items: center;
		flex-direction: column;
		flex-shrink: 0;
		justify-content: center;
	font-weight: bold;
	line-height: 1.4;
	position: relative;
	width: 120px;
	height: 120px;
}
#main_style .application_nav ul li.nav_step > span:first-child span {
	color: #3482dd;
	font-size: 24px;
	font-size: 2.4rem;
}
#main_style .application_nav ul li.nav_step > span:last-child {
	font-size: 26px;
	font-size: 2.6rem;
}
#main_style .application_nav ul li.nav_step.current {
	background-color: #f1f50d;
}
#main_style .application_nav ul li.nav_arrow {
	margin: 0 8px;
}
#main_style .application_nav ul li.nav_arrow img {
	vertical-align: middle;
}
#main_style .wrap_application_area {
	margin: 48px auto;
	max-width: 480px;
	min-height: 80px;
}
#main_style .wrap_application_area .area_attention {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 8px;
}
#main_style .personal_date {
	border: 4px solid #3482dd;
	margin: 40px 0;
	padding: 16px 24px;
}
#main_style .tbl_personal_date {
	margin: 0 auto;
}
#main_style .tbl_personal_date th {
	font-weight: bold;
	padding: 4px 40px 4px 0;
	text-align: left;
}
#main_style .mk_required {
	background: #0dabfa;
	border-radius: 40px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1;
	margin-left: 16px;
	padding: 2px 12px;
	vertical-align: 2px;
	white-space: nowrap;
}
#main_style .wrap_application_area .zipcode {
	margin-left: 8px;
	width: 112px;
}
#main_style .wrap_application_area .zipcode_cmt {
	font-size: 12px;
	font-size: 1.2rem;
	margin-left: 8px;
}
#main_style .wrap_application_area .address,
#main_style .wrap_application_area .tel,
#main_style .wrap_application_area .cigarette_types,
#main_style .wrap_application_area .cigarette_motivation {
	width: 100%;
}
#main_style .wrap_application_area .cigarette_number,
#main_style .wrap_application_area .cigarette_years {
	width: calc(100% - 2.2em);
}
#main_style .item_questionnaire {
	margin-bottom: 16px;
}
#main_style .answer {
	margin-top: 4px;
}
#main_style .wrap_application_area .unit {
	padding-left: 1em;
}
#main_style .submit_area.submit_application {
	margin: 48px auto;
	max-width: 640px;
}
#main_style .submit_area.btn_center a.btn_submit {
	margin-left: auto;
	margin-right: auto;
}
#main_style .submit_area.btn_center a.btn_back {
	margin-left: auto;
	margin-right: auto;
}
#main_style .submit_area.btn_center a.btn_backhome {
	border: 2px solid #000;
	color: #3482dd;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	margin: 32px auto 0;
	width: 240px;
	height: 48px;
}
#main_style .submit_area.btn_center a.btn_backhome::before {
	content: url(../images/btn_arrow_right_main.svg);
	display: inline-block;
	margin-right: 16px;
	vertical-align: -2px;
	width: 20px;
	height: 20px;
	transform: rotate(180deg);
}
#main_style .submit_area.btn_center a:hover.btn_backhome {
	background-color: #3482dd;
	color: #fff;
	text-decoration: none;
	transition: .3s;
}
#main_style .submit_area.btn_center a:hover.btn_backhome::before {
	content: url(../images/btn_arrow_right_white.svg);
	width: 20px;
	height: 20px;
	transform: rotate(180deg);
}
/*########################################################################################

フッター
#footer

########################################################################################*/
.footer_contents {
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0 auto;
	padding: 16px 0 48px;
	text-align: center;
	width: 1000px;
}

/*########################################################################################

ページのトップへ
.page_top

########################################################################################*/
.page_top {
	position: fixed;
	bottom: 16px;
	right: 16px;
}
.page_top a {
	background: #fff;
	border-radius: 50%;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	color: #000;
	display: inline-block;
	font-size: 12px; /* 固定 */
	line-height: 50px; /* 固定 */
	position: relative;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	width: 50px;
	height: 50px;
}
.page_top a:hover {
	background: #ccc;
	text-decoration: none;
	opacity: .9;
}

/*########################################################################################

サイト共通スタイルまとめ

########################################################################################*/
/*-----------------------------------------------------------------------------

■┓input  textarea  select
┗┛（サービスページ以降でも使用）
-----------------------------------------------------------------------------*/
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],/* inputで指定すると、radio、checkboxも変更されてしまうためtypeで指定 */
textarea,
select {
	-webkit-appearance: none;/* iPad用のデザイン初期化　selectの▼非表示 */
	-moz-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
	border: 1px solid #999;
	border-radius: 0;
	box-shadow: inset 1px 3px 9px -8px rgba(0,0,0,0.5);
	font-family: inherit;
	font-size: inherit;
	margin-top: 6px;
	margin-bottom: 6px;
	max-width: 100%;
	outline: none;
	padding: 4px 8px;
}
/* input */
input:-webkit-autofill { /* オートフィルでの背景色を上書き フォーカスが外れた時のため */
	-webkit-box-shadow: 0 0 0 1000px white inset;
}
/* input type="number" */
input[type="number"]::-webkit-inner-spin-button { /* スピンボタン非表示 */
	-webkit-appearance: none;
	margin: 0;
} 
input[type="number"] { /* スピンボタン非表示 */
	-moz-appearance: textfield;
}
/* input:focus select:focus */
input:focus,
textarea:focus,
select:focus {
	background-color: #fffff0;
}

/* input type="radio" */
input[type="radio"] {
	display: none;
}
input[type="radio"] + label,
label.radio_in_label {
	display: inline-block;
	margin-right: 0.8em;
	padding: 3px 3px 3px 26px;
	position: relative;
}
input[type="radio"] + label::before,
label.radio_in_label::before,
input[type="radio"] + label::after,
label.radio_in_label::after {
	content: "";
	display: block;
	position: absolute;
	transition: all .2s;
}
input[type="radio"] + label::before,
label.radio_in_label::before {
	background: #fff;
	border: 2px solid #000;
	border-radius: 14px;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 14px;
}
input[type="radio"] + label::after,
label.radio_in_label::after {
	border-radius: 50%;
	top: calc(0.5em + 4px);
	left: 4px;
	width: 10px;
	height: 10px;
	opacity: 0;
}
input[type="radio"] + label:hover::before,
label.radio_in_label:hover::before {
	background: #f0fcff;
}
input[type="radio"]:checked + label::before,
label.radio_checked::before {
	background: #fff;
	border: 2px solid #000;
}
input[type="radio"]:checked + label::after,
label.radio_checked::after {
	background: #3482dd;
	opacity: 1;
}

/* input type="checkbox" */
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"] + label,
label.checkbox_in_label {
	display: inline-block;
	margin-right: 0.8em;
	padding: 3px 3px 3px 26px;
	position: relative;
}
input[type="checkbox"] + label::before,
label.checkbox_in_label::before,
input[type="checkbox"] + label::after,
label.checkbox_in_label::after {
	content: "";
	display: block;
	position: absolute;
	transition: all .2s;
}
input[type="checkbox"] + label::before,
label.checkbox_in_label::before {
	background: #fff;
	border: 2px solid #000;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 14px;
}
input[type="checkbox"] + label::after,
label.checkbox_in_label::after {
	border-left: 2px solid #3482dd;
	border-bottom: 2px solid #3482dd;
	top: calc(0.5em + 5px);
	left: 4px;
	width: 8px;
	height: 4px;
	opacity: 0;
	transform: rotate(-45deg) scale(.5);
}
input[type="checkbox"] + label:hover::before,
label.checkbox_in_label:hover::before {
	background: #f0fcff;
}
input[type="checkbox"]:checked + label::before,
label.checkbox_checked::before {
	background: #fff;
	border: 2px solid #000;
}
input[type="checkbox"]:checked + label::after,
label.checkbox_checked::after {
	transform: rotate(-45deg) scale(1);
	opacity: 1;
}

/* select */
select::-ms-expand {
	display: none;
}
select {
	background-color: #fff;
	background-image: url(/vc/base/usr/docs/images/select_arrow.svg);
	background-position: right 5px top 50%;
	background-repeat: no-repeat;
	background-size: 10px 7px;
	cursor: pointer;
	max-width: 100%;
	padding-right: 20px;
}

/* input:disabled select:disabled */
input[type="radio"]:disabled + label,
label.radio_disabled,
input[type="checkbox"]:disabled + label,
label.checkbox_disabled,
select:disabled {
	color: #999;
	cursor: default !important;
}
input[type="radio"]:disabled + label::before,
label.radio_disabled::before,
input[type="checkbox"]:disabled + label::before,
label.checkbox_disabled::before {
	background-color: #fff;
	border-color: #ddd;
}
select:disabled {
	background-image: url(/vc/base/usr/docs/images/select_arrow_disabled.svg);
	border-color: #ccc;
}

/* 自動入力のため手動入力しないインプットタグの枠線を消す（input.no_frameline） */
input.no_frameline[type="text"],
input.no_frameline[type="number"],
input.no_frameline[type="email"],
input.no_frameline[type="tel"] {
	background: transparent;
	border: none;
	box-shadow: none;
	cursor: default;
}


/*-----------------------------------------------------------------------------

■┓ページ遷移で使用のボタン
┗┛「a.btn_submit」「a.btn_back」
		「input.btn_submit」「input.btn_back」
		（サービスページ以降でも使用）
-----------------------------------------------------------------------------*/
/*----------------------------
カートページでは
「カート内容を確認する」「お客様情報を入力する」等のボタン　→　（a.btn_submit）
「元の画面に戻って買い物を続ける」「戻る」等のボタン　→　（a.btn_back）
----------------------------------------------------------*/
a.btn_submit,
a.btn_back {
	display: flex;
		align-items: center;
		justify-content: center;
	line-height: 1;
	transition: all .2s;
}
a.btn_submit span,
a.btn_back span {
	display: block;
	position: relative;
}
a.btn_submit span::before,
a.btn_back span::before { /* カートページの「a.btn_submit」「a.btn_back」はテキストが2行の場合もあるのでspanのbeforeでアイコンを挿入 */
	content: "";
	font-size: 0;
	line-height: 0;
	display: block;
	position: absolute;
}
a.btn_submit {
	background-color: #3482dd !important;
	color: #fff !important;
	height: 60px;
	min-width: 256px;
	padding: 0 16px;
}
a.btn_submit span {
	padding-left: 24px;
}
a.btn_submit span::before { /* カートページのa.btn_submitはテキストが2行の場合もあるのでspanのbeforeでアイコンを挿入 */
	background: url(/vc/base/usr/docs/images/ic_arrow@2x.png) no-repeat 0 0;
	background-size: 16px 13px;
	top: calc(50% - 6px);
	left: 0;
	width: 16px;
	height: 13px;
}
a.btn_submit.twoline {
	line-height: 1.4;
	padding-bottom: 2px;
}
a.btn_back {
	background: #ddd !important;
	color: #000 !important;
	font-size: 14px;
	font-size: 1.4rem;
	height: 40px;
	min-width: 128px;
	padding: 0 16px;
}
a.btn_back span {
	padding-left: 16px;
}
a.btn_back span::before { /* カートページのa.btn_backはテキストが2行の場合もあるのでspanのbeforeでアイコンを挿入 */
	background: url(/vc/base/usr/docs/images/ic_back@2x.png) no-repeat 0 0;
	background-size: 6px 11px;
	top: calc(50% - 5px);
	left: 0;
	width: 6px;
	height: 11px;
}
a.btn_submit:hover,
a.btn_back:hover {
	opacity: 0.6;
	text-decoration: none !important;
}
/*----------------------------
フォームページでは
「申込内容確認」「申込を確定」等のボタン　→　（input.btn_submit）
「戻る」等のボタン　→　（input.btn_back）
----------------------------------------------------------*/
input.btn_submit,
input.btn_back {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	display: flex;
		align-items: center;
		justify-content: center;
	font-family: inherit;
	font-size: inherit;
	cursor: pointer;
	line-height: 1;
	transition: all .2s;
}
input.btn_submit {
	background-color: #3482dd;
	background-image: url(/vc/base/usr/docs/images/ic_arrow@2x.png); /* svgファイルだとIEでぼやけるのでpngに */
	background-repeat: no-repeat;
	background-position: 64px calc(50% + 1px);
	background-size: 16px 13px;
	color: #fff !important;
	height: 60px;
	min-width: 256px;
	padding: 0 16px 0 28px;
}
input.btn_back {
	background-color: #ddd;
	background-image: url(/vc/base/usr/docs/images/ic_back@2x.png); /* svgファイルだとIEでぼやけるのでpngに */
	background-repeat: no-repeat;
	background-position:  38px 50%;
	background-size: 6px 11px;
	color: #000 !important;
	font-size: 14px;
	font-size: 1.4rem;
	height: 40px;
	min-width: 128px;
	padding: 0 16px 0 24px;
}
@-moz-document url-prefix() {
	input.btn_back {
		background-position: 38px calc(50% + 1px);
	}
}
input.btn_submit:hover,
input.btn_back:hover {
	opacity: 0.6;
}
input.btn_submit:focus {
	background-color: #f60 !important;
}
input.btn_back:focus {
	background-color: #ddd !important;
}
.submit_area {
	display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		justify-content: space-between;
	margin-top: 48px;
	text-align: center;
	width: 100%;
}
.submit_area .btn_submit {
	margin-left: auto;
}


/*-----------------------------------------------------------------------------

■┓テーブルスタイル
┗┛
-----------------------------------------------------------------------------*/
/* normal */
#main_style table.normal {
	/*width: 100%;*/
}
#main_style table.normal th ,
#main_style table.normal td {
	border: 1px solid #ccc;
	padding: 12px 16px;
	vertical-align: middle;
}
#main_style table.normal th {
	background: #efefef;
	white-space: nowrap;
}
#main_style table.normal thead th {
	background: #888;
	color: #fff;
}
#main_style table.normal tbody th {
	background: #efefef;
	text-align: left;
}


/*-----------------------------------------------------------------------------

■┓リストスタイル
┗┛
-----------------------------------------------------------------------------*/
#main_style ol.circle_blue {
	margin-left: 2em;
	counter-reset: counter;
	list-style: none;
}
#main_style ol.circle_blue > li {
	position: relative;
	margin-bottom: 4px;
}
#main_style ol.circle_blue > li::before {
	background: #99d52b;
	border: 2px solid #000;
	border-radius: 50%;
	counter-increment: counter;
	content: counter(counter);
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	margin: 0 0 0 -2em;
	position: absolute;
		top: 3px;
		left: 0;
	width: 18px;
	height: 18px;
}
#main_style ol.start_num_2 {
	counter-reset: counter 1 !important;
}

/*-----------------------------------------------------------------------------

■┓ご注意
┗┛
-----------------------------------------------------------------------------*/
#main_style .caution_box {
	background: #fef7f7;
	border: 2px solid #e00;
	display: inline-block;
	margin-bottom: 2.5em;
	padding: 24px 32px 24px;
}
#main_style .caution_box .caution_ttl {
	color: #e00;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	margin: -8px 0 4px;
}
#main_style .caution_box .caution_ttl::before {
	content: "\f071";
	font-family: FontAwesome;
	font-size: 16px;
	font-size: 1.6rem;
	margin-right: 4px;
}
#main_style .caution_box >ul {
	margin-left: 1.25em;
}
#main_style .caution_box >ul >li:before {
	content: "・";
	margin: 0 0 0 -1em;
	padding: 0 .5em 0 0;
}


/*-----------------------------------------------------------------------------

■┓その他
┗┛
-----------------------------------------------------------------------------*/
#main_style .tbl_scroll { /* テーブル、オーバーフローで横スクロールバー表示 */
	overflow-x: auto;
	margin-bottom: 1em;
	width: 100%;
}
#main_style .tbl_scroll > table {
	margin-bottom: 0;
}

/* テキストリンク */
#main_style a.arrow_link::before {
	content: "\f054";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	margin-right: 8px;
}
#main_style a:hover.arrow_link::before {
	text-decoration: none;
}
