﻿@charset "utf-8";

/* トップページ用responsive CSS */
/* width autoに変更 */
#GlobalNavi,#HomeContents,#ContentsBox,#HomeLeft,div#MoLeft{
  width: auto;
}
/* max-width */
#GlobalNavi,#HomeContents{
  max-width: 50rem;
}
/* float:left 解除 */
#HomeLeft,#HomeLeft2,div#MoLeft,#MoRight{
  float: none;
}
/* display:flex に */
#HomeContents,#MoLR,#KaigiBtn,#HomeLeft3,#HomeBanL{
  display: flex;
}

#HomeLeft{
  max-width: 30.625rem;
  padding-right: 1.5625rem;
}
#HomeLeft h2{
	text-align: left;
	padding-top: 1.25rem;
	padding-left: 1.5625rem;
	background: url(/images/icon_note.svg) 0 1.5625rem no-repeat; 
	background-size: 1.125rem 1.125rem;
	font-family: serif;
	font-size: 1.25rem;
}

#HomeLeft2 h2{
  text-align: left;
  border-bottom: solid 0.0625rem;
}
#KaigiBtn,#HomeBanL{
  justify-content: space-around;
}
ul#KaigiBtn li img {
  margin: 0.3125rem 0.9375rem;
}
.backnumber{
	border-bottom: 0.0625rem solid #000;
	display: flex;
	justify-content: space-between;
}
.backnumber p{
	padding-top: 1.5625rem;
	padding-right: 1.875rem;
}

.column{
	 column-count: 2;
}
#goannai{
  text-align: left;
  border-bottom: 0.0625rem solid;
}


/*ここから保留*/
/*details・summaryタグ矢印消し */
summary {
  display: block;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}
summary h3{
  cursor: pointer;
}

/* --------アイコン-------- */
.arrow {
  display: block;
  position: relative;
  width: 1.5rem;
  margin-left: 85%;
  top: -0.875rem;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
}

/* アコーディオンが開いた時のスタイル */
details[open] .arrow {
  transform: rotate(180deg);
}

/* アイコンのバーのスタイル */
.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.9375rem;
  height: 0.1875rem;
  background-color: #666666;
}

.arrow::before {
  left: 0;
  transform: rotate(45deg);
}

.arrow::after {
  right: 0;
  transform: rotate(-45deg);
}
/*マウスホバー　アンダーバー */
.uline {
	display: inline-block;
	position: relative;
	text-decoration: none;
}
.uline::after {
	position: absolute;
	content: '';
	bottom: .2em;
	left: 0;
	width: 100%;
	height: 0.0625rem;
	opacity: 0;
	background: #2196F3;
	transition: all .3s ease 0s;
}
.uline:hover {
	cursor: pointer;
}
.uline:hover::after {
	bottom: 0;
	opacity: 1;
}

div#MoLeft{
	float: none;
	width: auto;
}
.Rbox{
	border: 0.0625rem solid #bfbfb6;
	background-color: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	position: relative;
	padding-bottom: 0.3125rem;
		}
.Rbox h2{
	text-align: left;
	border: 0.0625rem solid #bfbfb6;
	border-top: none;
	padding: 0.625rem 0 0.625rem 0.625rem;
	background: linear-gradient(#ffffff, #ededed);
	font-size: 1.125rem;
}
.Rbox .list_n > li{
	/*border-bottom: 0.0625rem solid #bfbfb6;*/
	padding-bottom: 0.3125rem;
}
.Rbox .list_n h3{
	font-size: 1rem;
	margin-left: 0.9375rem;
	padding: 0.625rem 0  0 1.25rem;
}
.Rbox .list_n h3.icnblue{
	background: url(/images/icon_blue.svg) 0 0.75rem no-repeat;
	background-size: 0.875rem 0.875rem;
}
.Rbox .list_n h3.icnorange{
	background: url(/images/icon_orange.svg) 0 0.75rem no-repeat;
	background-size: 0.875rem 0.875rem;
}
.Rbox .list_n h3.icngreen{
	background: url(/images/icon_green.svg) 0 0.75rem no-repeat;
	background-size: 0.875rem 0.875rem;
}
.Rbox .list_n dd{
	margin-left: 1.875rem;
}
.Rbox .list_n h4{
	background: url(/common/images/navigation/icn01.gif) left 0.3125rem no-repeat;
	margin: 0.3125rem 0 0.3125rem 2em;
	padding-left: 0.625rem;
	font-size: 0.875rem;
	text-decoration: underline;
	color: blue;
}

	@media screen and (max-width:48rem){
		#HomeContents{
			display: flex;
			flex-direction: column;
		}
		#HomeLeft, #HomeRight{
			max-width: 100%;
			padding: 0 1em;
		}
		#HomeRight{
			margin: 1.25rem auto;
			width: auto;
		}
		.backnumber p{
			padding-right: 0;
		}
		.column{
			column-count: 1;
		}
		#BottomNaviHome{
			width: auto;
		}
	}


