@charset "utf-8";

/* -----------------------------------------------------------
共通パーツ
------------------------------------------------------------- */
html {
  font-size: 62.5%; /* 10px */
  margin: 0 !important;
}
body {
	font-family: "小塚ゴシック Pro", "Kozuka Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	/* color: #333; */
	color: #000;
	font-size: 1.4rem;
	line-height: 160%;
}
main{padding-top:106px;}
@media (max-width: 768px) {
  body { font-size: 1.8rem; }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.underline_none{
	text-decoration: none!important;
}
@media(max-width:768px){
	.sp_none {
		display: none !important;
	}
}
@media(min-width:769px){
	.pc_none {
		display: none !important;
	}
}
.txtC { text-align: center; }
.txtR{	text-align: right;}
.txtL{	text-align: left;}
.txtJ{ text-align: justify;}
.bold{	font-weight: bold;}

.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {    clear: both; }
.cf {    *zoom: 1; }

.w100{width:100%;}
.w30{width:28%;}
.w50{width:48%;}
.w70{width:68%;}
@media(max-width:768px){
	.w30,.w50,.w70{width:100%;}
}

/*_____フレックス_____*/
.flex{
	display: -ms-flexbox;
	display: flex;
}
.flex_reverse{
	flex-direction: row-reverse;
}
.justC{justify-content: center;}
.justB{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.justA{
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.justE{
	justify-content: end;
}
.flexW{
	flex-wrap: wrap;
}
.alignS{align-items: start; }
.alignC{align-items: center;}
.alignB{align-items: baseline;}
@media (max-width: 768px) {
	.sp_flclear{
		display: block;
	}
}

/*_____余白_____*/
.m0auto{margin: 0 auto}
.p_reset{padding: 0px!important;}

.mb0{margin-bottom: 0;}
.mb10{margin-bottom: 10px;}
.mb15{margin-bottom: 15px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}

.mt0{margin-top: 0;}
.mt10{margin-top: 10px;}
.mt15{margin-top: 15px;}
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.mt50{margin-top: 50px;}
.mt80{margin-top: 80px;}

.mar10{margin:10px;}
.mar15{margin:15px;}
.mar20{margin:20px;}
.mar30{margin:30px;}

.mr10{margin-right:10px;}
.mr15{margin-right:15px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}
.mr50{margin-right:50px;}

.ml10{margin-left:10px;}
.ml15{margin-left:15px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml40{margin-left:40px;}
.ml50{margin-left:50px;}

.pt10{padding-top:10px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}
.pt40{padding-top:40px;}
.pt50{padding-top:50px;}

.pb10{padding-bottom:10px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pb40{padding-bottom:40px;}
.pb50{padding-bottom:50px;}

@media (max-width: 768px){
  .sp_mb0{margin-bottom: 0;}
  .sp_mb10{margin-bottom: 10px;}
  .sp_mb15{margin-bottom: 15px;}
  .sp_mb20{margin-bottom: 20px;}
  .sp_mb30{margin-bottom: 30px;}
  .sp_mt0{margin-top: 0;}
  .sp_mt10{margin-top: 10px;}
  .sp_mt15{margin-top: 15px;}
  .sp_mt20{margin-top: 20px;}
  .sp_mt30{margin-top: 30px;}
}

/*_____テキスト_____*/
.tx7 {	font-size: 7px; }
.tx9 {	font-size: 9px;  line-height: 170%; }
.tx10 {	font-size: 10px; line-height: 170%; }
.tx11 {	font-size: 11px; line-height: 170%; }
.tx12 {	font-size: 12px; line-height: 170%; }
.tx13 {	font-size: 13px; line-height: 170%; }
.tx14 {	font-size: 14px; line-height: 170%; }
.tx15 {	font-size: 15px; line-height: 150%; }
.tx16 {	font-size: 16px; line-height: 170%; }
.tx17 {	font-size: 17px; line-height: 170%; }
.tx18 {	font-size: 18px; line-height: 130%; }
.tx19 {	font-size: 19px; line-height: 130%; }
.tx20 {	font-size: 20px; line-height: 130%; }
.tx22 {	font-size: 22px; line-height: 130%; }
.tx23 {	font-size: 23px; line-height: 130%; }
.tx24 {	font-size: 24px; line-height: 130%; }
.tx25 {	font-size: 25px; line-height: 130%; }
.tx26 {	font-size: 26px; line-height: 130%; }
.tx27 {	font-size: 27px; line-height: 130%; }
.tx28 {	font-size: 28px; line-height: 130%; }
.tx30 {	font-size: 30px; line-height: 130%; }
.tx10h {font-size: 10px; line-height: 200%; }
.tx11h {font-size: 11px; line-height: 200%; }
.tx12h {font-size: 12px; line-height: 200%; }
.tx13h {font-size: 13px; line-height: 200%; }
.tx14h {font-size: 14px; line-height: 190%; }
.tx15h {font-size: 15px; line-height: 180%; }
.tx17h {font-size: 17px; line-height: 200%; }
.tx22h {font-size: 22px; line-height: 180%; }
.tx24h {font-size: 24px; line-height: 200%; }
.tx25h {font-size: 25px; line-height: 200%; }
.tx26h {font-size: 26px; line-height: 200%; }
.tx27h {font-size: 27px; line-height: 200%; }
.tx28h {font-size: 28px; line-height: 200%; }
.tx29h {font-size: 29px; line-height: 200%; }
.tx30h {font-size: 30px; line-height: 200%; }

/*_____リンク_____*/
a,
a:link {
	text-decoration: none;
}
a{
	color: #000;
}
a:visited {
	text-decoration: none;
}
a:hover {
  opacity: 0.7;
}

.blue{
	color:#2D8DE0;
}

/* -----------------------------------------------------------
ヘッダー
------------------------------------------------------------- */
header{
	position: fixed; /* ヘッダーを固定する */
top: 0; /* 上部から配置の基準位置を決める */
left: 0; /* 左から配置の基準位置を決める */
width: 100%; /* ヘッダーの横幅を指定する */
background-color: #fff;
z-index: 9999;
}
/*スマホ用*/

.header_sp{
	height: 106px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.hamburger-menu {
	width: 50px;
	height: 50px;
	position: relative;
	border: none;
	background: transparent;
	appearance: none;
	padding: 0;
	cursor: pointer;
	font-size: 24px;
}
.hamburger-menu_bar {
	display: inline-block;
	width: 100%;
	height: 3px;
	background: #2D8DE0;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	transition: .5s;
}
.hamburger-menu_bar:first-child {
	top: 12px;
}
.hamburger-menu_bar:nth-child(2) {
	top: 25px;
}
.hamburger-menu_bar:last-child {
	top: 38px;
}
.hamburger-menu--open .hamburger-menu_bar {
	top: 50%;
}
.hamburger-menu--open .hamburger-menu_bar:first-child {
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu_bar:last-child {
	transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu_bar:nth-child(2) {
	display: none;
}
.navigation_sp {
	display: none;
	position: absolute;
	top: 106px;
	width: 100%;
	z-index: 9999;
	height: 85vh;
  overflow: auto;
}

.navigation_list_sp {
	text-align: center;
	list-style: none;
	padding: 0;
	margin: 0;
  background-color: #FFF;
}
.navigation_list-item_sp {
	border-bottom: solid 2px #fff;
}
.navigation_list-item_sp:last-child {
	border-bottom: none;
}
.navigation_link_sp {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	display: block;
	padding: 20px 30px;
	transition: .5s;
	font-size: 24px;
	text-align: left;
	background: #52A5D4;
}
@media (hover: hover) and (pointer: fine) {
	.navigation_link_sp:hover {
		background-color: #8AB7D3;
	}
}

.child_item_sp,.child_item_pc{ display: none; }

.has_child_sp{
	position: relative;
}
.has_child_sp span{
	position: relative;
  display: block;
  position: absolute;
  right: 20px;
  top: 21px;
  background-color: #fff;
  border-radius: 100%;
  width: 35px;
  height: 35px;
}
.has_child_sp::before{/* 閉じている時 */
	content: "";
  display: block;
  background-color: #52A5D4;
  position: absolute;
  height: 3px;
  width: 17px;
  top: 37px;
  right: 29px;
  z-index: 99999;
}
.has_child_sp::after{
	content: "";
	background-color: #52A5D4;
	position: absolute;
	height: 17px;
	width: 3px;
  top: 30.5px;
  right: 36px;
  z-index: 99999;
  transition: all 0.3s;
}
.has_child_sp.active::after{ /* 開いている時 */
  transform: rotate(90deg);
  /* display: none; */
}
.has_child_sp li a{
	color: #52A5D4;
	padding: 40px 40px 40px 80px;
	font-size: 24px;
	text-align: left;
	background: #fff!important;
}
.child_navigation_link_sp{
	color: #52A5D4;
	font-weight: 700;
	text-decoration: none;
	display: block;
	padding: 15px 30px 15px 50px;
	transition: .5s;
	font-size: 22px;
	text-align: left;
	background: #fff;
}
.child_navigation_link_sp:hover{
	color: #fff;
	background: #52A5D4;
}
.child_item_list_sp{
	border-bottom: solid 2px #52A5D4;
}
.child_item_list_sp:last-child{
	border-bottom: none;
}

/*pc用*/
.header_pc{
	padding: 15px 40px;
	height: 106px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.header_pc .logo{
	max-width: 18%;
}
.navigation_pc .navigation_list_pc .navigation_list-item_pc{
	display: inline-block;
}
.navigation_link_pc {
	color: #000;
	font-weight: 500;
	text-decoration: none;
	transition: .5s;
	font-size: 16px;
	text-align: left;
	padding: 1em;
}
.has_child_pc span{
	position: relative;
	display: inline-block;
	padding: 10px;
}
.has_child_pc span::before{
	content: '';
  width: 10px;
  height: 10px;
  border-top: solid 3px #2D8DE0;
  border-right: solid 3px #2D8DE0;
  position: absolute;
  left: 10px;
  top: 4px;
}
.has_child_pc span::before{
	transform: rotate(135deg);
}
.child_item_pc{
	position: absolute;
	top: 106px;
}
.child_navigation_link_pc {
	color: #fff;
	font-weight: 500;
	font-size: 16px;
	text-align: left;
	padding: 0.7em 1em;
	background-color: #2D8DE0;
	display: block;
	transition: .5s;
}
.child_navigation_link_pc:hover{
	background-color: #8AB7D3;
}
.child_item_list_pc{
	border-bottom: #fff solid 1px;
}
@media(max-width:1235px){
	.header_pc{
		padding: 15px 20px;
	}
	.navigation_link_pc {
		padding: 1em 0.5em;
	}
}
@media(min-width:1080px){
	.header_sp{
		display: none;
	}
}
@media(max-width:1079px){
	.header_pc{
		display: none;
	}
}
/* -----------------------------------------------------------
フッター
------------------------------------------------------------- */
footer{
	background-color:#4D4D4D ;
	text-align: center;
	color: #fff;
	font-size: 18px;
	height: 65px;
	width: 100%;
}
footer p{
	position: relative;
  top: 35%;
  line-height: 1.2;
  font-size: 12px;
}
@media(min-width:769px){
  footer p {
    font-size: 16px;
  }
}

/* -----------------------------------------------------------
共通パーツ
------------------------------------------------------------- */

h1{
	font-size: 35px;
}
h2{
	font-size: 18px;
	color: #2D8DE0;
	font-weight: bold;
	line-height: 1.1em;
	font-family: "Avenir","小塚ゴシック Pr6N","メイリオ", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	margin-bottom: 10px;
}
.midashi{
	font-size: 22px;
}
.small_midashi{
	font-size: 20px;
}
@media(max-width:420px){
	h1{
		font-size: 30px;
	}
	h2{
		font-size: 16px;
	}
}
h1.main_title_jp{
	font-size: 26px;
}
@media(min-width:769px){
	h1.main_title_jp{
		font-size: 45px;
	}
	h2.main_title_en{
		font-size: 30px;
		margin-bottom: 25px;
	}
	.main_visual{
		max-height: 485px;
		padding: 50px 10px;
	}
}
.container{
	max-width: 1080px;
	width: 95%;
	margin: auto;
	padding: 30px 0px;
}
section {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 30px 0;
}
p,label,a{
  font-size: 16px;
  line-height: 1.7em;
  font-weight: 500;
}

.button {
	text-align: center;
	width: 85%;
	max-width: 400px;
	transition: 0.5s;
	margin: auto;
}

.button div {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transform: translateY(10px);
  width: 250px;
  margin: 0 auto;
  padding: .2em 0;
  border: 2px solid #2d8de0;
  border-radius: 25px;
  background-color: #fff;
}

.button button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 400px;
  margin: auto;
  padding: 0.8em 1em 0.8em 0.2em;
  border: none;
  border-radius: 43px;
  background-color: #2d8de0;
  color: #fff;
}

.button button.kunoji::before {
  transform: rotate(45deg);
  width: 15px;
  height: 15px;
  margin-right: 60px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: '';
}

.button button.lens::before{
	content: "";
	background-image: url(../imgs/mushimegane_icon.png);
	background-repeat: no-repeat;
	position: relative;
	width: 40px;
	height: 40px;
	display: inline-block;
	vertical-align: middle;
	left: -50px;
}
.button button.newsbtn::before {
	content: "";
	background-image: url(../imgs/search_icon.png);
	background-repeat: no-repeat;
	position: relative;
	width: 40px;
	height: 40px;
	display: inline-block;
	vertical-align: middle;
	left: -50px;
}
.button:hover{
	opacity: 80%;
}
/*メインビジュアル*/
.main_visual{
	background-color: #F7FAFF;
	max-height: 300px;
	padding: 30px 10px;
}
.main_visual_img{
	max-width: 300px;
	width: 45%;
}

@media(min-width:769px){
	.main_visual{
		max-height: 485px;
		padding: 50px 10px;
	}
	.main_title{
		margin-right: 50px;
	}
	.main_visual_img{
		max-width: 500px;
		margin-left: 50px;
	}
}

.greeting_img{
	text-align: center;
  max-width: 200px;
  margin: 0 auto;
}
@media(min-width:769px){
	.greeting_img{
		text-align: right;
		margin-top: 30px;
    max-width: 100%;
	}
}

/* パスワード入力フォームの位置調整 */
.post-password-message {
  margin: 120px 2em 0 2em;
}
.post-password-form {
  margin: 0 2em 100px 2em;
}

/* -----------------------------------------------------------
トップページ
------------------------------------------------------------- */

.top_bg_blue{
	background-color: #F7FAFF;
}
.top_bg_blue > .container{
	padding: 20px 0;
}
.top_main_visual{
	background-image: url(../imgs/main_image_00_sp.png);
	height: 35vh;
	background-size: cover;
	background-repeat: no-repeat;
	text-align: center;
	background-position: center;
	border-radius: 10px;
}
.top_main_visual h1{
	color: #fff;
	text-shadow: #274A6D 1px 1px 20px;
}
.top_shadow_button{
	box-shadow: 0px 0px 10px -5px #787878;
	background-color: #fff;
	border-radius: 10px;
	display: block;
	width: 95%;
	max-width: 500px;
	margin: auto;
	position: relative;
}
.top_shadow_button img{
	max-width: 70%;
}
.top_shadow_button span{
	position: absolute;
	top:auto;
	bottom: 20px;
	right:20px;
	display: block;
}
.top_shadow_button span::after{
	content: "";
	width: 40px;
	height: 40px;
	display: block;
	border: solid 1px #CCCCCC;
	border-radius: 100%;
}
.top_shadow_button span::before{
	content: '';
  width: 11px;
  height: 11px;
  border-top: solid 3px #2D8DE0;
  border-right: solid 3px #2D8DE0;
  position: absolute;
  display: block;
  right: 16px;
  bottom: 13px;
  transform: rotate(45deg);
}
.top_introbox_sp img{
	width: 80%;
}
.top_introbox_sp,.top_introbox_pc{
	font-weight: 500;
}
.top_introbox{
	width: 48%;
}
.top_introbox_pc{
	padding: 50px 20px;
}
.top_introbox_pc .button{
	margin:50px 0px 0px 0px
}



.kakehashi_link,.glossary_link,.forms_link,.inquiry_link{
	position: relative;
overflow: hidden;
height: 160px;
display: flex;
align-items: center;
justify-content: center;
}
.kakehashi_link:hover:after {
opacity: .8;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.kakehashi_link p,
.glossary_link p,
.forms_link p,
.inquiry_link p{
	color: #fff;
	font-weight: bold;
	text-shadow: 0px 0px 10px #000000;
	position: relative;
z-index: 1;
font-size: 20px;
display: inline-block;
}

.glossary_link p::before,
.kakehashi_link p::before,
.forms_link p::before,
.inquiry_link p::before{
	content: "";
	width: 25px;
	height: 25px;
	border-radius: 100%;
	background-color: #fff;
	display: inline-block;
	position: absolute;
	left: -30px;
	top: 5px;
}

.glossary_link p::after,
.kakehashi_link p::after,
.forms_link p::after,
.inquiry_link p::after{
	content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #2D8DE0;
  border-right: solid 2px #2D8DE0;
  position: absolute;
  transform: rotate(45deg);
	left: -24px;
	top: 13px;
}

.glossary_link,.forms_link{
	width: 50%;
}
.glossary_link{border-right: solid 1px #fff;}
.kakehashi_link{
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
}

.glossary_link::after,
.forms_link::after,
.kakehashi_link::after,
.inquiry_link::after{
	height: 160px;
	position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.glossary_link:hover:after,
.forms_link:hover:after,
.kakehashi_link:hover:after,
.inquiry_link:hover:after{
	opacity: .8;
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  cursor:pointer;
}

.glossary_link::after{background-image: url(../imgs/top_link_img01.png);}
.forms_link::after{background-image: url(../imgs/top_link_img02.png);}
.kakehashi_link::after{background-image: url(../imgs/top_link_img03.png);}
.inquiry_link::after{background-image: url(../imgs/top_link_img04.png);}


@media(min-width:769px){
	#top{
		background-image: url(../imgs/top_pc_bg.png);
		background-repeat: no-repeat;
		background-position: top center;
		margin-top: 106px;
		padding-top: 0;
	}

	.top_bg_blue{
		background-color: transparent;
	}
	.top_main_visual{
		background-image: url(../imgs/main_image_00_pc.png);
		height: 70vh;
	}
	.top_main_visual h1{
		text-align: left;
		padding: 1em 0 0 1em;
	}
	#top .news_box{
		width: 68%;
		margin-left: 20px;
	}
	.news_title{
		margin: 0;
		width: 48%;
	}
	.news_date{
		margin-right: 0.5em;
	}
	#top .news_category{
		white-space: nowrap;
		width: 230px;
	}
	#news .news_category{
		white-space: nowrap;
		width: 270px;
	}

	.top_shadow_button{
		height: 380px;
		padding: 2em;
		width: 48%;
		transition: 0.5s;
	}
	.top_shadow_button:hover{
		opacity: 80%;
	}
	.top_shadow_button .main_title{
		text-align: left;
		margin: 0;
	}
	#top .main_title h1{
		font-size: 32px;
	}
	#top .main_title h2{
		font-size: 22px;
	}
	.top_shadow_button span{
		bottom: 20px;
		right:10px;
	}
	.top_shadow_button .main_title h1{
		font-size: 24px!important;
		padding: 0;
		margin-top: 10px;
	}
	.top_shadow_button .main_title h2{
		font-size: 18px!important;
		padding: 0;
		margin: 0;
	}

	.glossary_link,.forms_link,.kakehashi_link,.inquiry_link{
		height: 250px;
	}
	.top_bottom_link p{
		font-size: 25px;
	}
	.top_bottom_link p::before{
  	width: 30px;
  	height: 30px;
	left: -40px;
  }
  .top_bottom_link p::after{
  	content: '';
    width: 10px;
    height: 10px;
    border-top: solid 3px #2D8DE0;
    border-right: solid 3px #2D8DE0;
    position: absolute;
    transform: rotate(45deg);
	left: -34px;
  }
}
/*ニュース*/
.tag_boshu     { background-color: #60944B; }
.tag_annai     { background-color: #4181D4; }
.tag_houkoku   { background-color: #F081B3; }
.tag_shunto    { background-color: #ED903B; }
.tag_roushikyo { background-color: #CC394D; }
.tag_gaibu     { background-color: #AABE3F; }

.news_content{
	padding: 1em 0.5em;
	border-top: solid #E6E6E6 1px;
}
.news_content:last-child{
	border-bottom: solid #E6E6E6 1px!important;
}
.news_category{
	color: #2D8DE0;
}
.news_date{
	font-family: "Avenir","小塚ゴシック Pr6N","メイリオ", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	color: #666666;
}
.news_content span{
	display: inline-block;
	width: 95px;
	color: #fff;
	text-align: center;
	border-radius: 7px;
}
.news_title a:visited {
  color: #574E49;
}

/* -----------------------------------------------------------
FAQ
------------------------------------------------------------- */
/* アコーディオン */
.accwrap .icon::after,
.accwrap .icon::before {
  content: "";
  position: absolute;
  right: 44.5%;
  top: 29.5%;
  width: 3px;
  height: 1.6rem;
  background-color: #FFF;
  transition: all 0.3s;
}
.accwrap .icon::after {
  transform: rotate(90deg);
}
.accwrap .icon-wrap {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translatey(-50%);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #2D8DE0;
  border:solid 2px #2D8DE0;
}
/* .icon-wrapの中でプラスを中央に位置させるために.iconを親要素に設定 */
.accwrap .icon {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}
.accwrap .accordion {
  margin: 3em auto;
  max-width: 95%;
}
.accwrap .toggle {
  display: none;
}
.accwrap .option {
  position: relative;
  margin-bottom: 1em;
}
.accwrap .title,
.accwrap .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.accwrap .title {
  padding: 1em;
  display: block;
  background-color: #E8F3FB;
  font-weight: bold;
  border-radius: 10px;
  text-align: left;
  z-index: 10;
  position: relative;
  /* box-shadow: 0px 10px 10px -8px rgba(0,0,0,0.5); */
}
#faq .accwrap .title p{
	font-size: 20px;
}
.accwrap .title p{
  font-size:22px;
  line-height: 170%;
  font-weight:bold;
  margin:0px 10px;
  padding-right: 30px;
}
.accwrap .content {
  max-height: 0;
  overflow: hidden;
  background-color: #F7FAFF;
  padding: 2em 1em 0em 1em;
  margin-top:-2em;
  border-radius:10px;
}
.accwrap .content p {
  /* font-weight:bold; */
  padding: 1.5em 0;
  font-size: 16px;
  line-height: 170%;
  width:95%;
  margin-left:5px;
  text-align:justify;
}
.accwrap .toggle:checked + .title + .content {
  max-height: 520px;
  transition: all 1.5s;
  z-index: 5;
  position: relative;
}
.accwrap .toggle:checked + .title .icon::before {
  transform: rotate(90deg);
}
.accwrap .content .accordion_flex{
	justify-content:center;
	align-items:flex-start;
}

.accwrap .content span{
  font-size: 1em;
}
.accwrap .content a{
  font-size: 0.9em;
}

.circle {
	display: inline-block;
	border: #ccc solid 2px;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	color: #2D8DE0;
	font-size: 21px;
	text-align: center;
	line-height: 20px;
	margin-left: 10px;
	font-size:16px;
	font-weight: bold;
}

/* -----------------------------------------------------------
お知らせ
------------------------------------------------------------- */
.news_accwrap p{
	padding:0!important;
}
.news_number{ /* ページャー */
	margin:20px auto 0;
	max-width: 240px;
  font-size: 16px;
  line-height: 1.7em;
  font-weight: 500;
}
.news_number .current {
  color: #2D8DE0;
}
.news_number .page-numbers {
  padding: 8px;
}
.news_label label{
	white-space: nowrap;
}
h1.entry-title {
  font-size: 24px;
  margin: 20px 0 40px 0;
}
.entry-content {
  padding-bottom: 20px;
}

/* プラグインSearch & FileldsのCSS上書き */
.searchandfilter h4 {
  color: #666;
  line-height: 170%;
  width: 95%;
  margin-left: 5px;
  text-align: justify;
  margin: 20px 0 10px 5px;
  font-weight: normal;
}
.searchandfilter li {
  padding-right: 20px;
}
.searchandfilter label {
  font-weight: bold;
}
.searchandfilter ul ul > li:first-child { /* 全カテゴリー・全タグの選択項目を隠す */
  display: none;
}
.searchandfilter input[type="submit"] { /* プラグインの検索ボタンを隠す */
  display: none;
}
.searchandfilter select[name="ofpost_types"] { /* 投稿タイプセレクトボックスを隠す */
  display: none;
}
/* テーマCSSより一部抜粋 */
.wp-block-image.is-style-twentytwentyone-image-frame img {
  padding: 20px;
}
.wp-block-image.is-style-twentytwentyone-border img, .wp-block-image.is-style-twentytwentyone-image-frame img {
  border: 4px solid #666;
}
.wp-block-cover.is-style-twentytwentyone-border,
.wp-block-cover-image.is-style-twentytwentyone-border {
border: 4px solid #666;
}
.wp-block-image.is-style-twentytwentyone-border img,
.wp-block-image.is-style-twentytwentyone-image-frame img {
border: 4px solid #666;
}
.wp-block-media-text.is-style-twentytwentyone-border {
border: 4px solid #666;
}


/* -----------------------------------------------------------
組織図
------------------------------------------------------------- */
#org .member_outerbox{
	max-width: 95%;
}
#org .member_innerbox{
	max-width: 48%;
}
#org .member_emptybox{
	display: block;
	width: 260px;
	height: 10px;
	/* background-color: #4936f4; */
}
#org .member_innerbox p{
	font-size: 16px;
	line-height: 120%;
}
#org .member_innerbox p span{
	font-size: 13px;
}

@media(min-width:769px){
	#org .member_innerbox p{
		font-size: 20px;
		line-height: 130%;
	}
	#org .member_innerbox p span{
		font-size: 17px;
	}
}

/* -----------------------------------------------------------
様式一覧
------------------------------------------------------------- */
#forms ul li{
	list-style-type: disc!important;
	line-height: 1.3em;
	margin-bottom: 0.5em;
}
.pdf_date::after{
	content: "";
	background-image: url(../imgs/forms_pdf_icon.png);
	background-repeat: no-repeat;
	width: 35px;
	height: 35px;
	display: inline-block;
	vertical-align: middle;
}
.excel_date::after{
	content: "";
	background-image: url(../imgs/forms_excel_icon.png);
	background-repeat: no-repeat;
	width: 35px;
	height: 35px;
	display: inline-block;
	vertical-align: middle;
}

/* -----------------------------------------------------------
かけはしバックナンバー
------------------------------------------------------------- */
#kakehashi ul li,#glossary ul li{
	line-height: 1.3em;
	margin-bottom: 0.5em;
}

/* -----------------------------------------------------------
用語集
------------------------------------------------------------- */
#glossary section{
	background-color: #F7FAFF;
	border-radius: 10px;
	padding: 0;
}
.anchor_link_destination{
	padding-top:106px;
	margin-top: -106px;
	display: block;
  visibility: hidden;
}
.anchor_link_destination:hover{
	cursor:auto
}
input.toggle,
a.anchor_link_destination {
  outline: none;
}

