@charset "utf-8";

/* 日本語サイト */

/*
Theme Name: nuh.niigata-u.ac.jp
Theme URI:
Author: nuh
Author URI: https://www.nuh.niigata-u.ac.jp/
Description:
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nuh
*/
html {
	height: 100%;
	box-sizing: border-box;
}
*,
*:before,
*:after {
	box-sizing: border-box;
}
body {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-family: 'Open Sans' ,'Noto Sans JP', sans-serif, "游ゴシック", "Yu Gothic", Yu Gothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック";
	-webkit-text-size-adjust: 100%;
	line-height: 1.7;
	color: #333;
	height: 100%;
	position: relative;
	letter-spacing: 0.1em;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
main {
display:block;
}
header,main,article,section,nav,footer {
	display: block;
}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
	font-size: 100%;
}
ol li {
list-style: decimal;
}
input {
	font-family: 'Open Sans' ,'Noto Sans JP', sans-serif, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック"; line-height: 1.7em;
	color: #000;
	position: relative;
	letter-spacing: 0.1em;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
table.nowrap{min-width:100%;}
table.nowrap th, table.nowrap td {
white-space: nowrap;
}
fieldset,img {
	border: 0;
}
address,caption,cite,code,dfn,th,var {
	font-style: normal;
	font-weight: normal;
}
em {
	font-style: normal;
	font-weight: 500;
}
ol,ul {
	list-style: none;
}
caption{
	text-align: left;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
}

html{visibility:hidden;}
html.wf-active, html.wf-inactive{visibility:visible;}

::-webkit-input-placeholder { color: #ccc;}
::-moz-placeholder { color: #ccc; opacity: 1;}
:-ms-input-placeholder { color: #ccc;}
input:focus::-webkit-input-placeholder { color:transparent;}
input:focus:-moz-placeholder { color:transparent;}
input:focus::-moz-placeholder { color:transparent;}


/**********************************************
 * 全ページ共通
 *********************************************/
.pc_size {
		display:block !important;
}
.tab_size{
	display: none !important;
}
.tab_size_none{
	display: block !important;
}
.sp_size {
		display:none !important;
}
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
margin: 0;
padding: 0;
font-size: 100%;
}
h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-weight: normal;
}
ul {
list-style: none;
}

a {
text-decoration: none;
-webkit-transition: all ease 0.2s;
-moz-transition: all ease 0.2s;
-o-transition: all ease 0.2s;
transition: all ease 0.2s;
}
a, a:visited {
color: #333;
}
a:hover {
text-decoration: none;
}
em {
font-style: normal;
font-weight: 500;
}
img {
	vertical-align: bottom;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
body.fixed {
	position: fixed;
	width: 100%;
}
#wrapper{overflow: hidden;}
main{margin-top: 118px;}

/*--------------------------------------------------------
	header
--------------------------------------------------------*/
.header_wrap {
	position:fixed;
	z-index: 3000;
	background: #fff;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	transition: box-shadow 0.3s, transform 0.3s;
}
.header_wrap.scroll{box-shadow:0px 3px 6px rgba(0,0,0,0.16);}
.header_wrap.hide{
	box-shadow:none;
	transform:translateY(-105%);
}
.header_area {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1140px;
	padding:26px 20px;
	margin: auto;
	transition: 0.3s ease;
}
#logo a,#logo a img{
	display:block;
	position:relative;
	max-width:305px;
	z-index:2;
}
#menu-box {
	z-index: 1;
	margin-left: 10px;
}
#toggle {
	display: block;
	position: relative;
	width:60px;
	height: 60px;
	border-radius: 4px;
	overflow: hidden;
	top: 0;
	right: 0;
	z-index: 1000;
	float: right;
}
#toggle button {
	display: block;
	background: #0088CD;
	border: 1px solid #0088CD;
	color: #fff;
	text-decoration: none;
	font-size: 66.7%;
	width: 100%;
	height: 100%;
	text-align: center;
	box-sizing: border-box;
	letter-spacing: 0;
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	transition: background 0.3s,border 0.3s;
}
#toggle button:hover,#toggle button.open{
	background: #fff;
	color: #0088CD;
}
#toggle button span, #toggle button::before, #toggle button::after {
	content: "";
	font-size: 0;
	position: absolute;
	display: block;
	background: #fff;
	width: 26px;
	height: 2px;
	margin: auto;
	left: 0;
	right: 0;
	transition: top 0.3s,background 0.3s;
}
#toggle button:hover span, #toggle button:hover::before, #toggle button:hover::after {background: #0088CD;}
#toggle button::before {
	top: 14px;
}
#toggle button em::after {
	content: 'メニュー';
	position: absolute;
	width: 100%;
	left: 0;
	right: 0;
	top: 37px;
	margin: auto;
}
#toggle button span {
	top: 20px;
}
#toggle button::after {
	top: 27px;
}
#toggle button.open:before {
	-moz-transform: rotate(-35deg);
	-webkit-transform: rotate(-35deg);
	transform: rotate(-35deg);
	top: 21px;
	left: 0;
	right: 0;
	background: #0088CD;
}
#toggle button.open span {
	opacity: 0;
}
#toggle button.open:after {
	-moz-transform: rotate(35deg);
	-webkit-transform: rotate(35deg);
	transform: rotate(35deg);
	top: 21px;
	left: 0;
	right: 0;
	background: #0088CD;
}
.menu_dis {
	display: none !important;
}
#menu {
	display: block;
	padding-bottom:80px;
	background: #E4F2F9;
	position:fixed;
	left: 0;
	top: 116px;
	width: 100%;
	height: calc(100% - 64px);
	transition: all 0.3s;
	opacity: 1;
	z-index: 1000;
	overflow: auto;
}
.menu_in{
	max-width: 1140px;
    padding: 35px 20px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.menu_in h2{
	font-size: 125%;
	letter-spacing: 2px;
	margin:0 0 15px 0 !important;
	padding: 0 !important;
}
.menu_in h2::before{display: none;}
.menu_in_l{
	padding-right: 30px;
    margin-right: 30px;
    border-right: 1px dotted #CCCCCC;
	width: calc(100% - 230px);
}
.find_tab {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 0 10px;
	border-bottom: 1px solid #ccc;
}

.find_tab .tab_item {
	background: #F5F5F5;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-radius: 5px 5px 0 0;
	overflow: hidden;
	transition: all 0.3s;
}

.find_tab .active {
	background: #fff;
	margin-bottom: -1px;
}

.find_tab .active button:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2.5px;
	background: #0088CD;
	transition: all 0.3s;
}

