@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@100..900&display=swap&text=%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40%C2%A9ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E'); /* URLエンコード→ !"#$%&'()*+,-./0123456789:;<=>?@©ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ */




:root {
	--color-normal: #222;
	--color-main: #4B8CC8;
	--color-main-rgb: 75, 140, 200;
	--color-main-light: rgba(75, 140, 200, 0.15);
	--color-main-light-opa: rgb(228, 238, 247); /*--color-main-lightの透過無し版*/
	
	--color-red: #D1001F;
	--color-blue: #114FA1;
	--color-gold: #BF9D5A;
	--color-gold-rgb: 191, 157, 90;
	--color-brown: #8C6239;
	--color-emg: #E67373;
	
	--color-rec: #4BC891;
	--color-resident: #4BC891;
	--color-kango: #C093C0;
	
	--color-gray01: #f2f2f2;
	
	--transition: all 0.2s ease;
	
	
	
	--color-res-blue: #499FF8;
	--color-res-blue-rgb: 73, 159, 248;
	--color-res-green: #4BC891;
	--color-res-green-rgb: 75, 200, 145;
	--color-res_gold: #D2AF14;

}




/*================================================
 *  一般・共通設定（全ディレクトリ共通）
 ================================================*/

html {
	font-size: 10px;
}

@media screen and (max-width: 1600px) {
	html {
		font-size: calc(100vw / 1600 * 10);
	}
}


body {
	color: #222;
	font-size: 1.6rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	text-align: justify;
	text-justify: inter-ideograph;
}

a,.linearAnime {
	color: inherit;
	text-decoration: none;
	transition: all 0.2s ease;
}
.underline {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}
a:hover {
	opacity: 0.7;
}
a.underline:hover {
	opacity: 1;
	text-decoration: none;
}
@media screen and (min-width:800.1px) {
	a[href^="tel"] {
		pointer-events: none;
	}
}

img,svg {
	vertical-align: bottom;
}

/*色*/
.color_main {
	color: #4B8CC8;
}
.color_normal {
	color: #222;
}
.color_red {
	color: #D1001F;
}
.color_darkred {
	color: #AE0A26
}
.color_white {
	color: #fff;
}
.color_blue {
	color: #114FA1;
}
.color_gold {
	color: #BF9D5A;
}
.color_brown {
	color: #8C6239;
}
.color_emg {
	color: #E67373;
}

.color_rec {
	color: #4BC891;
}
.color_resident {
	color: #4BC891;
}
.color_kango {
	color: #C093C0;
}


/*背景*/
.bg_main {
	background-color: #4B8CC8;
}
.bg_main_light {
	background-color: rgba(75, 140, 200, 0.15);
}
.bg_normal {
	background-color: #222;
}
.bg_red {
	background-color: #D1001F;
}
.bg_white {
	background-color: #fff;
}
.bg_gray01 {
	background-color: #f2f2f2;
}

.bg_blue {
	background-color: #114FA1;
}
.bg_gold {
	background-color: #BF9D5A;
}
.bg_brown {
	background-color: #8C6239;
}
.bg_emg {
	background-color: #E67373;
}


.bg_rec {
	background-color: #4BC891;
}
.bg_resident {
	background-color: #4BC891;
}
.bg_kango {
	background-color: #C093C0;
}



/*線の色*/
.bdc_main {
	border-color: #4B8CC8!important;
}
.bdc_red {
	border-color: #D1001F!important;
}
.bdc_white {
	border-color: #fff!important;
}

.bdc_blue {
	border-color: #114FA1!important;
}
.bdc_gold {
	border-color: #BF9D5A!important;
}
.bdc_brown {
	border-color: #8C6239!important;
}
.bdc_emg {
	border-color: #E67373!important;
}


.bdc_rec {
	border-color: #4BC891!important;
}
.bdc_resident {
	border-color: #4BC891!important;
}
.bdc_kango {
	border-color: #C093C0!important;
}


/*臨床研修医ページ用*/
.color_res_blue {
	color: #499FF8;
}
.color_res_green {
	color: #4BC891;
}
.color_res_gold {
	color: #D2AF14;
}














