@charset "utf-8";

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■style.css
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
html { overflow-y: scroll; }
body {
	position: relative;
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
	margin:0;
	padding: 0;
	color: #000;
	background-color: #efefef;
}
body,input,select,option,textarea,button,
.link_txt {
	/*font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic", sans-serif;*/
	/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
	/*font-family: 'Yu Mincho', YuMincho, YuMinchoWin7,"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", "HG明朝E", "ＭＳ Ｐ明朝", serif;*/
	font-family: 'Noto Serif JP', serif;
}

html, body {
	height: 100%;
}

/* ───────────────────────────────────
スタイルリセット・汎用スタイル
─────────────────────────────────── */
body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
p,pre,blockquote,hr,form,input,textarea,select,option,address,th,td {
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 15px;
}
img { border:0; vertical-align:bottom; height: auto; }
ul { list-style:none; }
ol { list-style:decimal; margin-left:28px; }
label { cursor:pointer; }
input { border:none; }
input[type="textarea"] { -webkit-appearance: none; border-radius: 0; }
input[type="submit"], input[type="button"], button { cursor:pointer; border-radius: 0; -webkit-appearance: none; }
input,select,option,textarea { font-size:100%; }
table,th,td { border:0; border-collapse:collapse; text-align:left; }
th,td { vertical-align:top; }
td { background-color:#ffffff; word-break:break-all; }
*,*:before,*:after {
	outline: 0;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
input[type="submit"], input[type="button"],button {
	cursor:pointer;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
}
button { border: none; }
pre { white-space: pre-wrap; }

::-webkit-input-placeholder { color: #8c8c8c; }/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-moz-placeholder { color: #8c8c8c; opacity: 1; }/* Firefox 19+ */
:-ms-input-placeholder { color: #8c8c8c; }/* IE 10+ */
:placeholder-shown { color: #8c8c8c; }

a { color: #333; }
figure {
	text-align: center;
	margin: 0 auto;
}

.view_sp { display: none!important; }

/* ───────────────────────────────────
フォントサイズ
─────────────────────────────────── */
.fsize_9,.fsize_9 * { font-size: 9px!important; }
.fsize_10,.fsize_10 * { font-size: 10px!important; }
.fsize_11,.fsize_11 * { font-size: 11px!important; }
.fsize_12,.fsize_12 *,.fsize_s,.fsize_s * { font-size: 12px!important; }
.fsize_13,.fsize_13 * { font-size: 13px!important; }
.fsize_14,.fsize_14 * { font-size: 14px!important; }
.fsize_15,.fsize_15,.fsize_m,.fsize_m * * { font-size: 15px!important; }
.fsize_16,.fsize_16 * { font-size: 16px!important; }
.fsize_18,.fsize_18 * { font-size: 18px!important; }
.fsize_20,.fsize_20 * { font-size: 20px!important; line-height: 1.4!important;}
.fsize_24,.fsize_24 *,.fsize_l,.fsize_l * { font-size: 24px!important; line-height: 1.4!important;}
.fsize_28,.fsize_28 * { font-size: 28px!important; line-height: 1.4!important;}
.fsize_30,.fsize_30 * { font-size: 30px!important; line-height: 1.4!important;}
.fsize_32,.fsize_32 * { font-size: 32px!important; line-height: 1.4!important;}
.fsize_36,.fsize_36 *,.fsize_ll,.fsize_ll * { font-size: 36px!important; line-height: 1.4!important;}
.fsize_40,.fsize_40 * { font-size: 40px!important; line-height: 1.4!important;}

/* ───────────────────────────────────
テキストスタイル
─────────────────────────────────── */
.txt_bold { font-weight: 500; }
.txt_normal { font-weight: normal; }

/* ───────────────────────────────────
margin
─────────────────────────────────── */
.mt0 { margin-top:0 !important; }
.mt5 { margin-top:5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top:20px !important; }
.mt25 { margin-top:25px !important; }
.mt30 { margin-top:30px !important; }
.mt35 { margin-top:35px !important; }
.mt40 { margin-top:40px !important; }
.mt45 { margin-top:45px !important; }
.mt50 { margin-top:50px !important; }

.mr0 { margin-right:0 !important; }
.mr5 { margin-right:5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right:20px !important; }
.mr25 { margin-right:25px !important; }
.mr30 { margin-right:30px !important; }
.mr35 { margin-right:35px !important; }
.mr40 { margin-right:40px !important; }
.mr45 { margin-right:45px !important; }
.mr50 { margin-right:50px !important; }

.mb0 { margin-bottom:0 !important; }
.mb5 { margin-bottom:5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb35 { margin-bottom:35px !important; }
.mb40 { margin-bottom:40px !important; }
.mb45 { margin-bottom:45px !important; }
.mb50 { margin-bottom:50px !important; }

.ml0 { margin-left:0 !important; }
.ml5 { margin-left:5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left:20px !important; }
.ml25 { margin-left:25px !important; }
.ml30 { margin-left:30px !important; }
.ml35 { margin-left:35px !important; }
.ml40 { margin-left:40px !important; }
.ml45 { margin-left:45px !important; }
.ml50 { margin-left:50px !important; }

/* ───────────────────────────────────
align / valign
─────────────────────────────────── */
.align_r { text-align:right !important; }
.align_l { text-align:left !important; }
.align_c { text-align:center !important; }
.valign_t { vertical-align:top !important; }
.valign_m { vertical-align:middle !important; }
.valign_b { vertical-align:bottom !important; }

/* ───────────────────────────────────
display
─────────────────────────────────── */
.d_block { display: block!important; }
.d_iblock { display: inline-block!important; }
.d_table { display: table; width: 100%; }
.d_tcell { display: table-cell; vertical-align: middle; }

.width_30per { width: 30%; }
.width_40per { width: 40%; }
.width_50per { width: 50%; }
.width_60per { width: 60%; }
.width_70per { width: 70%; }
.width_80per { width: 80%; }
.width_90per { width: 90%; }
.width_100per { width: 100%; }

.width_100 { width: 100px; }
.width_200 { width: 200px; }
.width_300 { width: 300px; }
.width_400 { width: 400px; }
.width_500 { width: 500px; }
.width_600 { width: 600px; }

.view_pc { display: block!important; }
.view_tb,.view_sp, .view_sp320 { display: none!important; }

a, a * {
	text-decoration: none;
}
.wrap980 {
	max-width: 980px;
	margin: 0 auto;
}
.wrap {
	width: 80%;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
body#page_top .wrap {
	margin-left: auto;
	margin-right: auto;
	padding-left: 8%;
	padding-right: 30px;
	width: auto;
	max-width: 980px;
}

.input_search_wrap {
	position: relative;
}
.input_search {
	width: 100%;
	background-color: #eaeaea!important;
	border: 1px solid #ddd;
	border-radius: 30px;
	padding: 4px 10px;
	font-size: 14px;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.icn_search {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 15px;
	height: 15px;
	margin-top: -8px;
	text-align: center;
	vertical-align: middle;
	color: #a0a0a0!important;
	transition: color .2s ease-in-out;
}
.icn_search:hover {
	color: #222!important;
}
ul.list_separate li {
	display: inline-block;
	font-size: 12px;
}
ul.list_separate li:not(:last-child):after {
	content: "/";
}
ul.list_separate li a {
	display: inline-block;
	padding: 0 12px 0 8px;
}

#header {
	width: 100%;
	height: 100px;
	background-color: #000;
	padding: 20px;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	transition: all .3s;
}
#header p,
#header .txt_logo {
	line-height: 1;
}
.txt_logo {
	letter-spacing: 0.2em;
}
#header .header_inner {
	position: relative;
	text-align: center;
}
#header .txt_catchcopy {
	margin-bottom: 8px;
	font-size: 12px;
}
#header .txt_logo {
	display: inline-block;
	font-size: 36px;
	font-weight: 600;
}
#header .site_utility {
	position: absolute;
	top: 2px;
	right: 0;
	width: 260px;
}
#header .block_search {
	margin-bottom: 5px;
}

#header.pre_fixed {
	top: -110px;
	padding-top: 10px;
	padding-bottom: 10px;
	opacity: 0;
	height: 80px!important;
}
#header.fixed {
	position: fixed;
	top: 0;
	height: 80px;
	padding-top: 10px;
	padding-bottom: 10px;
	box-shadow: 3px 3px 3px rgba(0,0,0,.15);
	z-index: 100;
	/*transition: .2s ease-in-out;*/
	opacity: 1;
	background-color: #000;
}
#header.fixed .txt_logo {
	padding-top: 10px;
}
#header.fixed .txt_catchcopy {
	display: none!important;
}
body#page_top #header.pre_fixed,
body#page_top #header.fixed {
	background-color: #000;
}
body #header *:not(input) {
	color: #fff;
}
#header .site_title {
	text-align: center;
}