.find_tab button:hover:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2.5px;
	background: #0088CD;
}

.find_tab .active,
.find_tab .tab_item:hover {
	background: #fff;
}

.find_tab .tab_item button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 0;
	font-size: 112.5%;
	transition: all 0.3s;
}
.menu_in_l .find_tab .tab_item button{
	font-size: 100%;
	padding: 9px 0;
}
.find_tab .tab_item button:hover {
	background: #fff;
}
.tab_link {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-align: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
	width: 100%;
}
.tab_area {
	background: #DEEDEF;
	padding:30px;
}

.find_list {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 20px;
}

.find_list li a {
	display: flex;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: 25px 10px;
	border: 2px solid #fff;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	transition: all 0.3s;
	transition: border 0.3s;
}

.find_list li.on a,.find_list li a:hover {
	border: 2px solid #0088CD;
}

.find_list li a span {
	background: url(img/arrow_right_blue.svg)left center no-repeat;
	background-position: left;
	background-size: 16px;
	padding-left: 22px;
	font-size: 112.5%;
}
.find_list li a p{
	font-size: 112.5%;
	margin-top: 12px;
	padding-left: 20px;
	background: url(img/arrow_right_blue.svg) no-repeat center left / 16px;
	transition: color 0.3s;
}
.find_list li.on a p,.find_list li a:hover p{color: #0088CD;}
.area{display: none;}
.menu_in_l .tab_area{
	padding: 20px;
}
.menu_in_l .find_list{
    gap: 10px;
}
.header_tab .find_list a{
	padding: 17px 10px 8px;
}
.header_tab .find_list img{
	width: 90px;
	height: auto;
}
.header_tab .find_list p{
	font-size: 81.25%;
}
.menu_list{
	width: 200px;
	overflow: hidden;
	border-radius: 5px;
	border: 1px solid #ccc;
}

.menu_item:not(:last-child){
	border-bottom: 1px solid #ccc;
}
.menu_link{
	display: block;
	padding: 13px 20px 13px 39px;
	background:#fff url(img/arrow_right_blue.svg) no-repeat center left 15px / 16px;
	font-size: 81.25%;
    letter-spacing: 1.3px;
	transition: background 0.3s,color 0.3s;
}
.menu_item.on .menu_link,.menu_link:hover{
	background: #E5F3FA url(img/arrow_right_blue.svg) no-repeat center left 15px / 16px;
	color: #0389CD;
}
/* sub_menu */
.header_r{
	display: flex;
	align-items: center;
}
.sub_menu{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.sub_menu_box ul,.sub_menu_box2 ul{
	display:flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
}
.sub_menu_box ul li{
	position:relative;
	padding:0 17px;
}
.sub_menu_box ul li:last-child{padding-right: 0;}
.sub_menu_box li:last-child:after{
	content:none;
}
.sub_menu_box ul li a{
	display:inline-block;
	font-size:112.5%;
}
.sub_menu_box ul li.on a,.sub_menu_box ul li a:hover{
	color:#0088CD;
}
.sub_menu_box ul li a::after{
	content: '';
	display: block;
	width: 0;
	height: 2px;
	background: #0088CD;
	transition: width 0.3s;
}
.sub_menu_box ul li.on a:after,.sub_menu_box ul li a:hover:after{width: 100%;}

.sub_menu_box2{
	display:flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 8px;
}
.sub_menu_box2_list{
	position: relative;
	padding-right: 30px;
}
.sub_menu_box2_list::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	margin: auto;
	width: 1px;
	height: 26px;
	background: #ccc;
}
.sub_menu_box2 ul li {
	position:relative;
	margin-left:8px;
	-webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	-o-transition: all ease 0.2s;
	transition: all ease 0.2s;
}
.sub_menu_box2 ul .sub_menu_btn:hover {
	cursor: pointer;
}
.sub_menu_box2 ul li:first-child{
	margin-left:0;
}
.sub_menu_box2 ul li:not(:last-child)::after{
	position: absolute;
	display: inline-block;
	content: '';
	width: 1px;
	height: 12px;
	background: #CCCCCC;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;

}

.sub_menu_box2 ul li .sub_menu_item{
	padding:3px 0;
	font-size:75%;
	transition: background 0.3s,color 0.3s;
	display: block;
	background: none;
}
.sub_menu_box2 ul li .sub_menu_item.mypage:hover{
	text-decoration: underline;
	color:#0088CD;;
}
.sub_menu_box2 ul li:last-child .sub_menu_item{padding-right: 0;}

/* アイコン共通レイアウト */

.sub_menu_box2 ul li .sub_menu_item span {
	position: relative;
    display: inline-block;
    padding-left: 20px;
	padding-right: 8px;
}
.sub_menu_box2 ul li:last-child .sub_menu_item span {padding-right: 0;}
.sub_menu_box2 ul li:hover .sub_menu_item span {
	transition: background 0.3s;
}

/* 共通アイコン枠 */
.sub_menu_box2 ul li .sub_menu_item span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain; /* サイズ固定 */
}