.hbbutton, .sp_search{
        display: none;
    }

#ContentsBox h1{
	text-align: left;
	border-bottom: 0.0625rem solid;
}
#ContentsBox h1 img{
	object-fit: none;
	height: 1.875rem;
	width: 20rem;
	object-position: 0 0;
}

/*採用ページ*/
.oshirase{
	margin-left: 1em;
	margin-top: 1.5625rem;
	text-indent: -1em;
	text-align: left;
}

.oshirase:before{
	content:"○" ;
}
.shokushu{
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}
.shokushu li{
	width: 15.625rem;
	background-color: #002060;
	padding: 0.9375rem;
	margin: 0.625rem 0.3125rem;
}
.shokushu li a{
	text-decoration: none;
	display: block;
	color: #fff;
}
.shokushu span{
	position: relative;
}
.shokushu span::before{
	content: "";
	display: inline-block;
	margin-left: 0.3125rem;
	width: 0.375rem;
	height: 0.375rem;
	transform: rotate(45deg);
	border-style: solid;
	border-color: #fff;
	border-top-width: 0.1875rem;
	border-right-width: 0.1875rem;
	border-bottom-width: 0;
	border-left-width: 0;
	vertical-align: middle;
}
h3.shiken{
	text-align: left;
	font-size: 110%;
	text-indent: 1em;
	border-bottom: 0.0625rem solid #000;
	margin-top: 1.25rem;
}
.juken_shikaku{
		text-align: left;
		margin-top: 1.25rem;
		margin-left: 2em;
}
.juken_shikaku ol{
		margin-left: 1em;
}
.shiken_nittei{
		margin-top: 1.25rem;
		text-align: left;
}
.shiken_nittei > dt{
		margin-left: 1em;
		float: left;
}
.shiken_nittei > dt::after{
		content: "：";
}
.shiken_nittei > dd{
		margin-left: 7em;
		margin-bottom: 0.3125rem;
}
.shiken_nittei dd::after{
		clear: both;
}
.pamphlet_box{
	display: flex;
	padding-bottom: 0.9375rem;
}
.pamphlet_box .text{
	width: 60%;
	padding: 1em;
}
.pamphlet_box a{
	display: block;
	width: 40%;
}
.pamphlet_box a span{
	display: inline-block;
	margin-top: 0.9375rem;
	text-decoration: underline;
}
.category_dl{
	text-align: left;
}
.category_dl dd{
	margin: 0 1em;
}
.category_dl ul{
	list-style-type: none;
}
.category_dl li{
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 0.625rem;
}
.category_dl li::before{
	content: "○"
}
.setsumeikai_container{
	text-align: left;
	border: 0.0625rem solid #000;
	border-radius: 0.9375rem;
	padding: 0.5em;
	margin-bottom: 0.9375rem;
}
.setsumeikai_container h5{
	font-size: 1em;
	margin-bottom: 0.3125rem;
}
.setsumeikai_container dt{
	margin: 0 1em;
	float: left;
}
.magenta{
	background-color: #E00085;
	color: #fff;
}
.setsumeikai_container dd{
	margin: 0;
	padding-left: 6em;
	margin-bottom: 0.3125rem;
}
.setsumeikai_container dd::after{
	clear: both;
}
.jimukyoku_setsumeikai dl{
	border: 0.0625rem dashed #000;
	border-radius: 0.9375rem;
	padding: 0.5em;
	margin-bottom: 1.25rem;
}
.jimukyoku_setsumeikai, .jimukyoku_setsumeikai ul{
	list-style-type: none;
	text-align: left;
}