body#page_top #header {
	position: absolute;
	width: 100%;
	height: 100px;
	top: 0;
	left: 0;
	background-color: transparent;
	z-index: 120;
}
body#page_top #header.fixed {
	position: fixed;
	height: 80px;
}
body#page_top #header input.txtarea {
	color: #000;
}

#contents {
	/*padding-top: 30px;*/
	/*padding-bottom: 100px;*/
}
#header.fixed #contents {
	padding-top: 80px;
}







.topicpath {
	background-color: #d0d0d0;
	padding: 3px 20px;
}
.topicpath ol {
	list-style: none;
	margin: 0 auto;
}
.topicpath ol * { color: #222; }
.topicpath ol li {
	display: inline-block;
	margin: 0 3px 0 0;
	font-size: 12px;
}
.topicpath ol li:after {
	content: "";
	display: inline-block;
	position: relative;
	width:6px;
	height:6px;
	top: -2px;
	border-top: 1px solid #222;
	border-right: 1px solid #222;
	margin: 0 10px 0 13px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.topicpath ol li:last-child:after {
	display: none;
}
.topicpath ol li a {
	text-decoration: none;
}
.topicpath ol li a:hover {
	text-decoration: underline;
}
*[class^="mainvisual"] .txt .wrap {
	margin-left: 0!important;
	margin-right: 0!important;
}
*[class^="mainvisual"] img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
*[class^="mainvisual"] .txt {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 25px 30px 45px 30px;
	width: calc( 100% - 60px);
	background-color: rgba(0,0,0,.3);
}
*[class^="mainvisual"] .txt .wrap {
	width: 90%;
	margin: 0 auto;
}
*[class^="mainvisual"] .txt * {
	color: #fff;
}
*[class^="mainvisual"] .ttl_page {
	font-weight: 500;
	font-size: 24px;
	letter-spacing: .3em;
	line-height: 2;
	height: 96px;
}
*[class^="mainvisual"] .txt_name {
	margin-top: 5px;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: .3em;
	display: inline-block;
    margin-right: 1.5em;
}
*[class^="mainvisual"] .txt_name .name {
	margin-left: 1em;
	font-size: 20px;
	letter-spacing: .3em;
}
.mainvisual {
	position: relative;
}
.mainvisual_top {
	background-color: #000;
}
.mainvisual_top .slide-item {
	position: relative;
}
.mainvisual_top .slide-item img {
	opacity: .4;
}
.mainvisual_top .txt {
	/*padding: 35px 0px 45px 0px;*/
	/*padding: 35px 60px 45px 60px;/*2021.03.11修正*/
	padding: 35px 20px 45px 20px;/*2021.10.1修正*/
	box-sizing: border-box;
	width: 100%;
	background-color: rgba(255,255,255,.7);
	height: 253px;
}
.mainvisual_top .txt * {
	color: #222;
}
#contents .main {
	padding-top: 3em;
	padding-bottom: 100px;
}
body#page_top #contents .main {
	padding-top: 80px;
}
.main *[class^="section_"]:last-child {
	margin-bottom: 0;
}

*[class^="section_"] .ttl_01 {
	margin-bottom: 25px;
	font-size: 200%;
	text-align: center;
	line-height: 1;
}
.section_list_category .ttl_01,
body#page_top *[class^="section_"] .ttl_01 {
	margin-bottom: 60px;
}

.main .btn_wrap {
	margin: 30px 0;
	text-align: center;
}
body#page_top .main .btn_wrap {
	margin: 60px 0;
}

.btn_wrap a.btn_01 {
	position: relative;
	display: inline-block;
	background-color: #000;
	color: #fff;
	height: 40px;
	line-height: 40px;
	min-width: 280px;
	padding-left: 40px;
	border: 1px solid #fff;
	text-align: center;
	letter-spacing: 2px;
	transition: .2s ease-in-out;
	text-decoration: none!important;
	font-family: 'Noto Serif JP', serif!important;
	font-weight: 500;
	box-sizing: border-box;
}
.btn_wrap a.btn_01:hover {
	background-color: #666;
}
.btn_wrap a.btn_01:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display:block;
	width: 40px;
	height: 38px;
	background-color: #333;
}
.btn_wrap a.btn_01:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	display:block;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn_wrap a.btn_01.btn_negative {
	background-color: #777;
}
.btn_wrap a.btn_01.btn_negative:hover {
	background-color: #999;
}
.btn_wrap a.btn_01.btn_negative:before {
	background-color: #888;
}
.btn_wrap a.btn_01.btn_line {
	background-color: #1ab41e;
}
.btn_wrap a.btn_01.btn_line:hover {
	background-color: #5fcb62;
}
.btn_wrap a.btn_01.btn_line:before {
	background-color: #28f62d;
}
.btn_wrap a.btn_01.btn_yahoo {
	background-color: #fc233d;
}
.btn_wrap a.btn_01.btn_yahoo:hover {
	background-color: #fd6578;
}
.btn_wrap a.btn_01.btn_yahoo:before {
	background-color: #fc4d62;
}
.btn_wrap a.btn_01.btn_twitter {
	background-color: #2996f7;
}
.btn_wrap a.btn_01.btn_twitter:hover {
	background-color: #6ab6f9;
}
.btn_wrap a.btn_01.btn_twitter:before {
	background-color: #50acf8;
}
.bg_white .btn_wrap .btns li .btn input,
.bg_white .btn_wrap a.btn_01 {
	border: none;
}
.mainvisual_top .txt .wrap {
	position: relative;
}
.mainvisual_top .btn_wrap {
	/* position: absolute;
	bottom: -5px;
	right: 20px; */
	/*display: inline-block;*/
	display: block;
}
.mainvisual_top .btn_wrap a.btn_01 {
	min-width: 200px;
}