/* ----- 通常時のアイコン ----- */
.sub_menu_item.to_medical span::before { background-image: url(img/popup_bk.svg);width: 12px !important; }
.sub_menu_item.mypage span::before { background-image: url(img/icon_mypage.svg); }
.sub_menu_item.support span::before { background-image: url(img/icon_assistance.svg); }
.sub_menu_item.lang span::before{ background-image: url(img/icon_language.svg); }

/* ----- hover / active / focus 時に差し替え ----- */
.sub_menu_box2 ul li:hover .sub_menu_item.to_medical span::before {background-image: url(img/popup_b.svg);}
.sub_menu_box2 ul li:hover .sub_menu_item.mypage span::before {background-image: url(img/icon_mypage_blue.svg);}
.sub_menu_box2 ul li:hover .sub_menu_item.support span::before {background-image: url(img/icon_assistance_blue.svg);}
.sub_menu_box2 ul li:hover .sub_menu_item.lang span::before {background-image: url(img/icon_language_blue.svg);}
.sub_menu_box2 ul li .lang a[target="_blank"]{
	background:none;
	padding-right:0;
}
.sub_menu_box2 ul li:hover span{
	text-decoration: underline;
	color:#0088CD;
}
.header_font_in {
	position: absolute;
	top: 0;
	right: -90px;
	visibility: hidden;
	padding: 20px 19px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 5px rgb(0 0 0 / 30%);
	opacity: 0;
	z-index: 1;
 }
 .header_font_in.open {
	top: 50px;
	 right:-90px;
	display: block;
	opacity: 1;
	visibility: visible !important;
	transition: all 0.3s;
	 cursor:auto;
	 z-index: 3000;
  }