.jimukyoku_setsumeikai dt{
	margin-bottom: 0.625rem;
}
.jimukyoku_setsumeikai dd{
	margin-left: 0;
}
.g_setsumeikai{
	text-align: left;
}
.g_setsumeikai dd:after{
	clear: both;
}
.g_setsumeikai dd.pl04em{
	padding-left: 4em;
}
.g_setsumeikai ol.pl03em{
	padding-left: 3em;

}
.g_setsumeikai dd{
	margin-left: 0;
	padding-left: 1em;
}

.g_setsumeikai .ind_m{
	text-indent: -1em;
	padding-left: 1em;
}
.g_setsumeikai ul{
	list-style-type: none;
}
#page_top a{
	padding: 1.5625rem;
}
#page_top a::before {
	content: "";
	color: #fff;
	position: absolute;
	top: 1.375rem;
	left: calc( 50% - 0.4375rem);
	display: inline-block;
	width: 0.625rem;
	height: 0.625rem;
	transform: rotate(-45deg);
	border-style: solid;
	border-color: #fff;
	border-top-width: 0.1875rem;
	border-right-width: 0.1875rem;
	border-bottom-width: 0;
	border-left-width: 0;
	vertical-align: middle;
}
#page_top a:hover, #page_top a:focus{
	opacity: 0.85;
}
@media screen and (max-width:48rem){
	.shokushu, .pamphlet_box{
		flex-direction: column;
		align-items: center;
	}
	.pamphlet_box .text, .pamphlet_box a{
		width: 100%;
	}
	ul.exp_list_icn02 li{
		background:url(../images/navigation/icn01.gif) left 0.3125rem no-repeat;
		margin-bottom: 0.9375rem;
	}
}
/*採用ページ関係ここまで*/


/*レスポンシブ対応　ブレークポイント48rem:*/