.main img {
	max-width: 100%;
	width: auto;
	height: auto;
}

.article .wrap {
	width: 80%;
	margin: 0 auto;
	padding: 0 0 3em 0;
}

.page_static .main,
.page_static .main *:not([class*="ttl"]),
.page_static .main .section_cmn *:not(h1),
.page_static .main .section_cmn *:not(h2),
.page_static .main .section_cmn *:not(h3),
.article,
.article *,
.section_article_footer *,
.section_list_article * {
	/* font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic", sans-serif; */
	font-family: 'Yu Mincho', YuMincho, YuMinchoWin7,"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}
.btn,
.btn input,
.page_static .main .section_cmn h1,
.page_static .main .section_cmn h1 *,
.page_static .main .section_cmn h2,
.page_static .main .section_cmn h2 *,
.page_static .main .section_cmn h3,
.page_static .main .section_cmn h3 *,
.article h2,
.article h3,
.article .txt_01,
.txt_mincho {
	font-family: 'Noto Serif JP', serif!important;
	font-weight: 500;
}
.page_static .main .section_cmn h1 a,
.page_static .main .section_cmn h2 a,
.page_static .main .section_cmn h3 a {
	text-decoration: none;
	border-bottom: 1px dashed #000;
}
.page_static .main .section_cmn h1 a:hover,
.page_static .main .section_cmn h2 a:hover,
.page_static .main .section_cmn h3 a:hover {
	border-bottom-color: transparent;
}
.article img {
	width:100%;
	height: auto;
}
.article p, .article ul, .article ol, .article dl {
	text-align: justify;
	text-justify: inter-ideograph;
}
.article figure {
	text-align:center;
	margin: 0 auto 3.5em auto;
}
.article figure img {
	margin-bottom:15px;
}

.article hr {
	width: 100%;
	height: 1px;
	margin: 3em 0 3.5em 0;
	border: none;
	border-bottom: 1px solid #CCCCCC;
}
.article a,
.section_article_footer a {
	text-decoration: underline;
}

.article a:hover,
.section_article_footer a:hover {
	text-decoration: none;
}
#header li a {
	text-decoration: none;
}
#header li a:hover,
#footer li a:hover {
	text-decoration: underline;
}
.article .txt_lead {
	/* font-size: 13px; */
	font-weight: 500;
	line-height: 1.8;
}
.article p {
	margin-bottom: 2em;
}
.article h2 {
	font-weight: 500;
	font-size: 140%;
	margin-top: 3em;;
	margin-bottom: 3em;
}
.article .txt_01 {
	text-align: center;
	font-weight: 500;
	font-size: 120%;
}

.btn_social {
	display: flex;
	margin: 0 0 60px 0;
	border: 1px solid #ccc;
}

.btn_social li {
	margin: 0;
	padding: 0;
	width: 25%;
	border-right: 1px solid #ccc;
	text-align: center;
	font-size: 150%;
	box-sizing: border-box;
}

.btn_social li:last-child {
	border-right: none;
}

.btn_social li a {
	display: block;
	padding: 10px 0;
	transition: .2s ease-in-out;
}
.btn_social li * {
	line-height: 1;
}
.btn_social a:hover {
	color: #fff;
}
.btn_social li.facebook a:hover {
	background: #4b6faa;
}
.btn_social li.twitter a:hover {
	background: #2ab7e7;
}
.btn_social li.hatena a:hover {
	background: #1c99cd;
}
.btn_social li.line a:hover {
	background: #00c300;
}
.block_profile_bottom .imgtxt {
	margin-bottom: 30px;
	padding: 0 15px;
}
.block_profile_bottom .imgtxt_inner {
	display: flex;
}
.block_profile_bottom .imgtxt .img {
	margin-right: 20px;
}
.block_profile_bottom .txt_name {
	margin-bottom: 15px;
	font-weight: 500;
	font-size: 133.4%;
}
.block_profile_bottom .txt p {
	font-size: 93.4%;
}
.block_profile_bottom .ttl_profile {
	margin-bottom: 25px;
	text-align: center;
}
.block_profile_bottom .ttl_profile span {
	display: inline-block;
	padding: 0 5px 12px 5px;
	border-bottom: 1px solid #000;
	font-size: 160%;
	line-height: 1;
}

article.article table,
.tbl_cmn {
	width: 100%;
	border-top: solid 1px #CCC;
	border-left: solid 1px #CCC;
	margin: 0 0 50px 0;
	padding: 0;
}
article.article table th,
.tbl_cmn th {
	padding: 10px 20px;
	background: #000;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	font-weight: normal;
	/*letter-spacing: 3px;*/
}
article.article table td,
.tbl_cmn td {
	padding: 10px 20px;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
}