.font_box{
	display:flex;
	align-items: center;
	margin-bottom:18px;
}
.font_box_r{
	display:flex;
	margin-left:30px;
	border:1px solid #ccc;
	border-radius:5px;
	overflow:hidden;
}
.font_box_r a{
	display:block;
	color: #333;
	background:#fff;
	padding:5px 10px;
}
.font_box_r a:hover{
	background:#E4F2F9;
	color:#0088CD;
}
.font_zoom{
	font-size:93.75%;
	border-right:1px solid #ccc;
}
.font_ttl,.bg_ttl{
	width:75px;
	font-size:81.25%;
}
.bg_box{
	display:flex;
	align-items: center;
	margin-bottom:30px;
}
.bg_box_r{
	margin-left:30px;
}
.bg_box_r{
	display: flex;
	border:1px solid #ccc;
	border-radius:5px;
	overflow:hidden;
}
.bg_box_r a{
	display: block;
padding: 5px 10px;
	border-right:1px solid #ccc;
}
.bg_box_r a:last-child{
	border-right:none;
}
.bg_box_r .bg_white:hover{
	background:#E4F2F9;
}
.bg_box_r .bg_white{
	color:#333;
	background:#fff;
}
.bg_box_r .bg_black{
	color:#fff;
	background:#000000;
}
.bg_box_r .bg_black:hover{
	color:#0088CD;
	background:#E4F2F9;
}
.bg_box_r .bg_blue{
	color:#fff;
	background:#00008B;
}
.bg_box_r .bg_blue:hover{
	color:#0088CD;
	background:#E4F2F9;
}

/*
 		mypage				*/
.head_page_in{
	position: absolute;
	top: 0;
	right: 0;
   	width: 262px;
	visibility: hidden;
	padding: 20px 19px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 5px rgb(0 0 0 / 30%);
	opacity: 0;
	z-index: 1;
	cursor:auto;
}
.sub_menu_btn .head_page_in.open{
	top: 50px;
	right: -90px;
	display: block;
	opacity: 1;
	visibility: visible !important;
	transition: opacity, top 0.3s;
	cursor: auto;
	z-index: 2500;
}
.keep_list{
	margin-bottom:20px;
}
.keep_item{
	display: flex;
align-items: center;
	justify-content: space-between;
	padding:5px 0;
	margin:5px auto;
	border-bottom:1px dotted #ccc;
}
.keep_item:first-child{
	border-top:1px dotted #ccc;
}
.keep_item a{
	display:block;
	width:100%;
	background: url(img/arrow_right_blue.svg)left center no-repeat;
	background-position:left 10px center;
	background-size: 16px;
	padding-left: 30px;
}
.keep_item a:hover{
	color:#0088CD;
	text-decoration:underline;
}
.keep_btn{
	cursor:pointer;
	display:block;
	border: 1px solid #0088CD;
	padding: 5px;
	border-radius: 5px;
	width:100%;
	margin: 0 auto 15px auto;
	color:#0088CD;
	background:#fff;
	font-size:87.5%;
	text-align:center;
	-webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	-o-transition: all ease 0.2s;
	transition: all ease 0.2s;
}
.keep_btn.checked{
	color:#fff!important;
	background:#0088CD!important;
	pointer-events: none;
}
.keep_btn:hover{
	color:#0088CD;
	background:#E4F2F9;
}
.mylist_btn.dis{
	color:#ccc;
	border: 1px solid #ccc;
	pointer-events: none;
}
.snav_mylist_btn.dis{
	color:#ccc;
	border: 1px solid #ccc;
	pointer-events: none;
}
.close_btn2{
	display:flex;
	width:65px;
	padding:5px;
	border:1px solid #ccc;
	border-radius:3px;
	position:relative;
	align-items:center;
transition:all .3s ease;
}
.close_btn2:hover{
	background-color:#E4F2F9;
	transition:all .3s ease;
}
.close_btn2 img{
	width: 12px;
}
.close_btn2:after{
	content:"削除";
	position:absolute;
	right:3px;
	font-size:68.75%;
	line-height:1.0;
}
.close_btn2:hover{
	cursor:pointer;
}
.close{
	cursor:pointer;
	display: flex;
	justify-content: center;
	border: 1px solid #ccc;
	padding: 5px;
	border-radius: 30px;
	max-width: 125px;
	margin: auto;
	font-size:87.5%;
	-webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	-o-transition: all ease 0.2s;
	transition: all ease 0.2s;
}
.close:hover{
	background:#E4F2F9;
}
.close .close_btn{
	padding-left:24px;
	background: url(img/icon_cross.svg) no-repeat left center;
background-size: 10px;
	font-size:87.5%;
	line-height:2.2;
}

/* ================================
   スクロール時に head_page_in を隠す
   ================================ */
.head_page_in {
    transition: transform 0.1s linear;
}
 	検索ボタン			*/


.search_smp{
	display:none;
}
.serch_pc{
	position:relative;
	margin-left:30px;
}