#glossary .category_title{
	background-color: #E8F3FB;
	padding: 1.5rem 2rem;
	border-radius: 10px 10px 0px 0px;
}
#glossary .section_content{
	padding: 3rem 2rem;
}
#glossary section img{
	width: 100%;
}
@media(min-width:769px){
	#glossary .section_content{
		padding: 3rem;
	}
}

/*ミニアコーディオン*/
.mini_acc_content{
  display: none;
  margin-top: 10px
}

.mini_acc_title{
	color: #2D8DE0;
	font-size: 20px;
	position: relative;
	font-family: "Avenir","小塚ゴシック Pr6N","メイリオ", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
  padding-left: 38px;
  padding-left: 4px;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
.mini_acc_title:hover{
	cursor: pointer;
}
.mini_acc_title::before{
	content: '';
  width: 8.5px;
  height: 8.5px;
  border-top: solid 3px #2D8DE0;
  border-right: solid 3px #2D8DE0;
  position: absolute;
  left: 11px;
  /* top: 10px; */
  top: 9px;
  transform: rotate(135deg);
  display: block;
}
.mini_acc_title.active::before{
	transform: rotate(-45deg);
	top: 14px;
}
.mini_acc_title span{
	position: relative;
}
.mini_acc_title span::before{
	content: "";
	width: 30px;
	height: 30px;
	border: solid 2px #ccc;
	border-radius: 100%;
  position: relative;
  top: 0;
  right: 5px;
  display: block;
}

/*アンカーリンク*/
.anchor_links a{
	font-size: 18px;
	border: 1.5px #B3B3B3 solid;
	padding: 0.3em 1.5em 0.3em 0.5em;
	border-radius: 30px;
}
.anchor_links a span{
	position: relative;
  display: inline-block;
}
.anchor_links a span::before{
	content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #2D8DE0;
  border-right: solid 2px #2D8DE0;
  position: absolute;
  left: 10px;
  bottom:3px;
}
.anchor_links a span::before{
	transform: rotate(135deg);
}
@media(min-width:769px){
	.anchor_links a{
		font-size: 18px;
		border: 2px #B3B3B3 solid;
		padding: 0.8em 3em 0.8em 1.5em;
		border-radius: 30px;
	}
	.anchor_links a span::before{
	  width: 10px;
	  height: 10px;
	  border-top: solid 3px #2D8DE0;
	  border-right: solid 3px #2D8DE0;
	  position: absolute;
	  left: 20px;
	  bottom:5px;
	}
	.anchor_links .mr10{
		margin-right: 30px;
	}
	.anchor_links .ml10{
		margin-left: 30px;
	}
}

/* -----------------------------------------------------------
各専門部の紹介
------------------------------------------------------------- */
.accwrap .depart_content p{
	padding:0;
}
.accwrap .toggle:checked + .title + .depart_content{
	max-height: 2000px;			
}
.depart_midashi{
	color:#2D8DE0;
	font-size:20px!important;
	font-weight: bold;
}
.depart_indent{
	padding-left:1em!important;
	text-indent:-1em;
}
input.toggle,
a.anchor_link_destination {
  outline: none;
}

/* -----------------------------------------------------------
外部活動
------------------------------------------------------------- */
.outside_wrap{
	border:3px solid #E6E6E6;
	border-radius: 10px;
}
.outside_inner{
	padding:24px 20px;
	border-bottom:dotted 2px #808080;
}
@media(min-width:769px){
	.outside_inner{
		padding:44px 40px;
		border-bottom:dotted 2px #808080;
	}
}

/* -----------------------------------------------------------
お問い合わせ
------------------------------------------------------------- */
.inquiry_title{
	background-color: #E8F3FB;
	padding: 1.5rem 2rem;
	border-radius: 10px 10px 0px 0px;
}
.inquiry_back{
	background-color: #F7FAFF;
	border-radius: 10px;
}
.inpuiry_midashi{
	font-size: 20px;
	font-weight: bold;
}
.inpuiry_midashi span{
	color:#ED1C24;
	margin-left:20px;
	font-size: 16px;
}
.inquiry_wrap{
	padding:1em;
}
.inquiry_input_txt{
	width:100%;
	border:solid 1px #ccc;
	border-radius: 7px;
	height:50px;
	padding-left: 20px;
}
.inquiry_input_textarea{
	height:10em;
}
.inquiry_tel{
	color:#2D8DE0;
	font-size:30px;
	font-weight: bold;
}
.inquiry_tel span{
	font-size:16px;
	font-weight: normal;
}
.inpuiry_label{
	white-space: nowrap;
}
.form_need {
  color: #ED1C24;
  margin-left: 20px;
  font-size: 16px;
}
#form_need_name, #form_need_mail, #form_need_tel {
  display: none;
}
.submitafter {
  display: block;
  position: absolute;
  width: 100%;
  height: 64px;
  top: 0;
  left: 0;
  z-index: 100;
  cursor: pointer;
}