.section_list_article,
.section_list_category {
	margin-bottom: 40px;
}
.list_article,
.list_category {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.list_article > li,
.list_category > li {
	width: 22.75%;
	margin-right: 3%;
}
.list_article > li:nth-child(4n),
.list_category > li:nth-child(4n) {
	margin-right: 0;
}
.list_article > li:nth-child(n+5),
.list_category > li:nth-child(n+5) {
	margin-top: 40px;
}
.list_article_3 > li,
.list_article_3 > li:nth-child(4n),
.list_category_3 > li,
.list_category_3 > li:nth-child(4n) {
	width: 31.33%;
	margin-right: 3%;
}
.list_article_3 > li:nth-child(3n),
.list_category_3 > li:nth-child(3n) {
	margin-right: 0;
}
.list_article_3 > li:nth-child(n+4),
.list_category_3 > li:nth-child(n+4) {
	margin-top: 40px;
}

.list_article > li a,
.list_category > li a {
	display: block;
}
.list_article > li a:hover,
.list_category > li a:hover {
	opacity: .75;
	transition: .2s ease-in-out;
}
.list_article > li .img,
.list_category > li .img {
	position: relative;
}
.list_article > li.label_new .img:before,
.list_category > li.label_new .img:before {
	content: "";
	position: absolute;
	top: -30px;
	left: -30px;
	display: block;
	border: 30px solid transparent;
	border-bottom: 30px solid red;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.list_article > li.label_new .img:after,
.list_category > li.label_new .img:after {
	content: "NEW!";
	position: absolute;
	top: 6px;
	left: -1px;
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 11px;
	font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic", sans-serif;
	-webkit-transform: rotate(-45deg) scale(0.8,0.8);
	transform: rotate(-45deg) scale(0.8,0.8);
}
.list_article > li .img img,
.list_category > li .img img {
	max-width: 100%;
	height: auto;
}

.list_article > li .img .meta {
	display: flex;
	justify-content: space-between;
	background-color: #666;
	padding: 5px;
}
.list_article > li .img .meta * {
	font-size: 9px;
	color: #fff;
}
.list_article .txt {
	margin-top: 1em;
}
.list_article p {
	font-size: 13px;
}
.list_article .txt .txt_name {
	margin-top: 1em;
	font-size: 11px;
	line-height: 2;
}

.list_category .txt .ttl_category span {
	display: block;
	text-align: center;
}
.list_category .txt .ttl_category .txt_ja {
	margin-bottom: 5px;
	padding-bottom: 15px;
	border-bottom: 1px solid #000;
	font-size: 21px;
	line-height: 1;
	font-weight: 500;
}
.list_category .txt .ttl_category .txt_en {
	font-size: 11px;
	line-height: 1;
}
.list_category .txt + .img {
	margin-top: 35px;
	text-align: center;
}

.hr_takumi {
	position: relative;
	max-width: 980px;
	width: 100%;
	height: 1px;
	margin: 3em auto 3.5em auto;
	border-bottom: 5px solid #000;
	border-top: none;
	box-sizing: border-box;
}
.hr_takumi:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	display:block;
	border: 40px solid transparent;
	border-bottom: 40px solid #000;
}
#footer {
	padding: 70px 0;
	background: #000 url(../img/common/footer_bg.jpg) no-repeat 90% 0;
	/*text-align: center;*/
}
#footer * {
	color: #fff;
}
#footer .site_title {
	/*display: inline-block;*/
	margin-bottom: 40px;
	text-align: center;
}
#footer .site_title a {
	display: inline-block;
}
#footer .txt_catchcopy {
	margin-bottom: 8px;
	font-size: 12px;
}
#footer .txt_logo {
	font-size: 36px;
	font-weight: 600;
	line-height: 1;
}
#footer p.copyright {
	margin-top: 40px;
	text-align: center;
	font-size: 11px;
	font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic", sans-serif;
}
#footer .list_separate {
	margin-bottom: 15px;
	text-align: center;
}
#footer .list_separate li a {
	padding-left: 6px;
	padding-right: 3px;
}

.mainvisual_top {
	position: relative;
}
.slick-arrow {
	position: absolute;
	top: 50%;
	width: 50px;
	height: 100px;
	margin: -50px 0 0 0;
	background-color: #000;
	border: 1px solid #fff;
	text-indent: -9999px;
	z-index: 10;
	transition: .2s ease-in-out;
}
.slick-arrow:hover {
	background-color: #666;
}
.slick-arrow:after {
	content: "";
	position: absolute;
	top: 50%;
	display: block;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
.slick-arrow.slick-prev {
	left: 0;
	border-left: none;
}
.slick-arrow.slick-prev:after {
	left: 18px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.slick-arrow.slick-next {
	right: 0;
	border-right: none;
}
.slick-arrow.slick-next:after {
	right: 18px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#contents .main {
	position: relative;
}
body:not(#page_detail) #contents .main .bg_top:before {
	content: "";
	position: absolute;
	top: -69px;
	left: 0;
	/*display:block;*/
	display: none;/*2021.03.11修正*/
	width: 8%;
	height: 70px;
	background: url(../img/common/line_bg_lt.png) no-repeat 100% 0;
}
/*body:not(#page_detail) #contents .main:after {
body#page_top #contents .main:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display:block;
	width: 8%;
	height: 100%;
	background-color: #000;
}*/
#contents .main .bg_top {
	position: absolute;
	top: -14px;
	left: 0;
	width: calc( 100% - 30px);
	height: 29px;
	background-color:#000;
}
#contents .main .bg_top:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: -30px;
	display:block;
	width: 268px;
	height: 100px;
	background: url(../img/common/line_bg.png) no-repeat 100% 0 / auto 100px;
}

.mainvisual_top .txt .wrap {
	width: 100%;
	opacity: 0;
	transform: translate(0,5%);
	transition: 0s;
}
.mainvisual_top .txt .wrap.stop {
	opacity: 1;
	transform: translate(0,0%);
	transition: .5s ease-in-out;
}
body#page_top .slide-item.slide-current .txt .wrap.start {
	opacity: 1;
}
.fab {
	font-family: "Font Awesome 5 Brands"!important;
}


/* ━━━━━━━━━━━━━━━━━━━━
202003
━━━━━━━━━━━━━━━━━━━━ */
.page_static .main * + .section_cmn {
	padding-top: 80px;
}

.section_black {
	padding: 4em 0 5em 0;
	margin-top: -3em;
	background-color: #000;
}
.section_black * {
	color: #fff;
}
.section_black * + * {
	margin-top: 40px;
}
.section_black * + p {
	margin-top: 30px;
}
.page_ttl_01 {
	position: relative;
	padding-bottom: 30px;
	margin-bottom: 50px;
	border-bottom: 5px solid #d0d0d0;
	text-align: center;
}
.page_ttl_01:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	display:block;
	border: 40px solid transparent;
	border-bottom: 40px solid #d0d0d0;
}
.page_ttl_01 .ttl {
	display: inline-block;
	font-size: 36px;
	font-family: 'Noto Serif JP', serif;
}

.main .section_cmn h1 {
    font-size: 36px;
    font-family: 'Noto Serif JP', serif;
}
.main .section_cmn h2,
.ttl_02 {
	position: relative;
	margin-top: 80px;
	margin-bottom: 50px;
	text-align: left;
	font-size: 30px;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.4;
}
.section_cmn .txt_01 {
	margin: 50px 0;
	text-align: center;
	font-size: 20px;
	font-family: 'Noto Serif JP', serif!important;
	line-height: 1.4;
}

.page_ttl_02 {
	position: relative;
	margin-top: 20px;
	margin-bottom: 50px;
}
.page_ttl_02:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	display:block;
	width: 100%;
	height: 3px;
	background-color: #d0d0d0;
	z-index: -1;
}
.page_ttl_02 .ttl {
	position: relative;
	display: inline-block;
	padding-bottom: 40px;
	font-size: 36px;
	font-family: 'Noto Serif JP', serif;
	border-bottom: 3px solid #000;
	line-height: 1.3;
}
.page_ttl_02:before {
}