/*--------------------------------------------------------
	search
--------------------------------------------------------*/
.modal_open{
	display:flex;
	align-items: center;
	justify-content: center;
	width:60px;
	height:60px;
	border-radius:4px;
	border: 1px solid #CCCCCC;
	cursor:pointer;
	text-decoration:none;
	transition:opacity 0.3s;
	background:url(img/icon_search.svg) no-repeat top 12px center;
	position: relative;
	transition: background 0.3s;
}
.modal_open:hover{background:#E4F2F9 url(img/icon_search_blue.svg) no-repeat top 12px center;}
.modal_txt{
	display:block;
	position:absolute;
	content: '';
	font-size:68.75%;
	bottom: 3px;
	transition: color 0.3s;
}
.modal_open:hover .modal_txt{
	color: #0088CD;
}
.modal_content{
	position:fixed;
	display:none;
	z-index:5000;
	text-align:center;
	max-width:526px;
	width: 100%;
  padding: 20px; /* 上下にも余白をつくる */
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;

}
.search_box{
	position:relative;
	width:100%;
	margin-bottom:35px;
	background:#fff;
}
.search_txt{
	display:block;
	width:100%;
	padding:20px 60px 19px 20px;
	background:none;
	border:none;
	box-sizing:border-box;
	font-size:112.5%;
}
.search_txt::placeholder{color:#aaa;}
.search_btn{
	display:block;
	position:absolute;
	top:0;
	right:0;
	font-size:0;
	width:60px;
	height:69px;
	background:url(img/icon_search.svg) no-repeat center/30px;
	border:none;
	cursor:pointer;
}
.modal_close{
	position:relative;
	display:inline-block;
	padding-left:20px;
	color:#fff !important;
	text-decoration:none !important;
	cursor:pointer;
}
.modal_close:hover{text-decoration:underline !important;}
.modal_close::before, .modal_close::after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:6px;
	width:2px;
	height:14px;
	margin:auto;
	background:#fff;
}
.modal_close::before{transform:rotate(45deg);}
.modal_close::after{transform:rotate(-45deg);}
#s_overlay{
	display: none;
	position:fixed;
	z-index:3000;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,136,205,0.85);
}

/*--------------------------------------------------------
	footer
--------------------------------------------------------*/
footer {
position: relative;
}
/* f_menu */
.f_list{
	display:flex;
	flex-wrap:wrap;
}
.f_item{
	margin-right:15px;
}
.f_item a:hover,.f_link:hover{
	text-decoration: underline;
	color:#0088CD;
}
.f_content{
	position: relative;
	padding: 30px 0 10px 0;
}
.f_content .f_link span{
	background: url(img/arrow_right_blue.svg)left center no-repeat;
	background-position: left;
	background-size: 16px;
	padding-left: 22px;
}
.f_content .f_content_item .f_tel_txt{
	font-size:75%;
}
.f_content .f_content_item .f_tel_num{
	font-size:125%;
}
.f_content_box{
	max-width: 1140px;
	margin:auto;
	padding:0 20px;
}
.f_content_box_in{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	padding-bottom:30px;
	border-bottom:1px dotted #ccc;
}
.f_content_box_in > div{
	padding-right:25px;
	margin-right:20px;
	border-right:1px dotted #ccc;
}
.f_content_box_in > div:first-child a{
	display: block;
	max-width: 403px;
	width: 100%;
	height: 100%;
}
.f_content_box_in > div:first-child a img{width: 100%;}
.f_content_box_in > div:last-child{
	padding-right:0;
	margin-right:0;
	border-right:none;
}
.f_menu{
	max-width: 1140px;
	padding: 0 20px;
	margin: 0 auto 15px auto;
}
/* f_sub_menu */
.f_sub_menu_in{
	max-width: 1140px;
	padding: 0 20px;
	margin:auto;
}
.f_sub_list{
	display:flex;
	flex-wrap:wrap;
	margin: 0 auto 15px auto;
	padding:20px 0;
	border-bottom:1px dotted #ccc;
}
.f_sub_list .f_item{
	margin-right:30px;
}
.f_sub_list .f_item a{
	font-size:75%;
}

/*
 			f_link_menu
 									*/
.f_link_menu ul{
	display:flex;
	flex-wrap:wrap;
}
.f_link_menu a {
	font-size:75%;
	background: none !important;
}
.f_link_menu a {
	background-position: left!important;
	background-size: 11px!important;
}
.f_link_menu a span{
	background: url(img/popup_b.svg)left center no-repeat;
	background-size: 10px;
	padding-left: 17px;
}
.f_content_b{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	max-width: 1140px;
	padding: 0 20px;
	margin: auto;
}