.confirm_btn {
  max-width: 640px;
  margin: 40px auto 0;
  width: 100%;
  text-align: center;
}
.confirm_btn button {
  position: relative;
  width: 48%;
  min-width: 150px;
  max-width: 400px;
  margin: auto;
  padding: 0.8em 1em 0.8em 10%;
  border: none;
  border-radius: 43px;
  background-color: #2d8de0;
  color: #fff;
  cursor: pointer;
  font-size: 20px;
  font-weight: bold;
  transition: 0.5s;
}
.confirm_btn button::before {
  content: '';
  transform: rotate(45deg);
  width: 15px;
  height: 15px;
  margin-right: 60px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  left: 24%;
  top: 36%;
  z-index: 10;
}
.confirm_btn button::after {
  content: '';
  display: block;
  width: 100%;
  height: 64px;
  position: absolute;
  top: 0;
  left: 0;
}
.confirm_inputted {
  display: block;
  width: 98%;
  margin: 10px auto 0 auto;
  padding: 0 10px;
  font-weight: normal;
  font-size: 16px;
  border-bottom: 1px solid #CCC;
}
#btn_confirm:disabled {
  opacity: 0.5;
  cursor: default;
}

/* ContactForm7調整用
.confirm_btn p {
  width: 48%;
}
.wpcf7-form p, .wpcf7-form label {
  font-size: 20px;
  font-weight: bold;
  position: relative;
}
.wpcf7-form p + p {
  margin-top: 40px;
}
.wpcf7-list-item.first {
  margin: 0;
}
.wpcf7-form .wpcf7-list-item label {
  font-size: 16px;
}
.wpcf7-text, .wpcf7-textarea {
  width: 100%;
  border: solid 1px #ccc;
  border-radius: 7px;
  height: 50px;
  padding-left: 20px;
  margin-top: 10px;
  font-size: 14px;
  font-weight: normal;
}
.wpcf7-textarea {
  height: 10em;
}
.wpcf7-submit, .wpcf7-previous {
  width: 100%;
  max-width: 400px;
  margin: auto;
  padding: 0.8em 1em 0.8em 0.2em;
  border: none;
  border-radius: 43px;
  background-color: #2d8de0;
  color: #fff;
  padding-left: 20%;
  cursor: pointer;
}
.wpcf7 .wpcf7-submit:disabled {
  opacity: 0.5;
}
.wpcf7-form .button p::before,
.wpcf7-form .confirm_btn p::before {
  content: '';
  transform: rotate(45deg);
  width: 15px;
  height: 15px;
  margin-right: 60px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  left: 24%;
  top: 23%;
  z-index: 10;
}
.wpcf7-form .button p::after {
  content: '';
  display: block;
  width: 100%;
  height: 64px;
  position: absolute;
  top: 0;
  left: 0;
}
.confirm_btn .wpcf7-submit, .confirm_btn .wpcf7-previous {
  min-width: 150px;
  transition: 0.5s;
}
.confirm_btn .wpcf7-submit:hover, .confirm_btn .wpcf7-previous:hover {
  opacity: 0.8;
}
.wpcf7-form .confirm_btn p + p {
  margin-top: 0;
}
 */