/* position */
.relative{
	position: relative;
}
.absolute{
	position: absolute;
}

/* sp/pcの切替 */
.sp,.sp_inline {
	display: none;
}
.d_block {
	display: block;
}
.d_iblock {
	display: inline-block;
}

/*文字揃え*/
.ta-l {
	text-align: justify;
	text-justify: inter-ideograph;
}
.ta-r {
	text-align: right;
}
.ta-c {
	text-align: center;
}
.pcspText { /*PC：中央揃え・SP左揃え用*/
	text-align: center;
}



/*文字種類*/
.ff_jost {
	font-family: "Jost", sans-serif;
	font-weight: 400;
}


/*文字太さ*/
.fontThin {
	font-weight: 100;
}
.fontExLight {
	font-weight: 200;
}
.fontLight {
	font-weight: 300;
}
.fontRegular {
	font-weight: 400;
}
.fontMedium {
	font-weight: 500;
}
.fontSemiBold {
	font-weight: 600;
}
.fontBold {
	font-weight: 700;
}
.fontExBold {
	font-weight: 800;
}
.fontBlack {
	font-weight: 900;
}

/*文字スタイル*/
.fs_italic {
	font-style: italic;
}



/*Text Crop*/
[class*="textcrop"] {
	display: block;
}
[class*="textcrop"]::before,
[class*="textcrop"]::after {
	content: '';
	display: block;
	height: 0;
	width: 0;
}
[class*="textcrop"]::before {
	margin-bottom: -0.133em;
}
[class*="textcrop"]::after {
	margin-top: -0.133em;
}

.ff_jost.textcrop::before {
	margin-bottom: -0.1em;
}
.ff_jost.textcrop::after {
	margin-top: -0.13em;
}

.ff_tenor.textcrop::before {
	margin-bottom: -0.105em;
}
.ff_tenor.textcrop::after {
	margin-top: -0.145em;
}

.ff_cgara.textcrop::before {
	margin-bottom: -0.165em;
}
.ff_cgara.textcrop::after {
	margin-top: -0.17em;
}


.textcrop_notosans {
	display: inline-block;
}
.textcrop_notosans::before {
	margin-bottom: -0.09em;
}
.textcrop_notosans::after {
	margin-top: 0;
}


/*文字詰め*/
.ffs_palt {
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1; /*プロポーショナルメトリクス*/
}
.ffs_halt {
	-webkit-font-feature-settings: 'halt' 1;
	font-feature-settings: 'halt' 1; /*字幅半角メトリクス*/
}

/*文字間隔*/
.ltsg004em {
	letter-spacing: 0.04em!important;
}
.ltsg05em {
	letter-spacing: 0.5em!important;
}
.ltsg05em_indent {
	display: inline-block;
	letter-spacing: 0.5em!important;
	text-indent: 0.5em!important;
}
.ltsg1em {
	letter-spacing: 1em!important;
}
.ltsg1em_indent {
	display: inline-block;
	letter-spacing: 1em!important;
	text-indent: 1em!important;
}

/*上付き文字*/
.sup {
	font-size: 60%;
	vertical-align: super;
}



/*幅*/
.wrap {
	max-width: 940px;
	margin: 0 auto;
	width: 100%;
}
.wrap_rem {
	margin: 0 auto;
	width: 94rem;
}
.wrap_wide_rem {
	margin: 0 auto;
	width: 110rem;
}
.wrap_big_rem {
	margin: 0 auto;
	width: 140rem;
}

/*PC用左右padding用*/
@media screen and (min-width: 800.1px) {
	.padding_lr {
		padding-left: 50px;
		padding-right: 50px;
	}
	.wrap.padding_lr {
		max-width: 1040px;
	}
}


.maxw_100 {
	max-width: 100%;
	height: auto;
}
.wid100 {
	width: 100%;
	height: auto;
}