.return {
	clear: both;
	position: fixed;
	bottom: 80px;
	right: 10px;
	z-index: 2500;
	display: none;
	background: #0088CD url(img/pagetop_white.svg) center no-repeat;
	width: 50px;
	height:50px;
	border-radius:35px;
	transition-duration: 0.2s;
	font-size: 0;
	text-decoration: none;
	cursor: pointer;
}
.return:hover {
	background: #6dceff url(img/pagetop_white.svg) center no-repeat;
}
#copyright p {
	margin: 0;
}
.gsc-selected-option-container{max-width: 100% !important;}



/**********************************************
 * 共通
 *********************************************/
[href^="tel:"]{
	pointer-events:none;
	text-decoration:none;
}

@media screen and (max-width: 1200px) {
.f_content_box_in > div:first-child a{max-width: 300px;}
}
@media screen and (max-width: 1024px) {

/**********************************************
 * 全ページ共通
 *********************************************/
	.tab_size{
		display: block !important;
	}
	.tab_size_none{
		display: none !important;
	}
	main{margin-top: 80px;}
	/*--------------------------------------------------------
			header
	--------------------------------------------------------*/
	#logo a, #logo a img{
		max-width:250px;
	}
	.header_area{padding: 10px;}
	.header_area.hide {
		transform: translateY(-100%);
	}
	#logo {
		width: 230px;
	}
	#menu{top: 80px;}
	.menu_in{
		display: block;
		margin-bottom: 40px;
	}
	.menu_in_l{
		width: 100%;
		border-right: none;
		padding-right: 0;
		margin-right: 0;
		margin-bottom: 40px;
	}
	.menu_in_r{margin-bottom: 20px;}
	.menu_list{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.menu_item {
		width: 25%;
		border-bottom: none;
	}
	.menu_item:nth-child(n+5):nth-child(-n+8) {border-bottom: none;}
	.menu_item:not(:nth-child(4)):not(:nth-child(8)){border-right: 1px solid #ccc;}
	.menu_link{font-size: 92.86%;}

	.sub_menu_box2.tab_size ul{
		display: grid;
		grid-template-columns: repeat(4,1fr);
		gap: 10px;
	}
	.sub_menu_box2.tab_size ul li{
		border: 1px solid #ccc;
		border-radius: 4px;
		background: #fff;
		margin: 0;
		text-align: center;
	}
	.sub_menu_box2.tab_size ul li::after{display: none;}
	.sub_menu_box2.tab_size ul li .sub_menu_item{padding: 12px 10px}

	/* sub_menu */
	.sub_menu_box,.sub_menu_box2{display: none;}
	.sub_menu_box2 ul li .sub_menu_item span{padding-right: 0;}

	/* 検索ボタン */
	.search_smp {
		position:relative;
		display:block;
	}
	#form2{
		padding:0 20px;
	}
	#sbox2{
		width:100%;
		border:1px solid #ccc;
		border-radius:5px;
		height:55px;
		padding:10px 50px 10px 10px;
		outline:0;
	}
	#sbox_img{
		position:absolute;
		right:40px;
		top:calc(50% - 10px);
	}
	/* mypage */
	.keep_btn{
		padding: 10px 5px;
		font-size: 100%;
	}

	/*--------------------------------------------------------
			footer
	--------------------------------------------------------*/

	.f_content_box_in > div{
		padding-right:0;
		margin-right:0;
		width: 50%;
		display: flex;
		justify-content: center;
		align-items: baseline;
	}
	.f_content_box_in > div:first-child{border-right: none;width: 100%;}
	.f_content_box_in > div:first-child a{margin: 0 auto 30px;}
	.f_content .f_link span{
		font-size:75%;
	}
	.f_content .f_content_box .f_link span{
		font-size:81.25%;
	}
	.f_sub_list .f_item a{
		font-size:68.7%;
	}
	.f_link_menu a{
		font-size:68.7%;
	}
	.f_sub_list .f_item{
		margin:0 10px;
	}
	.f_item{margin: 0 7px;}
	.f_sub_list,.f_link_menu ul{justify-content: center;}

	.f_content_b > div{
		width:100%;
	}
	#copyright{
		margin-top:10px;
		text-align:center;
	}
}