.main .section_cmn ul li,
ul.list_cmn li {
	position: relative;
	padding: 0 0 0 22px;
}
.main .section_cmn ul li:before,
ul.list_cmn li:before {
	content: "";
	position: absolute;
	top: 7px;
	left: 6px;
	display: block;
	width: 8px;
	height: 8px;
	background-color: #000;
	border-radius: 50%;
}
.main .section_cmn ul > li + li,
ul.list_cmn > li + li {
	margin-top: 1em;
}

.main .section_cmn ol li,
ol.list_cmn li {
}
.main .section_cmn ol li:before,
ol.list_cmn li:before {
}
.main .section_cmn ol > li + li,
ol.list_cmn > li + li {
	margin-top: 1em;
}
.main .section_cmn ol li li,
ol.list_cmn li li {
	margin-top: 0.5em;
}

.bg_color {
	margin: 50px 0 30px 0;
	padding: 25px 50px;
}
.bg_gray {
	background-color: #d4d4d4;
}
.bg_white {
	background-color: rgba(255,255,255,.7);
}
.tbl_form th {
	width: 220px;
	padding-right: 10px;
	vertical-align: top;
}
.tbl_form th div {
	position: relative;
	padding-top: 5px;
	text-align: left;
}
.tbl_form th.required div:after {
	content: "必須";
	position: absolute;
	top: 6px;
	right: 0;
	display:inline-block;
	padding: 4px 8px;
	background-color: #e60012;
	border-radius: 2px;
	color: #fff;
	font-weight: bold;
	font-size: 13px;
	line-height: 1;
}
.tbl_form th.option div:after {
	content: "任意";
	position: absolute;
	top: 6px;
	right: 0;
	display:inline-block;
	padding: 4px 8px;
	background-color: #999;
	border-radius: 2px;
	color: #fff;
	font-weight: bold;
	font-size: 13px;
	line-height: 1;
}
.tbl_form td {
	vertical-align: top;
}