@media screen and (max-width: 48rem) {
	body{
		font-size: 1.3rem;
		font-family: sans-serif;
	}
	#Headright{
		display: none;
	}
	#HomeLeft2 h2{
	  	text-align: left;
	}
	#Logo img{
	  	width: 100%;
	  	min-width: 18.75rem;
	  	height: auto;
	}
	#ContentsBox{
		margin: 0 auto;
		padding: 0.625rem 5%;
		font-size: 1rem;
		line-height: 1.1em;
	}
	#Footer{
	  	flex-direction: column;
	  	width: 100%;
	  	margin: 0 auto;
	  	min-width: auto;
	}
	/* グローバルナビ */
	#GlobalNavi{
	  	display: flex;
	}
	ul#GlobalNavi li{
		text-align: center;
		display: block;
		font-size: 0.7rem;
		padding: 0.625rem 0rem;
		width: 100%;
	}
	/*#RBottomLink{
	  	display:flex;
	  	flex-direction: column;
	}
	ul#RBottomLink li.menu1,ul#RBottomLink li.menu2{
	  	width: auto;
	  	background: none;
	  	margin-top: 0.625rem;
	  	padding: 0.9375rem 0 0.9375rem 0.9375rem;
	  	border-left: 0.625rem solid #514537;
	  	border-bottom: 0.125rem solid #514537;
	}
	#RBottomLink li a{
	  	display: block;
	  	width: 100%;
	}*/
	ul#SecondaryNavi{
		margin-bottom: 0.625rem;
		font-size: 0.9rem;
	  }
	div#BreadCrimbs{
		font-size: 1rem;
	}
	ol.exp_num_list_norm a,ul.exp_list_icn02 a{
		padding: 0.3125rem 0;
	}
        #Wrapper{
            padding: 0 2%;
            min-width: 20rem;
        }
        #Header{
            width: 100%;
        }
        #Headright{
            display: none;
          }
        #HeadLeft{
            width: 100%;
            float: none;
            text-align: left;
        }
        #Logo img{
          text-align: left;   
          width: auto;
          min-width: 20rem;
        }
        @media(max-width: 31.25rem){
            #Logo img{   
              width: 70%;            
            }
        }
	/* ハンバーガーメニューここから */
        #LocalContents{
            width: auto;
            background: #fdfdf8;
        }
        #LocalLeft{
	    float: none;
        }
        #LocalRight{
            width: auto;
            float: none;
        }
        #BottomNavi0{
            margin: 0 auto;
        }

        #BottomNavi,#Footer{
            width: 100%;
            min-width:auto;
        }
        .hbbutton {
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            display: block;
            position: absolute;
            top: 1.5625rem;
            right: 1.5625rem;
            z-index: 101;
            margin: 0;
            padding: 0;
            width: 3.125rem;
            height: 3.125rem;
            border: none;
            border-radius: 10%;
            background-color: #514537;
            transition: background-color 0.2s ease;
            cursor: pointer;
        }
        .hbbutton[aria-expanded=true]{
		right: 6.25rem;
		position: fixed;
	}
        .hbbutton > span, .hbbutton::before, .hbbutton::after {
            display: block;
            position: absolute;
            top: 50%;
            left: 50%;
            width: 1.875rem;
            height: 0.25rem;
            margin: -0.125rem 0 0 -0.9375rem;
            border-radius: 0.125rem;
        }
        .hbbutton > span {
            background-color: #fdfdf8;
            transition: opacity 0.3s ease;
            will-change: opacity;
        }
        .hbbutton::before, .hbbutton::after {
            content: "";
            background-color: #fdfdf8;
            transition: background-color 0.3s ease;
        }
        .hbbutton::before {
            transform: translateY(-0.625rem);
        }
        .hbbutton::after {
            transform: translateY(0.625rem);
        }
        .hbbutton[aria-expanded=true] > span {
            opacity: 0;
        }
        .hbbutton[aria-expanded=true]::before, 
        .hbbutton[aria-expanded=true]::after {
            background-color: #fdfdf8;
        }
        .hbbutton[aria-expanded=true]::before {
            -webkit-animation: 0.3s ease close1 forwards;
            animation: 0.3s ease close1 forwards;
        }
        .hbbutton[aria-expanded=true]::after {
            -webkit-animation: 0.3s ease close2 forwards;
            animation: 0.3s ease close2 forwards;
        }
        .hbbutton.-close::before {
            -webkit-animation: 0.3s ease close1Rev forwards;
            animation: 0.3s ease close1Rev forwards;
        }
        .hbbutton.-close::after {
            -webkit-animation: 0.3s ease close2Rev forwards;
            animation: 0.3s ease close2Rev forwards;
        }
        @-webkit-keyframes close1 {
            0% {transform: translateY(-0.625rem);}
            50% {transform: translateY(0) rotate(0);}
            100% {transform: translateY(0) rotate(45deg);}
        }
        @keyframes close1 {
            0% {transform: translateY(-0.625rem);}
            50% {transform: translateY(0) rotate(0);}
            100% {transform: translateY(0) rotate(45deg);}
        }
        @-webkit-keyframes close2 {
            0% {transform: translateY(0.625rem);}
            50% {transform: translateY(0) rotate(0);}
            100% {transform: translateY(0) rotate(-45deg);}
        }
        @keyframes close2 {
            0% {transform: translateY(0.625rem);}
            50% {transform: translateY(0) rotate(0);}
            100% {transform: translateY(0) rotate(-45deg);}
        }
        @-webkit-keyframes close1Rev {
            0% {transform: translateY(0) rotate(45deg);} 
            50% {transform: translateY(0) rotate(0);}
            100% {transform: translateY(-0.625rem);}
        }
        @keyframes close1Rev {
            0% {transform: translateY(0) rotate(45deg);}
            50% {transform: translateY(0) rotate(0);}
            100% {transform: translateY(-0.625rem);}
        }
        @-webkit-keyframes close2Rev {
            0% {transform: translateY(0) rotate(-45deg);}
            50% {transform: translateY(0) rotate(0);}
            100% {transform: translateY(0.625rem);}
        }
        @keyframes close2Rev {
            0% {transform: translateY(0) rotate(-45deg);}
            50% {transform: translateY(0) rotate(0);}
            100% {transform: translateY(0.625rem);}
        }
	.nav {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		width: 100%;
		height: 100%;
		overflow: scroll;
		background: #fdfdf8;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}
	.nav[aria-hidden=true]{
	    	visibility: hidden;
	    	opacity: 0;
	    	pointer-events: none;
	}
	.nav[aria-hidden=false] {
	    	visibility: visible;
	    	opacity: 1;
	    	pointer-events: auto;
	}
        #LocalLeft ul.local_navigation{
	    	font-size: 1rem;
            	margin: 0 5%;
            	padding-top: 4.375rem;
	    	padding-bottom: 1.875rem;
            	width: auto;
        }
  	#LocalLeft ul.local_navigation > li{
  	        line-height: 140%;
  	        text-align: left;
  	        margin: 0.625rem;
  	        padding: 0.3125rem 3%;
  	        list-style-type: none;
  	        border-left: solid 0.625rem #514537;
  	        border-bottom: solid 0.1875rem #514537;
		background: url(/common/images/navigation/localnavi_icn.gif) 0.9375rem 1.25rem no-repeat;
      	}
	#LocalLeft ul.local_navigation li#Current2{
  	        line-height: 140%;
  	        text-align: left;
  	        margin: 0.625rem;
  	        padding: 0.9375rem 3% 0.9375rem 2.0625rem;
  	        list-style-type: none;
  	        border-left: solid 0.625rem #514537;
  	        border-bottom: solid 0.1875rem #514537;
		background: url(/common/images/navigation/localnavi_icn.gif) 0.9375rem 1.25rem no-repeat;
		color: #514537 !important;
      	}
	#LocalLeft ul.local_navigation li#HomeLink a{
		color: #514537;
		margin-left: 0.9375rem;
	}
	#LocalLeft ul.local_navigation li#HomeLink a::visited, ul.local_navigation li#OnLink a::visited{
		color: #514537 !important;
	}
	ul.local_navigation li#OnLink{
  	        line-height: 140%;
  	        text-align: left;
  	        margin: 0.625rem;
  	        padding: 0.3125rem 3% 0.3125rem 1.5625rem;
  	        list-style-type: none;
  	        border-left: solid 0.625rem #514537;
  	        border-bottom: solid 0.1875rem #514537;
		background: url(/common/images/navigation/localnavi_icn.gif) 0.9375rem 1.25rem no-repeat;		
      	}
	ul.local_navigation li#OnLink a, ul.local_navigation li#OnLink a:visited{
		color: #514537;
	}
	#LocalLeft ul.local_navigation li#Current2 ul.sub_link_set li{
		line-height: 140%;
	}
	.sp_search {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		display: block;
		position: fixed;
		top: 1.5625rem;
		right: /*100*/1.5625rem;
		z-index: 101;
		margin: 0;
		padding: 0;
		width: 3.125rem;
		height: 3.125rem;
		border: none;
		border-radius: 10%;
		background-color: #514537;
		transition: opacity 0.3s ease;
		cursor: pointer;
        }
        .sp_search > span, .sp_search::before{
		display: block;
		position: absolute;
		top: 1.375rem;
		left: 1.375rem;
		margin: -0.8125rem 0 0 -0.8125rem;
		color: #514537;
        }
        .sp_search > span {
		width: 1.125rem;
		height: 1.125rem;
		border-radius: 100%;
		border: solid 0.25rem #fdfdf8;
        }
	.sp_search::before{
		content: "";
		border-bottom: solid 0.25rem #fdfdf8;
		top: 2.6875rem;
		left: 2.6875rem;
		height: 0.25rem;
		width: 0.75rem;
		transform: rotate(45deg);
	}
  	.sp_search[aria-hidden=true] {
  	        visibility: hidden;
  	        opacity: 0;
  	        pointer-events: none;
      	}
  	.sp_search[aria-hidden=false] {
  	        visibility: visible;
  	        opacity: 1;
  	        pointer-events: auto;
  	}
	/* ページの先頭へを小さく*/
	#page_top{
		right: 0.3125rem;
	}
	#page_top a{
		padding: 1.25rem;
	}
	#page_top a::before{
		top: 0.9375rem;
	}
	/* ハンバーガーメニューここまで */

	@media screen and (max-width:36.25rem) {
	  /*#HomeBanL{
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	  }*/
	  #KaigiBtn/*,#GuideLR*/{
	    flex-direction: column;
	  }
	  #GuideLR li a,div #GuideLeft,div #GuideRight{
	    width: 100%;
	  }
	  #goannai h2{
	    margin-bottom: 0.9375rem;
	  }
	  #BNsub_title{
	    margin-top: 0.9375rem;
	  }
	  .g_list a{
	    width: 100%;
	  }
	}
	@media screen and (max-width:2625rem){
	  div #MoLR{
	    flex-direction: column;
	    align-items: center;
	  }
	  div #MoRight{
	    order: 1;
	    text-align: center;
	  }
	  div #MoLeft{
	    order: 2;
	  }
	}
}