@media screen and (max-width: 767px) {
	[href^="tel:"]{
		pointer-events:all;
	}
	.pc_size {
		display:none !important;
	}
	.sp_size {
		display:block !important;
	}
	body {
		-webkit-text-size-adjust: 100%;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		font-size: 87.5%;
		min-width: 0;
	}
	img{
		width:auto;
		height:auto !important;
		max-width:100%;
		width:100%;
		margin:auto;
	}
	.return {
		width: 50px;
		height: 50px;
	}
	main{margin-top: 70px;}
	/*--------------------------------------------------------
			header
	--------------------------------------------------------*/
	.header_area{padding: 10px;}
	.serch_pc{margin-left: 15px;}
	.modal_open{
		width: 50px;
		height: 50px;
		background-position: top 9px center;
	}
	.modal_txt{
		font-size: 64.29%;
		bottom: 2px;
	}
	#menu-box{margin-left: 7px;}
	#toggle{
		width: 50px;
		height: 50px;
	}
	#toggle button{
		font-size: 64.29%;
		line-height: 9px;

	}
	#toggle button::before {top: 9px;}
	#toggle button span {top: 16px;}
	#toggle button::after {top: 23px;}
	#toggle button em::after{
		top: 34px;
	}
	#toggle button.open::before,#toggle button.open:after{top: 18px;}
	#menu{top: 69px;}
	.menu_in{padding: 27px 20px;}
	.menu_in h2{font-size: 142.86%;}
	.menu_in_l .tab_area{padding: 10px;}
	.tab_area {
		padding: 10px 20px 35px 20px;
	}

	.find_list{
		grid-template-columns: repeat(2,1fr);
	}
	.find_list li {
		width: 100%;
	}

	.find_list li a {
		padding: 15px 5px 15px 20px;
	}

	.find_list li a span {
		padding-left: 35px;
		font-size: 107.14%;
	}

	.find_tab .tab_item button {
		font-size: 92.85%;
		padding: 5px 10px;
		height: 100%;
	}
	.find_list img{width: 70px !important;}
	.find_list li a p{
		margin-top: 18px;
		font-size:92.8%;
	}

	.menu_item{
		width: 100%;
		border-right: none !important;
	}
	.menu_item:nth-child(n+5):nth-child(-n+7){border-bottom: 1px solid #ccc;}
	.sub_menu_box2.tab_size{
		display: flex !important;
		justify-content: center;
		margin-bottom: 30px;
	}
	.sub_menu_box2.tab_size ul{
		grid-template-columns: repeat(2,165px);
	}
	.sub_menu_box2.tab_size ul li .sub_menu_item{font-size: 85.74%;}
	.sub_menu_btn .head_page_in.open{right: 0;}

	--------------------------------------------------------
			footer
	--------------------------------------------------------*/

	.f_content_box_in{
		margin-bottom:0;
		padding-bottom:0;
		border-bottom:none;
		text-align:center;
	}
	.f_content_item img{
		width:100%;
		max-width:230px;
	}
	.f_content_box_in > div{
		width:100%;
		padding-right:0;
		margin:0 0 10px 0;
		border-right:none;
	}
	.f_content_box_in > div:first-child a{
		margin-bottom: 0;
		width: 230px;
	}
	.f_content_box_in > div:last-child{
		padding-top:20px;
		margin-bottom:20px;
		border-top:1px dotted #ccc;
		justify-content: center;
		text-align: left;
	}
	.f_t_content{
		display:block;
	}
	.f_content_box_in{
		padding-bottom: 0;
		border-bottom: none;
	}
	.f_menu{
		border-top:1px solid #EFEFEF;
		padding:0;
		margin-bottom:0;
	}
	.f_sub_menu_in{
		padding:0;
	}
	.f_sub_list{
		border-top: 1px solid #EFEFEF;
		padding:0;
		margin-bottom:0;
		border-bottom: none;
	}
	.f_sub_list .f_item{
		margin:0;
	}
	.f_content_b{
		padding:0;
	}
	.f_list, .f_sub_list, .f_link_menu ul{
		justify-content:unset;
	}
	.f_item{
		margin: 0;
		width: 50%;
		border-bottom:1px solid #EFEFEF;
	position: relative;
		padding: 10px;
	}
	.f_sub_menu .f_item:nth-child(2n)::before {
		content: '';
		position: absolute;
		left: 0;
		top: calc(50% - 9px);
		width: 1px;
		height: 18px;
		background: #eee;
	}
	.f_item:nth-child(2n){
		border-right:none;
	}
	.f_item a{
		/*padding: 10px 20px;*/
		display:block;
	}
	.f_content_b .f_item:last-child{
		border-bottom:1px solid #EFEFEF;
	}
	.f_content .f_link span{
		font-size:93.3%;
	}
	.f_content .f_content_box .f_link span{
		font-size:114.2%;
	}
	.f_sub_list .f_item a{
		font-size:78.5%;
		text-align: center;
	}
	.f_link_menu .f_item{width: 100%;}
	.f_link_menu a{
		font-size:85.7%;
		text-align: center;
		padding-right: 0 !important;
	}
	.copy_txt{
		font-size:71.4%;
	}
}