.txtarea {
	padding: 5px 10px;
	border: 1px solid #eee;
	/*border-radius: 4px;*/
}
.main .txtarea {
	border-radius: 4px;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

article a,
.page_static .main a {
	text-decoration: underline;
}
article a:hover,
.page_static .main a:hover {
	text-decoration: none;
}
.message {
	margin: 30px 0;
	padding: 15px 30px;
	border: 2px solid #ccc;
}
.bg_color .message {
	margin: 10px 0;
	padding: 10px;
}
.bg_color .message p {
	line-height: 1.3;
}
.message.warning {
	border-color: #e60012;
}
.message.notice {
	border-color: #e60012;
}
.form_cmn .tbl_form {
	margin-top: 30px;
}
.form_cmn .tbl_form div + div {
	margin-top: 5px;
}
.form_cmn .error p {
	font-size: 12px;
	color: #e60012;
}
.form_cmn .dl_form dt {
	font-size: 13px;
}
.form_cmn .dl_form dd + dt {
	margin-top: 1em;
}
.main .section_cmn .btn_wrap .btns {
	text-align: center;
	padding: 0;
}
.main .section_cmn .btn_wrap .btns li {
	display: inline-block;
	margin: 0 20px;
}
.main .section_cmn .btn_wrap .btns li:before {
	display: none;
}

.btn_wrap .btns li .btn {
	position: relative;
	display: inline-block;
}
.btn_wrap .btns li .btn:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	display: block;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn_wrap .btns li .btn input {
	display: inline-block;
	background-color: #000;
background: -moz-linear-gradient(left, #333 37px, #000 38px);
background: -webkit-linear-gradient(left, #333 37px, #000 38px);
background: linear-gradient( to right, #333 37px, #000 38px);
	color: #fff;
	height: 40px;
	line-height: 40px;
	min-width: 280px;
	padding-left: 40px;
	border: 1px solid #fff;
	text-align: center;
	letter-spacing: 2px;
	transition: all .2s ease-in-out;
	-ms-box-sizing: border-box;
}
.btn_wrap ul.btns li .btn input:hover {
	background-color: #666;
background: -moz-linear-gradient(left, #333 37px, #666 38px);
background: -webkit-linear-gradient(left, #333 37px, #666 38px);
background: linear-gradient( to right, #333 37px, #666 38px);
	transition: all .2s ease-in-out;
}

.main .section_cmn .btn_wrap .btns.d_block > li {
	display: block;
	margin: 0;
	padding: 0;
}
.main .section_cmn .btn_wrap .btns.d_block > li + li {
	margin-top: 20px;
}

.txtimg {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

/* ━━━━━━━━━━━━━━━━━━━━
ドロワーメニュー
━━━━━━━━━━━━━━━━━━━━ */
.icn_toggle_slidemenu {
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 0;
	width: 50px;
	height: 50px;
	cursor: pointer;
}
.icn_toggle_slidemenu span,
.icn_toggle_slidemenu:before,
.icn_toggle_slidemenu:after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left:0;
	right: 0;
	width: 36px;
	height: 3px;
	margin: auto;
	background: #fff;
}
.icn_toggle_slidemenu span {
	overflow: hidden;
	color: #fff;
	z-index: 1;
}
.icn_toggle_slidemenu:before {
	content: "";
	-webkit-transform: translate(0,-12px);
	-ms-transform: translate(0,-12px);
	transform: translate(0, -12px);
	z-index: 2;
}
.icn_toggle_slidemenu:after {
	content: "";
	-webkit-transform: translate(0,12px);
	-ms-transform: translate(0,12px);
	transform: translate(0, 12px);
	z-index: 2;
}
.icn_toggle_slidemenu span {
	opacity: 1;
	transition: opacity .15s .05s;
}
.icn_toggle_slidemenu:before,
.icn_toggle_slidemenu:after {
	transition: transform .2s;
}

.slide-open .icn_toggle_slidemenu span {
	opacity: 0;
	transition: opacity .15s;
}
.slide-open .icn_toggle_slidemenu:before {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.slide-open .icn_toggle_slidemenu:after {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* サイドオープン時にメインコンテンツを覆う部分 */
.overlay {
	content: '';
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	transition: all .5s;
	z-index: 3;
}
.overlay::after {
	content: "";
	visibility: hidden;
	position: fixed;
	top: 40%;
	left: 0;
	display: block;
	width: 100%;
	height: 50px;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	transition: all .5s;
}
.slide-open .overlay {
	visibility: visible;
	cursor: pointer;
	background: rgba(0,0,0,.7);
}
.slide-open .overlay::after {
	visibility: visible;
	color: rgba(255,255,255,.8);
}
/* サイドメニュー ※リストのスタイルは省略 */
.sidemenu {
	position: fixed;
	top: 0;
	right: 0;
	width: 300px;
	height: 100%;
	padding-top: 150px;
	text-align: left;
	background: #2A408E;
	z-index: 1;
}
.slidemenu a,
.slidemenu a span,
.slidemenu a * {
	color: #fff;
}
/* 開閉用ボタン ※ボタンの細かいスタイルは省略 */
.slide_menu_btn {
	position: fixed;
	top: 34px;
	left: 20px;
	width: 34px;
	height: 34px;
	cursor: pointer;
	z-index: 200;
	opacity: 1;
}
#wrapper {
	transition: all .5s;
	z-index: 2;
}
/* サイドメニューオープン */
.slide-open .slidemenu {
/*
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);

*/
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.slidemenu a { text-decoration: none; }
.slidemenu * {
	color: #fff;
}
/*plugin*/
.slidemenu {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: fixed;
	/*visibility: hidden;*/
	z-index: 130;
	background-color: #000;
	opacity: 0;
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);

	transition: all .5s;
}
.slidemenu_inner {
	padding: 60px 120px 20px 120px;
	height: 100%;
	display: block;
	overflow: auto;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	/*width: 270px;*/
}
.slide-open .slidemenu {
	width: 100%;
	opacity: 1;
}

.slidemenu .txt_logo {
	font-size: 36px;
	font-weight: 600;
	text-align: center;
	line-height: 1;
	margin-bottom: 40px;
}
.slidemenu .gnavi_01,
.slidemenu .subnavi_01 {
	display: flex;
	flex-wrap: wrap;
}
.slidemenu .gnavi_01 > li,
.slidemenu .subnavi_01 > li {
	display: flex;
	justify-content: center;
	align-items: center;
}
.slidemenu .gnavi_01 > li a,
.slidemenu .subnavi_01 > li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border: 1px solid #fff;
	padding: 1em 5px;
	box-sizing: border-box;
}
.slidemenu .gnavi_01 a,
.slidemenu .subnavi_01 a {
	transition: background .5s;
}

.slidemenu .gnavi_01 a:hover,
.slidemenu .subnavi_01 a:hover {
	background-color: #fff;
}
.slidemenu .gnavi_01 a:hover *,
.slidemenu .subnavi_01 a:hover * {
	color: #000;
}
.slidemenu .gnavi_01 > li {
	width: 48%;
	margin: 0 4% 40px 0;
}
.slidemenu .gnavi_01 > li:nth-child(even) {
	margin-right: 0;
}
.slidemenu .gnavi_01 > li a {
	font-size: 24px;
}
.slidemenu .subnavi_01 {
	margin-top: 20px;
}
.slidemenu .subnavi_01 > li {
	width: 22%;
	margin: 0 4% 40px 0;
}
.slidemenu .subnavi_01 > li:nth-child(4n) {
	margin-right: 0;
}
.slidemenu .subnavi_01 > li a {
	font-size: 18px;
}
.slide-open #header.pre_fixed,
.slide-open #header.fixed {
	position: static;
}
.slide-open #header.pre_fixed *:not(.slide_menu_btn),
.slide-open #header.fixed *:not(.slide_menu_btn) {
	opacity: 0;
}
body.pre_fixed .slide_menu_btn {
}
body.fixed .slide_menu_btn {
	top: 20px;
}
.page_login .main,
.page_regist .main {
	background: url(../img/contents/bg_doctor_01.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.page_login .main .bg_color,
.page_regist .main .bg_color {
	padding-top: 40px;
}

.col_2 {
	display: flex;
}
.col_2 > .col {
	width: 46%;
	margin-right: 8%;
}
.col_2 > .col:nth-child(even) {
	margin-right: 0;
}
.col .btn_wrap a.btn_01 {
	display: block;
	min-width: inherit;
}
.col .btn_wrap .btns.d_block li a {
	margin-left: 0;
}
.col .btn_wrap .btns.d_block li + li {
	margin-top: 10px;
}

.col .btn_wrap .btns li .btn {
	display: block;
}
.col .btn_wrap .btns li .btn input {
	display: block;
	width: 100%;
	min-width: inherit;
}
.ttl_border {
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 26px!important;
	line-height: 1.1;
}
body.page_login .main *,
body.page_regist .main * {
	font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic", sans-serif;
}
body.page_login .main .ttl_border,
body.page_login .main .btn_01,
body.page_regist .main .ttl_border,
body.page_regist .main .btn_01 {
	font-family: 'Noto Serif JP', serif;
}

.list_pager {
	margin-bottom: 20px;
}
.list_pager:last-child {
	margin-top: 50px;
}
.list_pager > * {
	/*text-align: right;*/
}
.pager {
	margin-top: 5px;
	vertical-align: top;
}
.pager a,
.pager span {
	display: inline-block;
	vertical-align: top;
	transition: background .2s;
}
.pager a.page_number,
.pager a.page-numbers {
	color: #222;
}
.pager .page_number,
.pager .page-numbers {
	min-width: 32px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	margin: 0 3px;
	text-decoration: none;
	background-color: #fff;
	border-radius: 2px;
	padding: 0 2px;
}
.pager a[class*="page_"]:hover,
.pager a[class*="page-"]:hover {
	background-color: #ccc;
}
.pager .page_number.current,
.pager .page-number.current {
	background-color: #000;
	color: #fff;
}
.pager .page_first,
.pager .page_prev,
.pager .page_next,
.pager .page_last {
	position: relative;
	width: 36px;
	height: 36px;
	text-decoration: none;
	margin: 0 2px;
	background-color: #fff;
}
.pager .page_first:before,
.pager .page_first:after,
.pager .page_prev:before,
.pager .page_next:before,
.pager .page_last:before,
.pager .page_last:after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 7px;
	height: 7px;
	top: 13px;
	margin-left: 10px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.pager .page_first:before,
.pager .page_first:after,
.pager .page_prev:before,
.pager .page_prev:after {
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.pager .page_first:before { left: 3px; }
.pager .page_first:after { left: 10px; }
.pager .page_prev:before { left: 7px; }
.pager .page_next:before { left: 3px; }
.pager .page_last:before { left: -1px; }
.pager .page_last:after { left: 6px; }

.no_page {
	margin: 50px 0;
}
.no_page * {
	font-size: 18px;
}
.pager a.page-numbers {
	background-color: #f2f2f2;
	margin-bottom: 10px;
}
.pager a.page-numbers:hover {
	background-color: #333;
}
.pager a.prev,
.pager a.next {
	padding-right: 20px;
	padding-left: 20px;
	margin-bottom: 10px;
}
span.page-numbers.current {
	background-color: #000;
	color: #fff;
}
.article_foot .list_pager.page_split {
	margin-top: 60px;
	margin-bottom: 0;
}

.section_article_footer {
	background: #000;
	margin: 100px 0;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}
.section_article_footer .inner {
	background: rgba(0,0,0,.8);
	padding: 100px 50px;
}
.section_article_footer * {
	color: #fff;
}
.section_article_footer .col_2 {
	display: flex;
}
.section_article_footer .col_2 > .col {
	width: 45%;
	margin-right: 10%;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.section_article_footer .col_2 > .col:nth-child(even) {
	margin-right: 0;
}
.section_article_footer .ttl_article_footer {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 2px;
}
.section_article_footer .ttl_article_footer:after {
	border-top: 1px solid #fff;
	content: "";
	display: inline;
	flex-grow: 1;
	margin-left: 1em;
}
.section_article_footer .ttl_name {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 20px;
	margin: 30px 0;
}
.section_article_footer p {
	font-size: 14px;
}
.section_article_footer p + p {
	margin-top: 1.5em;
}
@media screen and ( min-width:769px )
{
}

@media screen and ( max-width:1070px )
{
	.list_article .txt br {
		display: none;
	}
}

@media screen and ( max-width:767px )
{
	.fsize_9,.fsize_9 *,
	.fsize_10,.fsize_10 *,
	.fsize_11,.fsize_11 * { font-size: 10px!important; }

	.fsize_12,.fsize_12 *,.fsize_s,.fsize_s *,
	.fsize_13,.fsize_13 *,
	.fsize_14,.fsize_14 *,
	.fsize_15,.fsize_15,.fsize_m,.fsize_m *,
	.fsize_16,.fsize_16 *,
	.fsize_18,.fsize_18 *,
	.fsize_20,.fsize_20 *,
	.fsize_24,.fsize_24 *,.fsize_l,.fsize_l *,
	.fsize_28,.fsize_28 * { font-size: 12px!important; line-height: 1.4!important;}

	.fsize_30,.fsize_30 *,
	.fsize_32,.fsize_32 *,
	.fsize_36,.fsize_36 *,.fsize_ll,.fsize_ll *,
	.fsize_40,.fsize_40 * { font-size: 20px!important; line-height: 1.4!important;}


	.view_pc { display: none!important; }
	.view_tb,.view_sp { display: block!important; }

	body:not(#page_detail) #contents .main:after {
		display: none;
	}

	body#page_top #header,
	#header {
		padding: 10px;
	}
	body#page_top #header .site_title {
		top: 10px;
	}
	.wrap,
	body#page_top .wrap,
	.article .wrap {
		padding-left: 15px;
		padding-right: 15px;
		width: 100%;
		box-sizing: border-box;
	}
	.mainvisual_top .txt {
		background-color: transparent;
	}
	#top_slider .slick-arrow {
		display: none!important;
	}
	.mainvisual_top .btn_wrap {
		position: static;
		margin-top: 15px;
		display: block;
	}
	.mainvisual_top .btn_wrap a.btn_01 {
		display: block;
		max-width: 400px;
	}

	*[class^="mainvisual"] .txt {
		width: 100%;
	}

	*[class^="mainvisual"] .txt .wrap {
		padding-left: 0!important;
		padding-right: 0!important;
		max-width: 85%;
		margin-left: auto;
		margin-right: auto;
	}
	.mainvisual_top .txt {
		padding: 20px 20px 30px 20px;
		box-sizing: border-box;
		/* 211201追記 */
		height:auto;
	}
	.mainvisual_top .txt .wrap {
		padding: 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.mainvisual_top .txt .wrap * {
		color: #fff;
	}
	*[class^="mainvisual"] .ttl_page {
		font-size: 20px;
		line-height: 1.6;
		/*211201追記*/
		height:auto;
	}
	*[class^="mainvisual"] .ttl_page br {
		display: none;
	}
	.mainvisual_top .txt .wrap .txt_name {
		margin-top: 15px;
		text-align: right;
		font-size: 12px;
		display: block;
	}
	.mainvisual_top .txt .wrap .txt_name .name {
		margin-left: 0;
		text-align: right;
		font-size: 16px;
	}
	.mainvisual .txt {
		padding: 10px 10px 40px 10px;
		background-color: rgba(255,255,255,.7);
		box-sizing: border-box;
		/* 211201追記 */
		padding:10px;
	}
	.mainvisual .txt * {
		color: #000;
	}
	.mainvisual .txt .wrap {
		padding: 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.mainvisual .txt .ttl_page {
		font-size: 14px;
	}
	.mainvisual .txt .ttl_page br {
		display: none;
	}
	body#page_top #contents .main {
		padding-top: 40px;
	}
	*[class^="section_"] .ttl_01,
	body#page_top *[class^="section_"] .ttl_01 {
		margin-bottom: 30px;
		font-size: 22px;
	}
	.btn_wrap a.btn_01 {
		min-width: 0;
		padding-left: 60px;
		padding-right: 20px;
		font-size: 14px;
	}
	.list_article,
	.list_category {
		display: block;
	}
	.list_article > li,
	.list_category > li,
	.list_article > li:nth-child(4n),
	.list_category > li:nth-child(4n) {
		width: 100%;
		margin-right: 0;
	}
	.list_article > li + li {
		margin-top: 30px;
	}
	.list_category > li + li {
		margin-top: 60px;
	}
	.block_profile_bottom .imgtxt {
		margin-bottom: 60px;
		padding: 0;
	}
	.block_profile_bottom .imgtxt .img {
		margin-right: 15px;
	}
	.block_profile_bottom .imgtxt img {
		width: 65px;
		height: auto;
	}
	.block_profile_bottom .txt {
		display: flex;
		align-items: center;
	}
	.block_profile_bottom .txt_name {
		margin-bottom: 0;
		font-size: 15px;
	}
	.block_profile_bottom .txt_sub {
		margin-top: 10px;
	}
	.block_profile_bottom .txt_sub p {
		font-size: 12px;
	}
	.block_profile_bottom .txt_sub p br {
		display: none;
	}
	.block_profile_bottom .tbl_cmn {
		margin-bottom: 100px;
	}
	.tbl_cmn th,
	.tbl_cmn td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		font-size: 13px;
		padding: 10px;
	}
	.btn_social {
		/*margin-bottom: 80px;*/
		margin-bottom: 0;
	}
	.article figure {
		margin-bottom: 2.5em;
	}
	.article figcaption {
		font-size: 12px;
		text-align: left;
	}
	.article figcaption br {
		display: none;
	}
	.article h2 {
		font-size: 120%;
		/* margin-bottom: 30px; */
	}
	.bg_color {
		padding: 20px 15px;
	}
	.message {
		padding: 15px;
	}
	#header {
		position: fixed;
		height: auto;
		/* background-color: transparent; */
		text-align: center;
		z-index: 100;
	}
	#header.pre_fixed {
		height: 50px!important;
	}
	#header .header_inner {
		display: block;
	}
	body:not(#page_top) #header * {
		/*text-shadow: 1px 1px 1px #fff;*/
	}
	#header .txt_catchcopy {
		text-align: center;
	}
	#header.fixed .txt_logo {
		padding-top: 3px;
		padding-top: 0;
	}
	body.fixed .slide_menu_btn {
		top: 8px!important;
	}
	#header .txt_logo,
	#footer .txt_logo {
		font-size: 26px;
	}
	#contents {
		padding-top: 70px;
	}
	body#page_top #contents {
		padding-top: 0;
	}
	#page_detail .mainvisual .txt {
		padding-bottom: 10px;
	}