/*高さ*/
.h100vh {
	height: 100vh;
	height: calc((var(--vh, 1vh) * 100));
}
.minh100vh {
	min-height: 100vh;
	min-height: calc((var(--vh, 1vh) * 100));
}


/*lazysize*/
.lazyload,
.lazyload-parent img[data-src] {
	opacity: 0;
}


/*******object-fit*******/
[class*="object-fit"] {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	font-family: 'object-fit: cover; object-position: center center;';
}
.object-fit-ct {
	object-fit: contain;
	font-family: 'object-fit: contain; object-position: center center;';
}
.object-fit-p-tc {
	object-position: top center;
}
.object-fit-p-tr {
	object-position: top right;
}
.object-fit-p-tl {
	object-position: top left;
}
.object-fit-p-bc {
	object-position: bottom center;
}
.object-fit-p-br {
	object-position: bottom right;
}
.object-fit-p-bl {
	object-position: bottom left;
}
.object-fit-p-cl {
	object-position: center left;
}
.object-fit-p-cr {
	object-position: center right;
}


/*******flexbox*******/
[class*="flex_start"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
[class*="flex_end"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
[class*="flex_between"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
[class*="flex_center"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
[class*="flex_inline"] {
	display: -webkit-inline-box;
	display: inline-flex;
}
.nowrap {
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.shrink0 {
	flex-shrink: 0;
}
.align_items_start {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.align_items_center {
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.align_items_end {
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
.direction_column {
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
}
.row_reverse {
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}


/*================================================
 *  ホバー
 ================================================*/
.hover_opa:hover,
.hover_list_opa a:hover {
	opacity: 1;
}

/*色だけ*/
.hover_color_main:hover,
.hover_list_main a:hover {
	color: var(--color-main);
	opacity: 1;
}

.hover_list_c_red a:hover {
	color: var(--color-red);
	opacity: 1;
}



/*通常：線有+背景色付　ホバー：線有+背景白*/
.hover_main_bd {
	border: 1px solid;
	background-color: var(--color-main);
	color: var(--color-main);
}
.hover_main_bd:hover {
	background-color: #fff;
	opacity: 1;
}
.hover_main_bd:not(:hover) > * {
	color: #fff;
}

.hover_current_bd {
	border: 1px solid;
	background-color: currentColor;
}
.hover_current_bd:hover {
	background-color: #fff;
}
.hover_current_bd:not(:hover) > * {
	color: #fff;
}




/*通常：線有+背景白　ホバー：線有＋背景色付き*/
.hover_main_bg {
	border: 1px solid;
	color: var(--color-main);
}
.hover_main_bg:hover,
.hover_main_bg.active {
	border-color: var(--color-main)!important;
	background-color: var(--color-main)!important;
	opacity: 1;
}
.hover_main_bg:hover > *,
.hover_main_bg.active > * {
	color: #fff!important;
}

.hover_white_bg {
	border: 1px solid;
	color: #fff;
}
.hover_white_bg:hover,
.hover_white_bg.active {
	border-color: #fff!important;
	background-color: #fff!important;
	opacity: 1;
}
.hover_white_bg:hover > *,
.hover_white_bg.active > * {
	color: var(--color-main);
}






/*ボタン用ホバー*/
[class*="hover_btn_bg_"],
[class*="hover_btn_bd_"]:hover {
	background-color: #fff;
}
.hover_btn_bg_main,
.hover_btn_bd_main {
	border: 1px solid;
	border-color: var(--color-main)!important;
}
.hover_btn_bg_resident {
	border-color: var(--color-resident)!important;
}
.hover_btn_bg_kango {
	border-color: var(--color-kango)!important;
}


[class*="hover_btn_bg_"]:hover,
[class*="hover_btn_bd_"]:hover {
	opacity: 1;
}
.hover_btn_bg_main:hover,
.hover_btn_bd_main:not(:hover) {
	background-color: var(--color-main);
}
.hover_btn_bg_resident:hover {
	background-color: var(--color-resident);
}
.hover_btn_bg_kango:hover {
	background-color: var(--color-kango);
}

.hover_btn_bg_main > [class*="icon-"],
.hover_btn_bd_main:hover > * {
	color: var(--color-main);
}
.hover_btn_bg_resident > [class*="icon-"] {
	color: var(--color-resident);
}
.hover_btn_bg_kango > [class*="icon-"] {
	color: var(--color-kango);
}

[class*="hover_btn_bg_"]:hover > *,
[class*="hover_btn_bd_"]:not(:hover) > * {
	color: #fff;
}



.hover_btn_bd_current {
	background-color: currentColor;
	border: 1px solid;
}




/*******画像ホバー拡大*******/
.hover_img_scale,
.hover_thumb_scale .thumb {
	overflow: hidden;
}
.hover_img_scale img,
.hover_thumb_scale .thumb img {
	transition: all 0.6s ease;
}
a:hover .hover_img_scale img,
.hover_thumb_scale a:hover .thumb img {
	transform: scale(1.05);
}


/*================================================
 *  ボタン
 ================================================*/

.bdrs100 {
	border-radius: 100vh;
}



/*******矢印アイコン付ボタン*******/
[class*="btn_icon_arrow"] {
	border-radius: 100vh;
	border: 1px solid;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.35;
	padding-left: 1.95em;
	text-align: left;
}
[class*="btn_icon_arrow"]:hover {
	opacity: 1;
}
[class*="btn_icon_arrow"] em:not([class*="ff_"]) {
	margin-top: -0.09em;
}
[class*="btn_icon_arrow"] [class*="icon-"] {
	flex-shrink: 0;
	font-size: 2.4rem;
	margin: 0.708em;
}
[class*="btn_icon_arrow"]:not(.btn_icon_arrow_prev) [class*="icon-"] {
	margin-left: 0!important;
}



/*逆*/
.btn_icon_arrow_prev {
	padding-left: 0;
}
.btn_icon_arrow_prev [class*="icon-"] { 
	margin-right: 0!important;
}
.btn_icon_arrow_prev em {
	text-align: center;
	flex-grow: 1;
}


/*******矢印アイコン付ボタン（/resident/内　臨床研修医用）*******/
.btn_res_arrow {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.btn_res_arrow em:not([class*="ff_"]) {
	margin-top: -0.09em;
}






/*******画像拡大用ボタン*******/
.img_scale_box {
	position: relative;
}
.img_scale_box img {
	width: 100%;
}
.img_scale_box .btn_scale {
	background-color: var(--color-main);
	border-radius: 100vh;
	border: 2px solid;
	color: var(--color-main);
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3em;
	width: 14em;
	position: relative;
	margin: 0 auto;
	top: -1.5em;
	margin-bottom: -1.5em;
}
.img_scale_box .btn_scale:hover {
	background-color: #fff;
	opacity: 1;
}
.img_scale_box .btn_scale:not(:hover) > * {
	color: #fff;
}
.img_scale_box .btn_scale [class*="icon-"] {
	position: absolute;
	top: 50%;
	left: 1.4em;
	transform: translate(0,-50%);
}
.img_scale_box .btn_scale em {
	font-size: 90%;
	font-weight: 700;
	margin-top: -0.09em;
}










/*================================================
 *  ヘッダー
 ================================================*/
header {
	position: relative;
	width: 100%;
	z-index: 10;
}






/*******ハンバーガーメニュー共通*******/
.hamburger-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.hamburger-icon span,
.hamburger-icon::before,
.hamburger-icon::after {
	width: 100%;
	height: 2px;
	transition: all .3s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	background-color: #fff;
}
.hamburger-icon::before,
.hamburger-icon::after {
	position: absolute;
	left: 0;
	content: '';
}
.hamburger-icon::before {
	top: 0;
}
.hamburger-icon::after {
	bottom: 0;
}


.js-btn-hamburger.active .hamburger-icon span {
	background-color: transparent;
}
.js-btn-hamburger.active .hamburger-icon::before,
.js-btn-hamburger.active .hamburger-icon::after {
	top: 50%;
	bottom: auto;
}
.js-btn-hamburger.active .hamburger-icon::before {
	transform: rotate(45deg);
}
.js-btn-hamburger.active .hamburger-icon::after {
	transform: rotate(-45deg);
}





/*================================================
 *  パンくずリスト
 ================================================*/
ol.breadcrumb {
	color: #999;
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	padding: 2rem 0 5rem 3rem;
}
ol.breadcrumb li {
	position: relative;
}
ol.breadcrumb li + li:before {
	content: '/';
	margin: 0 0.4em 0 0.7em;
}
ol.breadcrumb li a {
	color: var(--color-main);
	text-decoration: underline;
}
ol.breadcrumb li a:hover {
	opacity: 1;
	text-decoration: none;
}





/*================================================
 *  ページ構造用
 ================================================*/
main {
	/*overflow: hidden;*/
	overflow-x: clip;
}




/*================================================
 *  コンテンツ
 ================================================*/




/*******箇条書きリスト*******/
.kome_list > li,
.disc_list > li,
.square_list > li,
.indent_list > li {
	list-style-position:inside;
	padding-left: 1em;
	text-indent: -1em;
}
/*※箇条書き*/
.kome_list > li:before{
	display: inline;
	content: "\203b";
}
/*・箇条書き*/
.disc_list > li:before {
	display: inline;
	content: "\30fb";
}


/*●箇条書き*/
[class*="circle_list"] > li {
	display: flex;
	align-items: flex-start;
}
[class*="circle_list"] > li:before {
	content: "\25CF";
	color: var(--color-blue);
	font-size: 70%;
	padding: 0.75em 0.43em 0 0;
	line-height: 1;
}
.circle_list_nocolor > li:before {
	color: inherit;
}

/*■箇条書き*/
.square_list > li:before{
	display: inline;
	content: "\25A0";
}


/*インデントflex版*/
.indentflex_list > li {
	display: flex;
}
.indentflex_list > li > span:first-child {
	flex-shrink: 0;
}




/*()数字*/
.number_list {
	counter-reset: cnt 0;
}
.number_list > li{
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	counter-increment: cnt;
}
.number_list > li:before{
	flex-shrink: 0;
	content: "（" counter(cnt) "）";
	margin-left: -0.5em;
}

/*()ローマ数字*/
.roman_list {
	counter-reset: rcnt 0;
}
.roman_list > li{
	display: flex;
	counter-increment: rcnt;
}
.roman_list > li:before{
	flex-shrink: 0;
	content: "（" counter(rcnt,upper-roman) "）";
	margin-left: -0.5em;
}


/*数字.*/
.decimal_list {
	counter-reset: dcnt 0;
}
.decimal_list > li {
	display: flex;
	counter-increment: dcnt;
}
.decimal_list > li::before {
	content: counter(dcnt) ".";
	flex-shrink: 0;
	margin-right: 0.5em;
}
.decimal_list.before_color_blue > li::before {
	font-weight: 700;
}

/*数字.(dl_dt_dd版)*/
.dl_decimal_list {
	counter-reset: dldcnt 0;
}
.dl_decimal_list > dt {
	font-weight: 700;
	display: flex;
	counter-increment: dldcnt;
	text-align: left;
}
.dl_decimal_list > dt:nth-of-type(n+2) {
	margin-top: 1em;
}
.dl_decimal_list > dt::before {
	content: counter(dldcnt) ".";
	flex-shrink: 0;
	min-width: 1.5em;
	padding-right: 0.4em;
}
.dl_decimal_list > dd {
	padding-left: 1.5em;
}

/*0付数字*/
.decimal_zero_list {
	counter-reset: dzcnt 0;
}
.decimal_zero_list > li {
	display: flex;
	counter-increment: dzcnt;
}
.decimal_zero_list > li::before {
	content: counter(dzcnt, decimal-leading-zero);
	flex-shrink: 0;
}


/*大文字アルファベット.*/
.alpha_list {
	counter-reset: alphaCnt 0;
}
.alpha_list > li {
	display: flex;
	counter-increment: alphaCnt;
}
.alpha_list > li::before {
	content: counter(alphaCnt, upper-alpha) ".";
	flex-shrink: 0;
	margin-right: 0.3em;
}



/*-*/
.dash_list > li {
	display: flex;
}
.dash_list > li::before {
	content: "-";
	flex-shrink: 0;
	width: 0.8em;
}

/*色変更用*/
.before_color_blue > li::before {
	color: var(--color-blue);
}


/*li強制・箇条書き*/
.li_before_disc:before {
	color: inherit!important;
	content: "\30fb"!important; 
}



/*******リスト行間（ul li ol li の行間空け用）*******/
.list_line_space > li + li {
	margin-top: 0.5em;
}





/*******dl>dt+dd Gridリスト*******/
dl.dl_grid_list {
	display: grid; 
	grid-template-columns: auto 1fr;
	gap: 0px 2em; 
}



/*******テーブル*******/
table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}
table th,
table td {
	text-align: left;
}

[class*="table_common"] {
	line-height: 1.75;
}
.img_box + [class*="table_common"] {
	margin-top: 50px;
}
[class*="table_common"] th {
	border-bottom: 1px solid;
	color: var(--color-blue);
	width: 200px;
	padding: 1.075em 0;
}
@media screen and (min-width: 800.1px) {
	main#main_column article [class*="table_common"] th {
		width: 10em;
	}
}

[class*="table_common"] tr:first-of-type th {
	border-top: 1px solid;
}
[class*="table_common"] td {
	border-bottom: 1px solid #C8C8C8;
	padding: 1.075em 1em;
}
[class*="table_common"] tr:first-of-type td {
	border-top: 1px solid #C8C8C8;
}





/*================================================
 *  Modaal
 ================================================*/
.modaal-overlay {
	z-index: 9000;
}
.modaal-inner-wrapper {
	padding: 3rem;
}
.modaal-container {
	max-width: inherit;
}
.modaal-content-container {
	padding: 0;
}


.modaal-image .modaal-inner-wrapper  {
	padding: 3rem 15rem;
	height: 100%;
}
.modaal-image .modaal-inner-wrapper .modaal-gallery-item img {
	max-width: 120rem;
}



/*******閉じるボタン*******/
.modaal-close {
    position: fixed;
    right: .3em;
    top: .3em;
    width: 1em;
    height: 1em;
    font-size: 5rem;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
	background: var(--color-main)!important;
}
.modaal-close:focus,.modaal-close:hover {
    outline: 0;
    background: transparent!important;
}

.modaal-close:focus:after,.modaal-close:focus:before,.modaal-close:hover:after,.modaal-close:hover:before {
    background:#fff
}

.modaal-close span {
    position: absolute!important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px,1px,1px,1px);
    padding: 0!important;
    border: 0!important;
    height: 1px!important;
    width: 1px!important;
    overflow: hidden
}

.modaal-close:before,.modaal-close:after {
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    left: 50%;
    width: 0.08em;
    height: 0.6em;
    border-radius: 0.08em;
    background: #fff;
    -webkit-transition: background .2s ease-in-out;
    transition: background .2s ease-in-out
}

.modaal-close:before {
    -webkit-transform: translate(-50%,-50%) rotate(-45deg);
    -ms-transform: translate(-50%,-50%) rotate(-45deg);
    transform: translate(-50%,-50%) rotate(-45deg)
}

.modaal-close:after {
    -webkit-transform: translate(-50%,-50%) rotate(45deg);
    -ms-transform: translate(-50%,-50%) rotate(45deg);
    transform: translate(-50%,-50%) rotate(45deg)
}




















/*================================================================================================
 *  スマートフォン向けデザイン
 ================================================================================================*/
@media screen and (max-width:800px) {

html,
body {
	font-size: 4vw;
}	

img {
	max-width: 100%;
}



/*文字揃え*/
.pcspText { /*PC：中央揃え・SP左揃え用*/
	text-align: justify;
	text-justify: inter-ideograph;
}

/* sp/pcの切替 */
.sp {
	display: block;
}
.sp_inline {
	display: inline;
}
.pc,.sp_none {
	display: none;
}

/*幅*/
.wrap {
	max-width: inherit;
	width: 90vw;
}
.wrap_rem,
.wrap_wide_rem,
.wrap_big_rem {
	width: 100%;
}
.wrap_sp {
	width: 90vw!important;
	margin-left: auto!important;
	margin-right: auto!important;
}
.wrap_sp_ss {
	width: 74vw!important;
	margin-left: auto!important;
	margin-right: auto!important;
}
.wrap_sp_small {
	width: 80vw!important;
	margin-left: auto!important;
	margin-right: auto!important;
}
.wrap_sp_medium {
	width: 86vw!important;
	margin-left: auto!important;
	margin-right: auto!important;
}


.sp_wid100 {
	width: 100%!important;
}



/*******flexbox*******/
.flex_start_spblock,
.flex_end_spblock,
.flex_between_spblock,
.flex_center_spblock,
.flex_inline_spblock {
	display: block;
}




/*================================================
 *  ボタン
 ================================================*/


/*******矢印アイコン付ボタン*******/
[class*="btn_icon_arrow"] {
	font-size: 4vw;
}
[class*="btn_icon_arrow"] [class*="icon-"] {
	font-size: 5.6vw;
	margin: 3.6vw;
}


	
	
/*******画像拡大用ボタン*******/
.img_scale_box .btn_scale {
	width: 50vw;
	padding-left: 1em;
}






/*================================================
 *  パンくずリスト
 ================================================*/
ol.breadcrumb {
	display: none;
}







/*================================================
 *  コンテンツ
 ================================================*/


	
	
/*******テーブル*******/
[class*="table_common"] {
	font-size: 4vw;
}
.img_box + [class*="table_common"] {
	margin-top: 8vw;
}
[class*="table_common"] th {
	width: 20vw;
}


/*ブロック版*/
[class*="table_common"].table_spblock,
[class*="table_common"].table_spblock tbody,
[class*="table_common"].table_spblock tr,
[class*="table_common"].table_spblock th,
[class*="table_common"].table_spblock td {
	display: block;
	border: none!important;
	width: 100%!important;
}
[class*="table_common"].table_spblock tbody th {
	border-top: 1px solid!important;
	padding: 5vw 0 3vw;
}
[class*="table_common"].table_spblock tbody td {
	padding: 0 0 6vw;
}
.table_common.table_spblock tbody tr:last-of-type td {
	border-bottom: 1px solid var(--color-main)!important;
}
.table_common_rec.table_spblock tbody tr:last-of-type td {
	border-bottom: 1px solid var(--color-main)!important;
}


/*スクロール用*/
.sp_table_scroll {
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
	/*white-space: nowrap;*/
}
.sp_table_scroll::-webkit-scrollbar {
	display: none;
}


/*スクロール用（固定）*/
.sp_table_sticky {
	overflow-x: scroll;
	padding-bottom: 1px;
}

.sp_table_sticky table thead tr:first-of-type th:first-of-type,
.sp_table_sticky table tbody th {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	z-index: 5;
}


/*テーブルスクロール画像*/
.sp_table_scroll,
.sp_table_sticky {
	position: relative;
}
.sp_table_scroll::before,
.sp_table_sticky::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: url(../images/table_scroll.svg) center center / auto 24vw no-repeat;
	transition: all 0.2s linear;
}
.sp_table_scroll.active::before,
.sp_table_sticky.active::before {
	opacity: 0;
	visibility: hidden;
}










/*================================================
 *  Modaal
 ================================================*/
.modaal-inner-wrapper {
	padding: 3.5vw;
}



.modaal-image .modaal-inner-wrapper  {
	padding: 15vw 5vw!important;
	height: auto;
}

/*画像拡大して見る用*/
.js_modaal_scale .modaal-gallery-item img {
	width: 200vw!important;
	max-width: inherit;
}
	

/*******閉じるボタン*******/
.modaal-close {
    font-size: 11vw;
}

















}