/***************************************************
 * Concept
 **************************************************/

.wp-pagenavi {
	margin-top: 60px;
text-align: center;
}
.wp-pagenavi .pages {
display: none;
}
.wp-pagenavi a, .wp-pagenavi span {
   padding: 10px 12px;
	min-width: 48px;
margin: 4px;
color: #222 !important;
display: inline-block;
text-decoration: none !important;
}
.wp-pagenavi span.current {
	background: #6dceff;
	color: #fff !important;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
border-color: #0088CD;
	background: #0088CD;
	color: #fff !important;
	font-weight: bold;
}
.content_area .pagenav {
	width: 100%;
text-align: center;
	margin: 40px 0;
}

.single #main_img_child .pagetit_box h1 {
font-size: 213.33%;
font-weight: bold;
letter-spacing: 0.1em;
position: relative;
padding-bottom: 35px;
	line-height: 1.2;
}
.single #main_img_wrap {
padding: 70px 20px 0;
}
@media screen and (max-width:767px){
	.wp-pagenavi a, .wp-pagenavi span {
		padding: 3px 10px;
		min-width:auto;
	}
}

/***************************************************
 * Sitemap
 **************************************************/
 .sitemap .content_area {
margin-bottom: 80px;
}
.sitemap .content_area  a {
color: #222;
	text-decoration:underline;
}
.sitemap .content_area a:hover{
	text-decoration:none;
}


/***************************************************
 * Error
 **************************************************/
.content_area.error {
margin-bottom: 80px;
}
.content_area.error a {
color: #222;
text-decoration: none;
}
.content_area.error a:hover {
text-decoration: underline;
}

/***************************************************
 * Outline
 **************************************************/

.overview ul {
	margin: 0;
	padding-left: 0;
}
.overview ul li {
	list-style: none;
}



/***************************************************
 * 後でチャイルドに
 **************************************************/

.column_2, .column_3{
	display:flex;
	flex-wrap:wrap;
}
.column_2 div{
	width:48%;
	margin:0 4% 20px 0;
}
.column_2 div:nth-child(2n){margin-right:0;}
.column_3 div{
	width:32%;
	margin:0 2% 25px 0;
}
.column_3 div:nth-child(3n){margin-right:0;}

/**/
.column_table {
	display:flex;
	flex-wrap:wrap;
}
.column_table .table_box{
	width:48%;
	margin:0 4% 20px 0;
}
.column_table .table_box:nth-child(2n){margin-right:0;}
/**/


@media screen and (max-width:767px){

.column_2, .column_3{display:block;}
.column_2 div, .column_3 div{
	width:auto;
	margin:0 0 15px;
}

	.column_table {
	display:block;
}
.column_table .table_box{
	width:auto;
	margin:0 0 15px;
}

}


/***************************************************
 * スキップリンク
 **************************************************/
.head_skip p{
	margin:0;
	padding:0;
	border:0;
	background:none;
	line-height:0;
}
.head_skip a:LINK{ text-decoration:underline!important; color:#1e4772!important; }
.head_skip a:VISITED { text-decoration:underline!important; color:#791e78!important; }
.head_skip a:ACTIVE  { text-decoration:underline!important; color:#CC0000!important; }
.head_skip a:HOVER   { text-decoration:underline!important; color:#CC0000!important; }
.head_skip {
	position: relative;
}
.head_skip a{
background-color: #ffffff;
color: #000000;
font-size: 0.1%;
left: -3000px;
line-height: 0.1;
position: absolute;
width: 1px;
z-index: 9999;
}
.head_skip a{
background-color: #ffffff;
padding: 4px 0;
text-align: center;
top: auto;
}
.head_skip a:active {
display: block;
font-size: 100%;
left: 0;
line-height: 1.6;
top: 0;
width: 99.99%;
}
.head_skip a:focus {
display: block;
font-size: 100%;
left: 0;
line-height: 1.6;
top: 0;
width: 99.99%;
}
/***************************************************
 * スキップリンクここまで
 **************************************************/
/* ===== iPhone/iPadでメニューリンクが反応しない問題対策 ===== */
#menu-box:not(.open) #menu {
  pointer-events: none !important;
  opacity: 0;
  visibility: hidden;
}
#menu-box.open #menu {
  pointer-events: auto !important;
  opacity: 1;
  visibility: visible;
}
#menu-box.open .menu_in_r,
#menu-box.open .menu_in_l,
#menu-box.open .find_list a,
#menu-box.open .menu_link {
  pointer-events: auto !important;
  z-index: 2001 !important;
  position: relative;
}