/*	.block_profile_top {
		margin: 0 15px 30px 15px;
		padding: 0 0 30px 0;
		border-bottom: 3px solid #000;
	}*/
	.block_profile_top .txt_name {
		text-align: center;
		letter-spacing: .3em;
	}
	.block_profile_top .txt_name .name {
		font-size: 18px;
	}
	.hr_takumi {
		border-bottom-width: 3px;
	}
	.hr_takumi:after {
		border-width: 20px;
	}
/*
	#contents .main .bg_top {
		top: -4px;
		width: calc( 100% - 30px);
		height: 8px;
		background-color:#000;
	}
	#contents .main .bg_top:after {
		content: "";
		position: absolute;
		bottom: 0;
		right: -30px;
		display:block;
		width: 77px;
		height: 25px;
		background: url(../img/common/line_bg.png) no-repeat 100% 0 / auto 25px;
	}
*/
	.slide_menu_btn {
		top: 15px;
	}
	.slidemenu_inner {
		padding: 60px 20px 20px 20px;
	}
	.slidemenu .txt_logo {
		margin-bottom: 30px;
		font-size: 26px;
	}
	.slidemenu .gnavi_01 {
		flex-direction: column;
	}
	.slidemenu .gnavi_01 > li {
		margin: 0 0 0 0;
		width: 100%;
	}
	.slidemenu .gnavi_01 > li a {
		position: relative;
		padding-bottom: 8px;
		border: 0;
		border-bottom: 1px solid rgba(255,255,255,.2);
		font-size: 18px;
	}
	.slidemenu .gnavi_01 > li a:after {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0;
		display: block;
		border: 10px solid transparent;
		border-bottom: 10px solid rgba(255,255,255,.2);
	}
	.slidemenu .subnavi_01 {
		margin-top: 30px;
	}
	.slidemenu .subnavi_01 > li {
		width: 49%;
		margin: 0 2% 10px 0;
	}
	.slidemenu .subnavi_01 > li:nth-child(even) {
		margin-right: 0;
	}
	.slidemenu .subnavi_01 > li {
	}
	.slidemenu .subnavi_01 > li a {
		display: block;
		text-align: left;
		border: none;
		padding: 0 0 0 1em;
		font-size: 13px;
	}

	.page_static .main * + .section_cmn {
		padding-top: 40px;
	}

	.page_ttl_01 {
		padding: 0 0 12px 5px;
		text-align: left;
	}
	* + .page_ttl_01 {
		padding-top: 30px;
	}
	.page_ttl_01:after {
		border-width: 15px;
	}
	.main .section_cmn h1.page_ttl_01 {
		font-size: 24px;
	}
	.page_ttl_01 .ttl {
		font-size: 24px;
		line-height: 1.3;
	}
	.main .section_cmn h1.page_ttl_02 {
		font-size: 24px;
	}
	* + .page_ttl_02 {
		padding-top: 30px;
		margin-bottom: 30px;
	}
	.page_ttl_02:first-child {
		margin-top: 0;
	}
	.page_ttl_02 .ttl {
		padding-bottom: 12px;
		font-size: 24px;
		line-height: 1.3;
	}
	.main .section_cmn h2,
	.ttl_02 {
		margin-top: 40px;
		margin-bottom: 25px;
		font-size: 22px;
	}
	.ttl_border {
		font-size: 22px!important;
	}
	.btn_wrap .btns li .btn input,
	.btn_wrap .btns li a.btn_01 {
		min-width: 240px;
		width: 80%;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}
	.col .btn_wrap .btns li a.btn_01 {
		min-width: 100%;
		width: 100%;
	}
	.tbl_form th div {
		padding-top: 0;
	}
	.tbl_form th.required div:after,
	.tbl_form th.option div:after {
		top: 2px;
	}
	.tbl_form .txtarea {
		width: 100%;
	}
	#footer {
		background-image: none;
	}
	.page_regist .main .bg_color,
	.page_login .main .bg_color,
	.page_regist_index .main .bg_color {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.page_regist .col_2,
	.page_login .col_2,
	.page_regist_index .col_2 {
		flex-wrap: wrap;
	}
	.page_regist .col_2 > .col,
	.page_regist .col_2 > .col:nth-child(even),
	.page_login .col_2 > .col,
	.page_login .col_2 > .col:nth-child(even),
	.page_regist_index .col_2 > .col,
	.page_regist_index .col_2 > .col:nth-child(even) {
		width: 100%;
		margin: 0;
	}
	.page_regist .col_2 > .col + .col,
	.page_login .col_2 > .col + .col,
	.page_regist_index .col_2 > .col + .col {
		margin-top: 30px;
	}
	.page_regist .fsize_20,
	.page_login .fsize_20,
	.page_regist_index .fsize_20 {
		font-size: 18px!important;
	}
	.page_regist .section_cmn:first-child,
	.page_login .section_cmn:first-child,
	.page_regist_index .section_cmn:first-child {
		margin-top: 20px;
	}
	body:not(#page_detail) #contents .main {
		/* padding-top: 70px; */
	}
	.section_article_footer {
		/*margin: 50px 0;*/
		margin: 0 0 50px 0;
	}
	.section_article_footer .inner {
		padding: 50px 20px;
	}
	.section_article_footer .col_2 {
		flex-wrap: wrap;
	}
	.section_article_footer .col_2 > .col {
		width: 100%;
		margin-right: 0;
	}
	.section_article_footer .col_2 > .col + .col {
		margin-top: 50px;
	}
	.section_article_footer .ttl_article_footer {
		font-size: 14px;
	}
	.section_article_footer .ttl_name {
		font-size: 16px;
	}
	.section_article_footer p {
		font-size: 13px;
	}
	.btn_wrap.form .btns {
		display: flex;
		flex-wrap: wrap;
	}
	.btn_wrap.form .btns > li.active {
		order: 1;
	}
	.btn_wrap.form .btns > li.negative {
		order: 2;
		margin-top: 10px;
	}
	.section_black {
		padding-top: 3em;
	}
}

@media screen and ( max-width:320px )
{

}


.js_animation{
	opacity: 0;
	transform : translate(0, 50px);
	transition:1s ease-out;
}
.js_animation.active{
	opacity: 1;
	transform : translate(0, 0);
}