/*
Theme Name: sanshokuki
*/
@charset "utf-8";


/*リセットCSS*/
@import url("reset.css");

/*slick.css*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/*Font Awesome*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);


/*--ベース設定--*/
html,body {
	margin: 0;padding: 0;
	overflow-x: hidden;
	font-size: 14px;
}

body {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック', 'MS PGothic',sans-serif;
	-webkit-text-size-adjust: none;
	background: #fff;
	color: #000;
	line-height: 2;
position: relative;
}
body#pdf_v {
    padding-bottom: 0;
}
/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*table*/
table {border-collapse:collapse;}

/*画像*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*ul,olタグ*/
ul, ol {margin-bottom: 30px;}

/*sectionタグ*/
section + section,
section + p + section{
	margin-top: 1em;
}

section {
  width: 100%;
	max-width: 1100px;
  margin: auto;
  padding: 1em;
}

.pdf_view section{
  max-width: 1310px;
}

.sec_flat {
	max-width: none;
  padding: 1em 1em;
  background-color: #eee;
  background-size: 20px 20px;
  background-image: repeating-linear-gradient(-45deg, #fffae6 0, #fffae6 2px, #eee 0, #eee 50%);
  background-repeat: repeat;
}
.sec_flat02 {
	max-width: none;
  padding: 2em 1em;
  background-color: #f5f5f5;
  border-top: #dbdbdb 1px solid;
  border-bottom: #dbdbdb 1px solid;
}
.sec_flat02.top_flat {
	position: relative;
  display: block;
	width: 100%;
  height: auto;
/*	background: url(img/top_flat.jpg) no-repeat 100% 100% fixed;
	background-size: cover;
	-webkit-background-size: cover;
	color: #fff;*/
}

.flat_inner {
  width: 100%;
  max-width: 1100px;
  margin: auto;
}
.flat_inner.mar {
  margin: auto auto 4em;
}

/*リンク*/
a {
	color:#0066C0;
	transition: 0.3s;
	text-decoration: none;
}
a:hover {
	opacity: 0.8;
}


/*container*/
#container {
	width: 100%;
}


/*header*/
header {
  display: block;
  width: 100%;
	background-color:#737373;
  z-index: 3;
}

header #logo_wrap {
	line-height: 1;
	display: flex;
	justify-content: space-between;
	max-width: 1100px;
	margin: 0 auto;
  padding: 0.8em 0.2em;
}

header #logo {
	margin: 0 auto 10px 0;
	width: 70%;
  max-width: 500px;
	height: auto;
}
header #logo a {
  font-size: clamp(23px, 3vw, 32px);
	color: #fff;
}

/*menubar*/
#menubar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#menubar {
	display: none;
}
/*開閉*/
#menubar.db {display: block;}
#menubar.dn {display: none;}

#mainmenu {
  width: 100%;
}
#menubar ul {
	max-width: 1100px;
	margin: 0 auto;
}
#menubar ul li {
  width: auto;
  flex-grow: 1;
}
#menubar a {
	display: block;
	text-decoration: none;
	text-align: center;	
	color: #fff;
	padding: 1em 0;
}
#menubar ul li.sp_logo {
  display: none;
}
#menubar ul li .logout {
  position: relative;
}
#menubar ul li .logout::before {
  position: absolute;
	font-family: "Font Awesome 5 Free";
	content: "\f08b";
	font-weight: bold;
	margin-left: 0.8em;
  color: #fff;
}



/*小さな端末用の開閉ブロック設定
---------------------------------------------------------------------------*/
.s #menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	animation: animation1 0.2s both;
	background-color:rgba(0,0,0,0.6);
	padding: 0 50px 0 0;
}

.s #menubar.db #mainmenu {
  padding: 1em;
  background-color: #fff;
}
.s #menubar.db ul li.sp_logo {
  display: block;
}

.s #menubar.db a {
	display: block;
  position: relative;
	padding: 1.5em 1em;
	text-align: left;
	background-color: #fff;
  border-bottom: #3d5999 1px solid;
  font-size: 1.2em;
  color: #333;
}
.s #menubar.db ul li:last-child a {
  border-bottom: none;
}
.s #menubar.db ul li a::after {
  position: absolute;
  right: 1em;
	font-family: "Font Awesome 5 Free";
	content: "\f054";
	font-weight: bold;
	margin-left: 0.8em;
  color: #737373;
}
.s #menubar.db li.sp_logo a {
	background-color: #737373;
  color: #fff;
  font-size: 1.5em;
  font-weight: 700;
  text-align: center;
}
.s #menubar.db li.sp_logo a::after {
	display: none
}
.s #menubar.db li.sp_logo a img {
	max-width: 300px;
}


/*開閉ブロック内のsubmenu
---------------------------------------------------------------------------*/
.sh ul.submenu li {
	background: transparent !important;
}
.sh ul.submenu li a {
	color: #555 !important;
}

/*ドロップダウン*/
#menubar .ddmenu_parent ul {
	display: none;
	border-top: 1px solid #ddd;
}

#menubar a.ddmenu::after {
	font-family: "Font Awesome 5 Free";
	content: "\f078";
	font-weight: bold;
	margin-left: 0.8em;
  font-size: 0.9em;
}

#menubar .ddmenu_parent ul a {
	padding: 0.8em 1em;
	background: #fff !important;
	color: #333 !important;
	border: 1px solid #ddd;
	border-top: none;
	text-align: left;
}
#menubar .ddmenu_parent ul a:hover {
	background: #F3F2EC !important;
  opacity: 1;
}


/*ハンバーガー*/
#menubar_hdr {
  margin: 0;
  cursor: pointer;
  display: block;
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 25px;
  position: fixed;
  top: 0;
  right: 0;
  background-color: #dedede;
  -webkit-transition: color 0.4s;
  transition: color 0.4s;
  z-index: 99999;
}
#menubar_hdr span,
#menubar_hdr span:before,
#menubar_hdr span:after {
  content: '';
  display: block;
  height: 3px;
  width: 30px;
  border-radius: 3px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}
#menubar_hdr span {
  top: 50%;
  right: 10px;
}
#menubar_hdr span:before {
  bottom: 8px;
}
#menubar_hdr span:after {
  top: 8px;
}
#menubar_hdr.ham span {
  background: rgba(255, 255, 255, 0);
}

#menubar_hdr.ham span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#menubar_hdr.ham span::after {
  top: 0;
  transform: rotate(-45deg);
}

.mainimg {
	position: relative;
	width: 96%;
  max-width: 1100px;
	margin: 0 auto 5em;
}
.mainimg h2{
  display: block;
  width: auto;
  height: auto;
  margin: 0;
	font-size: clamp(18px, 3vw, 30px);
  color: #001e62;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.mainimg h2 b{
  margin-right: 0.5em;
  padding: 0.1em 0.3em 0.1em 0.5em;
  background-color: #c63527;
  border-radius: 10vh;
  color: #fff;
  font-size: 80%;
}

.new_box + .new_box,
.new_box + p + .new_box{
	margin-top: 6em;
}

.new_box {
  position: relative;
  display: block;
  width: 100%;
  margin: 1vw auto 0;
  padding: 0.5vw 0 0;
}
.new_box > div {
  display: block;
  width: 98%;
  height: auto;
  margin: auto;
}
.new_box > div h3 {
    font-size: clamp(18px, 3vw, 30px);
    padding: 0;
    margin: 1em 0;
    border-bottom: none;
}
.new_box > div h3::after {
    display: none;
}
  .line_box {
  display: block;
  width: 100%;
  height: auto;
  padding: 1.5em;
  border: #ddd 1px solid;
}
.new_box .line_box {
  margin-top: 2em;
  padding: 0.5em 0;
  border: none;
  border-top: #333 1px solid;
}
.new_box .line_box p {
  line-height: 1.4;
}
.new_box .line_box dl {
  display: block;
  border-top: #ddd 1px solid;
  font-size: 1.15em;
  line-height: 1.6;
}
.new_box .line_box dl dt,
.new_box .line_box dl dd {
  position: relative;
  display: block;
  width: 100%;
}
.new_box .line_box dl dt {
  margin-top: 1em;
  font-weight: 700;
}
.new_box .line_box dl dt + dt {
  padding-top: 1em;
  border-top: #ddd 1px solid;
}
.new_box .line_box dl dd {
  padding-bottom: 1em;
  border-bottom: #ddd 1px solid;
}

#contents.sub .mainimg {
  padding-top: 0;
}
#contents.sub .mainimg h2{
  margin: 0 0 0.5em;
  padding: 0;
  border: none;
}

#contents.sub .new_box .line_box a {
  position: absolute;
  right: 0;
	display: inline-block;
	text-decoration: none;
	color: #000;
	border-radius: 10vh;
  margin: 0.5em ;
	padding: 0.4em 0.8em;
	font-size: 12px;
  font-weight: 400;
	background: #fff;
  border: #000 1px solid;
	letter-spacing: 0.1em;
}
#contents.sub .new_box .line_box a:hover {
	cursor: pointer;
	color: #fff;
  background: #000;
}
#contents.sub .new_box .line_box dl dt,
#contents.sub .new_box .line_box dl dd {
  padding-right: 100px;
}
#contents.sub .new_box .line_box dl dd:last-child {
  border-bottom: none;
}

#contents.pdf_view {
  padding-top: 0;
  margin-bottom: 0;
}

/*スライダー*/
.slider {
   width:98%;
  max-width: 880px;
   margin:0;
  padding: 0.5em;
}
.slider li {
  display: block;
  padding: 2px;
  background-color: #fff;
  border: #ddd 1px solid;
}
.slider img {
    width:100%;
    height:auto;
}

.slider .slick-slide {
    margin:0 10px;
}
/*矢印の設定*/
.slick-prev, 
.slick-next {
    position: absolute;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #666;
    border-right: 2px solid #666;
    height: 15px;
    width: 15px;
}
.slick-prev {
    left: -1.5%;
    transform: rotate(-135deg);
}
.slick-next {
    right: -1.5%;
    transform: rotate(45deg);
}

.slick-dots {
    text-align:center;
	margin:20px 0 0 0;
}
.slick-dots li {
    display:inline-block;
	margin:0 5px;
}
.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;
    height:8px;
    display:block;
    border-radius:50%;
    background:#ccc;
}
.slick-dots .slick-active button{
    background:#333;
}

.backnumber_box {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1100px;
  margin: auto;
}
.backnumber_box > div {
  position: relative;
  display: block;
  width: 170px;
  height: 190px;
  margin: auto 0;
  border-right: #e4e4e4 1px solid;
  background-image: url("img/icon-back.png");
  background-repeat: no-repeat;
  background-position: top left;
}
.backnumber_box > div .btn{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 83%;
}
.backnumber_box > div .btn a{
  width: 100%;
  min-width: inherit;
  margin: 0;
  padding: 0.2em;
  font-size: 1em;
}
.backnumber_box > div .btn a::after{
  padding-left: 0.5em;
}

/*contents*/
#contents {
	display: block;
	margin: 0 auto 6em;
  padding-top: 1em;
}
#contents.mb0 {
	margin-bottom: 0;
  border-bottom: #E5DDD7 6em solid;
}

/*main*/
main {
	order: 0;
}

h2.h2 {
	position: relative;
  display: inline-block;
  max-width: 1100px;
	margin: 2vw auto;
  padding: 0.25em 0;
  border-bottom: solid 4px #efefef;
  font-size: clamp(20px, 3.5vw, 40px);
  color: #333;
  line-height: 1.6;
}
h3.h3 {
	position: relative;
  display: block;
  max-width: 1100px;
	margin: auto auto 1em;
  padding: 0.25em 1em;
  background-color: #efefef;
	font-size: clamp(18px, 3vw, 30px);
  color: #333;
  line-height: 1.6;
}

main h2 {
	position: relative;
  display: block;
  max-width: 1100px;
	margin: auto auto 1em;
  padding: 0.25em 1em;
  background-color: #efefef;
  border-bottom: solid 2px #001e62;
	font-size: clamp(18px, 3vw, 26px);
  color: #333;
  line-height: 1.6;
}

main h3 {
	position: relative;
  max-width: 1100px;
	font-size: clamp(16px, 3vw, 22px);
	padding: 0 0.8em 0.5em 0.5em;
	margin: 0.5em auto 1em;
  border-bottom: solid 1px #b3b3b3;
	line-height: 1.4;
}
main h3:after {
  position: absolute;
  content: '';
  left: 0;
  bottom: -1px;
  width: 5em;
  height: 1px;
  background-color: #c63527;
}

main h4 {
	position: relative;
  max-width: 1100px;
	font-size: clamp(14px, 3vw, 20px);
	padding: 0 0 0.1em;
	margin: 0 auto 0.5em;
  border-bottom: solid 2px #737373;
	line-height: 1.4;
}

main p {
	margin: 0 0 0.8em;
}
cite {
  font-size: 0.9em;
}

.pdf_vw iframe {
  display: block;
  width: 100%;
  max-width: 90vw;
  height: 100%;
  min-height: 170vw;
  margin: auto;
}

/*フッター*/
footer {
	background-color: #ECECEC;
	padding: 1em 0;
	color: #fff;
}
#footer_inner {
	display: flex;
  justify-content: space-between;
	max-width: 1100px;
	margin: auto;
	padding: 1em;
}

#footer_logo {
	display: inline-block;
  width: 30%;
	margin: auto 0;
	padding: 0;
}
#footer_logo a {
	display: inline-block;
  color: #333;
}
#footer_logo a img {
  width: 100%;
	max-width: 344px;
}
#footer_logo span {
	display: block;
  text-align: center;
  font-size: 0.9em;
}
/*フッターメニュー*/
#footermenu {
	display: block;
	width: auto;
	margin: 0 0 0 auto;
  padding-top: 1em;
	font-size: 0.8em;
}
#footermenu a {
	text-decoration: none;
}
#footermenu ul {
  display: flex;
  flex-wrap: wrap;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
#footermenu li a {
  display: inline-block;
  position: relative;
	color: #333;
  margin-right: 1em;
	padding-left: 1.2em;
}
#footermenu li a::before {
	font-family: "Font Awesome 5 Free";
	content: "|";
	font-weight: bold;
	position: absolute;
	left: 0;
}
#footermenu li:first-child a::before {
	display: none;
}
#footermenu li:last-child a {
  margin-right: 0;
}
footer small {
	display: block;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
	padding: 0;
	color: #333;
	font-size: 0.6em;
  text-align: right;
}

/*list-field*/
.list-field {
	display: flex;
	justify-content: flex-start;
  flex-wrap: wrap;
	width: 100%;
	margin: 3em auto 1em;
	padding: 0;
  list-style: none;
}
.list-field li {
  position: relative;
	width: 48%;
  margin: 0.5em auto;
  background-color: #fff;
  overflow: hidden;
  box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
}
.list-field figure {
	display: block;
  height: 100%;
  min-height: 150px;
  padding: 0.5em;
  background-color: #fff;
  overflow: hidden;
}
.list-field figure div {
	display: inline-block;
  width: 100%;
  overflow: hidden;
}
.list-field figure img {
  display: block;
  transition-duration: .5s;
	width: 100%;
  height: auto;
}
.list-field figcaption{
  position: relative;
  display: block;
  width: 100%;
  height: auto;
	margin: 0 0 0.2em;
  color: #001e62;
  font-weight: 700;
  font-size: 1.1em;
  text-align: left;
  line-height: 1.4;
}
.list-field figcaption span{
  display: block;
  width: 100%;
  height: auto;
  margin-top: 1em;
  line-height: 1.3;
  font-size: 0.9em;
  font-weight: normal;
}
.list-field li:hover figure img {
  transform: scale(1.2);
}
.list-field li:hover figure {
  background-color: #001e62;
}
.list-field li a:hover {
  opacity: 1;
}
.list-field li:hover figcaption {
  color: #fff;
}
.list-field.txt a{
  display: block;
  padding: 0.8em 0.1em;
  border: #dedede 1px solid;
  background-color: #EDEFF7;
  color: #001e62;
  font-weight: 700;
  font-size: 1.2em;
  text-align: center;
  overflow: hidden;
}
.list-field.txt a:hover {
  background-color: #001e62;
  color: #fff;
  transform: scale(1.2);
}

#footermenu .list-field li {
	width: 30%;
}
#footermenu .list-field figure div {
  border: #b3b3b3 3px solid;
  border-radius: 50%;
}
#footermenu .list-field figcaption {
  line-height: 1.4;
}
/*list-box*/
.list-box {
	display: block;
	width: 98%;
  max-width: 1100px;
  margin: auto;
  background-color: #fff;
	border-top: 1px solid #000;
}
.list-box .list_in {
	display: flex;
	justify-content: space-between;
  align-items: center;
	width: 100%;
  padding: 1.5em 0 1em;
	border-bottom: 1px solid #000;
}
.list-box .list_in .list01 {
  display: block;
  width: 80%;
  height: auto;
}
.list-box .list_in .list01 h4 {
  margin-bottom: 0.3em;
  border-bottom: none;
  font-size: clamp(14px, 2vw, 16px);
}
.list-box .list_in .list01 p {
  margin-bottom: 0.1em;
}
.list-box .list_in .list01 .title {
  font-size: 1.2em;
  color: #001e62;
}
.list-box .list_in .list01 .author {
  font-size: 1.0em;
}
.list-box .list_in .list01 .etc span {
  display: inline-block;
  margin-right: 1em;
  font-size: 0.9em;
  color: #737373;
}
.list-box .list_in .list02 {
  display: block;
  width: 18%;
  height: auto;
}
.list-box .list_in .list02 a {
  display: block;
  width: 100px;
  margin: auto;
  padding: 0.4em 0.8em;
  font-size: 12px;
  font-weight: 400;
  background: #fff;
  border: #000 1px solid;
  border-radius: 10vh;
  text-decoration: none;
  color: #000;
  text-align: center;
  letter-spacing: 0.1em;
}
.list-box .list_in .list02 a:hover {
	cursor: pointer;
	color: #fff;
  background: #000;
}
.list-box .tag_box a {
  margin: auto 0.3em 1em 0;
	padding: 0.1em 0.5em;
	font-size: 0.8em;
}

.list-box02 {
	display: flex;
	justify-content: flex-start;
  flex-wrap: wrap;
	width: 98%;
  max-width: 1100px;
  margin: auto;
  background-color: #fff;
}
.list-box02 .list_in {
	display: block;
	width: 20%;
  margin: 0 2.3% 2em;
  padding: 0;
}
.list-box02 .list_in .list01 {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 1em;
  padding: 2px;
  background-color: #fff;
  border: #ddd 1px solid;
}
.list-box02 .list_in .list01 img {
  display: block;
  width: 100%;
  height: auto;
}
.list-box02 .list_in .list02 {
  display: block;
  width: 100%;
  height: auto;
}
.list-box02 .list_in .list02 h4 {
  font-size: clamp(14px, 2vw, 16px);
  border-bottom: none;
}
.list-box02 .list_in .list02 .txt_s {
  margin-bottom: 0.3em;
  font-weight: 700;
  color: #737373;
}

.fle_box {
  display: flex;
  width: 100%;
  margin: auto 0 2em;
}
.fle_box figure {
  display: block;
  width: 18%;
  height: auto;
  margin: 0 auto 1em;
}
.fle_box figure img {
  width: 100%;
  height: auto;
}
.fle_box div {
  display: block;
  width: 80%;
  height: auto;
}
.fle_box.bg {
  padding: 1em;
  background-color: #EDEDED;
  border: #737373 3px solid;
  border-radius: 5px;
}
.fle_box.bg p {
  font-size: 0.9em;
}
.fle_box02 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: auto 0 2em;
}
.fle_box02 figure {
  display: block;
  width: 28%;
  height: auto;
  margin: 0;
}
.fle_box02 figure img {
  width: 100%;
  height: auto;
}
.fle_box02 div {
  display: block;
  width: 70%;
  height: auto;
}

.gry_box {
  margin-bottom: 2em;
  padding: 1em;
  background-color: #FCF4F3;
  border-radius: 5px;
}

ul.li_disc {
  margin: auto 0 2em 1em;
  padding: 0;
  list-style: none;
}
ul.li_disc li {
  position:relative;
  padding: 0 0 0 1em;
  margin: 0.5em 0;
}
ul.li_disc li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: -10px;
  width: 15px;
  height: 15px;
  background: #001e62;
  border-radius: 50%;
}
ol.li_deci {
  counter-reset:list;
  list-style-type: none;
  margin: 1em 0 1em 1em;
  padding:0;
}
ol.li_deci li{
  position:relative;
  padding: 0 0 0 2em;
  margin: 0.5em 0;
}
ol.li_deci li:before{
  counter-increment: list;
  content: counter(list);
  position: absolute;
  top: 0.1em;
  left: -10px;
  width: 30px;
  height: 30px;
  text-align: center;
  color: #fff;
  font-weight: 700;
  line-height:30px;
  background: #001e62;
  border-radius: 50%;
}
.reference {
    position: relative;
}
.reference:before {
    content: '参考';
    margin-right: 0.5em;
    background-color: #0096cc;
    padding: 0.2em 0.5em;
    border-radius: 5px;
  color: #fff;
}
/*form*/
form div {
  display: block;
  margin-bottom: 2.5em;
}
form div:last-child {
  margin-bottom: 0.5em;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select,
textarea {
	border: #ddd 1px solid;
  padding: 0.5em;
  font-size: 1.1em;
  color: #333;
}
input[type="search"]{
  width: 100%;
}

select::-ms-expand {
  display: none;
}
select{
  position: relative;
  padding: 0.5em;
  width: 100%;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.select-wrap {
    position: relative;
    width: 33%!important;
  margin-bottom: 1em;
}
.select-wrap:after {
  content: "";
    position: absolute;
    right: 10px;
    top: 15px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #aaa;
    border-left: 2px solid #aaa;
    transform: translateY(-50%) rotate(-135deg);
  font-size: 20px;
  pointer-events: none;
}
.select-wrap.col2 {
    width: 48%!important;
}
.select-wrap.col1 {
    width: 100%!important;
}
.sel_s .select-wrap {
  width: 28%!important;
  margin: auto;
}
.sel_m .select-wrap {
  width: 43%!important;
  margin: auto;
}
.sel_l .select-wrap {
  width: 70%!important;
  margin: auto;
}
input[type="submit"]{
	display: block;
  min-width: 250px;
	text-decoration: none;
	color: #fff;
	border-radius: 3px;
  margin: 0.5em auto;
	padding: 0.5em 1em;
	font-size: 1em;
	background: #c63527;
  border: #c63527 1px solid;
	letter-spacing: 0.1em;
  box-shadow: 0 2px 2px 0px rgba(0,0,0,0.3);
}
input[type="submit"]:hover {
	cursor: pointer;
	color: #c63527;
  background: #fff;
}

input.mini[type="submit"]{
  min-width: inherit;
	font-size: 1em;
}
.tag_box a {
	display: inline-block;
  margin: 1em 0.3em 0.5em;
	padding: 0.3em 1em;
	font-size: 0.9em;
	background: #001e62;
  border: #001e62 1px solid;
	border-radius: 10vh;
	text-decoration: none;
	color: #fff;
	letter-spacing: 0.1em;
}
.tag_box a:hover {
	color: #001e62;
	background: #fff;
}

.tag_search a {
	display: inline-block;
  margin: 0 0.3em 0.5em;
	padding: 0.1em 1em;
	font-size: 0.8em;
	background: #344D87;
  border: #344D87 1px solid;
	border-radius: 10vh;
	text-decoration: none;
	color: #fff;
	letter-spacing: 0.1em;
}
.tag_search a:hover {
	color: #001e62;
	background: #fff;
}

.goto_search {
  margin: 0;
  padding: 0;
}
.goto_search a {
  position: fixed;
  top: min(2vw, 30px);
  right: 60px;
	display: inline-block;
  margin: 0;
	padding: 0.1em 1em;
	font-size: 1em;
	background: #344D87;
  border: #dedede 1px solid;
	border-radius: 10vh;
	text-decoration: none;
	color: #fff;
	letter-spacing: 0.1em;
  z-index: 2;
}
.goto_search a:hover {
	color: #001e62;
	background: #fff;
}

/*検索モーダル*/
#search-wrap{
    position:fixed;
	top: 0;
    left: 0;
	z-index: -1;
	opacity: 0;
	transition: all 0.4s;
	width:100%;
	height: 100%;
overflow-y:scroll;
}
#search-wrap.panelactive{
	opacity: 1;
	 z-index: 10;
	 background-color:rgba(51,51,51,0.8);
	 display: flex;
	 justify-content: center;
	 align-items: center;
  padding-top: 85px;
}
#search-wrap .search-area{
	display: none;
}
#search-wrap.panelactive .search-area{
	display: block;
	width:90%;
  max-width: 800px;
	position: relative;
}
#search-wrap form{
	position: relative;
	height: auto;
}
.close-btn{
	position: absolute;
	top:0;
	right:0;
	z-index: 2;
	cursor: pointer;
    width: 60px;
    height:60px;
}
.close-btn span{
    display: inline-block;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #333;
 }
.close-btn span:nth-of-type(1) {
    top: 21px;
    left: 16px;
    transform: translateY(6px) rotate(-135deg);
    width: 50%;
}
.close-btn span:nth-of-type(2){
    top: 32px;
    left: 16px;
    transform: translateY(-6px) rotate(135deg);
    width: 50%;
}


/*ボタン*/
.btn {
	text-align: center;
}
.btn a,
.btn input {
	display: inline-block;
  min-width: 250px;
	text-decoration: none;
	color: #000;
	border-radius: 3px;
  margin: 0.5em ;
	padding: 0.5em 1em;
	font-size: 1.1em;
	background: #fff;
  border: #b6b6b6 1px solid;
	letter-spacing: 0.1em;
  box-shadow: 0 2px 2px 0px rgba(0,0,0,0.3);
}
.btn a:hover,
.btn input:hover {
	cursor: pointer;
	color: #fff;
  background: #000;
}

.btn.mini a,
.btn.mini input {
  min-width: inherit;
	color: #fff;
  background: #737373;
	font-size: 1em;
}
.btn.mini a:hover,
.btn.mini input:hover {
	color: #737373;
	background: #fff;
}

/*矢印*/
.btn.arrow a {
	padding-right: 1.3em;
}
.btn.arrow a::after {
	font-family: "Font Awesome 5 Free";
	content: "\f061";
	font-weight: bold;
	display: inline-block;
	padding-left: 1em;
	transform: scale(1.4);
	transition: 0.3s;
}
.btn.arrow a:hover::after {
	transform: scale(1.6);
}

/*パンくず*/
#breadcrumbs{
  display: block;
  width: 98%;
  max-width: 1100px;
  margin: 0 auto 2em;
  padding: 0;
}
#breadcrumbs ul{
  display: flex;
  margin: 0;
  padding: 0;
}
#breadcrumbs li{
  font-size: 0.8em;
}
#breadcrumbs li::after{
  content: '>';
  display: inline-block;
  padding: 0 10px;
}
#breadcrumbs li:last-child::after{
  display: none;
}
#breadcrumbs li a{
	color: #0066C0;
}

/*テキストリンク*/
.txt_link {
	display: inline-block;
	position: relative;
	padding: 0.2em 1.2em 0.2em 0.1em;
  color: #1f4399;
	text-decoration: none;
}
.txt_link::after {
	font-family: "Font Awesome 5 Free";
	content: "\f054";
	font-weight: bold;
	position: absolute;
	right: 0;
}
.txt_link02 {
	position: relative;
  margin-right: 0.3em;
	padding: 0.2em 1.5em 0.2em 0.1em;
  color: #c63527;
	text-decoration: none;
}
.txt_link02::after {
	font-family: "Font Awesome 5 Free";
	content: "\f360";
	font-weight: bold;
	position: absolute;
	right: 0;
}
.txt_link03 {
	position: relative;
  margin-right: 0.3em;
	padding: 0.2em 1.5em 0.2em 0.1em;
	text-decoration: none;
}
.txt_link03::after {
	font-family: "Font Awesome 5 Free";
	content: "\f360";
	font-weight: bold;
	position: absolute;
	right: 0;
}

ul.txt_link_li {
	display: flex;
	justify-content: center;
  margin-bottom: 1em;
	padding: 0;
}
ul.txt_link_li li {
	display: inline-block;
	margin: auto 0.5em 0;
}
ul.txt_link_li li a {
  position: relative;
	padding: 1em 1.5em;
	border: #0071c7 1px solid;
	color: #fff;
	font-size: 1em;
	text-decoration: none;
	text-align: center;
	background: #0071c7;
	letter-spacing: 0.1em;
}
ul.txt_link_li li a:hover {
	color: #0071c7;
	background: #fff;
  opacity: 1;
}

/*テキスト*/
.f_01 {
  color: #001e62;
  font-size: 1.5em;
  font-weight: 700;
}
.f_02 {
  color: #001e62;
  font-size: 1.2em;
  font-weight: 700;
}
.txt_c {
  text-align: center;
}
.txt_l {
  text-align: left;
}
.txt_r {
  text-align: right;
}
.txt_s {
  font-size: 90%;
  line-height: 1.4;
}
.mt_3 {
  margin-top: 3em;
}
.flo_r {
  float: right;
  margin: auto 0 1em 1em;
}
.flo_l {
  float: left;
  margin: auto 1em 1em 0;
}
.img_30 {
  width: 30%;
}
figure.fig_c {
	display: block;
  margin: 1.5em;
  text-align: center;
}
figure.fig_c img {
	max-width: 90%;
  height: auto;
}
figure.fig_c figcaption {
	margin: 0 0 0.2em;
  font-weight: 700;
  font-size: 1.1em;
  text-align: center;
}
.sec_flat02 figure.fig_c figcaption {
	color: #333;
}

/*テーブル*/
table {
  background-color: #fff;
}
table caption {
	font-weight: bold;
	padding: 10px 5px;
  color: #000f33;
}
table {
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 2em;
}
table th, table td {
	padding: 0.8em;
	word-break: break-all;
	border: #b3b3b3 1px solid;
	vertical-align: top;
}
table th {
	width: auto;
	background-color: #737373;
  color: #fff;
}
table.td_1 td:nth-child(1) {
	background-color: #e6e6e6;
  color: #000;
  text-align: center;
  font-weight: 700;
}
table td.sub_th {
	background-color: #e6e6e6;
  color: #000;
  text-align: center;
  font-weight: 700;
}
table.w_40 td:nth-child(1) {
	width: 40%;
}
table td.w_22 {
	width: 220px;
}
table .w_5 {
	width: 5em;
}
table.no_fix {
	table-layout: inherit;
}
table.last_cell tr>*:last-child {
	text-align: center;
}
table.first_cell tr>*:first-child {
	width: 5em;
}

/*アコーディオン*/
#contents_box {
  display: block;
} 
.accordion {
  display: block;
  position: relative;
  width: 96%;
  max-width: 1100px;
  margin: 0 auto 2em;
  padding: 0;
  border: #ddd 1px solid;
  border-radius: 5px;
}
.accordion .toggle {
  display: none;
}
.accordion .option {
  display: block;
  position: relative;
  margin: 0 0.8em 0.5em;
}
.accordion .title,
.accordion .content {
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.5s ease-in-out;
}
.accordion .title {
  display: inline-block;
  width: auto;
  margin: 0;
  padding: 0.1em 2em 0.1em 1.5em;
  color: #333;
	font-size: clamp(15px, 3vw, 20px);
  font-weight: bold;
  line-height: 1.4;
}
.accordion .title::before{
  content: "＋";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  color: #0071c7;
  font-weight: normal;
  text-align: center;
  transition: all 0.5s ease-in-out;
  line-height: 1.2;
}
.accordion .content {
  height: 0;
  overflow: hidden;
}
.accordion .content p {
  margin: 0;
  padding: 0 0.5em 0.5em 2em;
  font-size: 1em;
  line-height: 1.5;
}
.toggle:checked + .title + .content {
  display: block;
  height: inherit;
  min-height: 120px;
  padding: 0.5em 0;
  overflow: inherit;
  transition: all 0.5s ease-in-out;
}
.toggle:checked + .title::before {
  content: "－";
}

.accordion h3 {
	position: relative;
  max-width: 1100px;
	font-size: clamp(16px, 3vw, 22px);
	padding: 0.5em;
	margin: 0 auto 1em;
  background-color: #efefef;
  border-bottom: solid 1px #0071c7;
	line-height: 1.4;
}

/*FAQ*/
.faq {
  margin-top: 3em;
	padding: 0;
}
.faq dt {
	position: relative;
	margin: 2em 0 1em;
	padding: 0 0.8em 0 3.2em;
	font-size: 1.3em;
  font-weight: 700;
  color: #001e62;
	line-height: 1.4;
}
.faq dt::before {
	content: attr(data-number);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	color: rgba(0,30,98,0.3);
	font-size: 2em;
}
.faq dt::after {
	content: '';
	position: absolute;
	bottom: -0.1em;
	left: 0;
	width: 100px;
	height: 1px;
	background-color: rgba(0,30,98,0.6);
}
.faq dd {
  margin: 0 0 1.5em;
	padding: 0 0 1.5em;
  border-bottom: #ddd 1px solid;
	line-height: 1.8;
}
.faq dd em {
  display: inline-block;
  position: relative;
  margin: 0 1em 0 0;
  padding: 0 0.3em;
  font-style: normal;
	font-size: 1.5em;
  font-weight: 700;
	color: #f1c400;
  line-height: 1.2;
}
.faq dd em::after {
	content: '';
	position: absolute;
	top: 0.2em;
  margin-left: 0.3em;
	border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #f2e091;
}
.faq dd:last-child {
  border-bottom: none;
}


/*PAGE TOP*/
.pagetop-show {display: block;}

.pagetop a {
	display: block;
  text-decoration: none;
  text-align: center;
	position: fixed;
	z-index: 99;
	right: 20px;
	bottom: 20px;
	color: #fff;
	font-size: 1.5rem;
	background: rgba(0,0,0,0.3);
  border-radius: 50%;
	width: 60px;
	line-height: 60px;
}
.pagetop a:hover {
	background: rgba(0,0,0,0.5);
}

/*ページネーション*/
.pods-pagination-paginate {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1100px;
  margin: 1em auto;
}
.pods-pagination-paginate .page-numbers {
  color: #000;
  padding: 0.5em 0.8em;
  text-decoration: none;
  transition: background-color .3s;
  border: 1px solid #ddd;
  margin: 0 0.2em;
}
.pods-pagination-paginate .page-numbers.current {
  background-color: #344D87;
  color: #fff;
  border: 1px solid #344D87;
}
.pods-pagination-paginate .page-numbers:hover:not(.current) {background-color: #ddd;}
.pods-pagination-paginate .page-numbers.dots,
.pods-pagination-paginate .page-numbers.dots:hover{
  border: none;
  background-color: #fff;
}

/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #66abf9 !important;}
.color-check, .color-check a {color: #f00 !important;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #666; color: #fff; border-radius: 3px;margin: 5px 0;}
.look .color-check {color: #ffcc00 !important;}
.small {font-size: 0.6em;}
.sn {display: none;}
.all_n {display: none;}
.menu_n {display: none;}



@media screen and (max-width:480px) {
  .mainimg {
    padding-bottom: 2em;
  }
  .new_box {
    padding: 7vw 0 0;
  }
  .new_box .line_box {
    padding: 0.5em;
  }
.select-wrap,
.select-wrap.col2,
.select-wrap.col1 {
    width: 100%!important;
}
select {
  width: 100%;
}
.sel_s .select-wrap,
.sel_m .select-wrap,
.sel_l .select-wrap {
  width: 100%!important;
  margin-bottom: 1em;
}
  
.backnumber_box {
    display: block;
}
.backnumber_box > div {
  width: 100%;
  height: 51px;
  margin: auto 0 1em;
  border-right: none;
  background-image: url("img/icon-back-sp.png");
  background-size: 60%;
  background-position: center left;
}
.backnumber_box > div .btn{
  position: absolute;
  bottom: 0;
  left: inherit;
  right: 0;
  width: 120px;
}

.btn a,
.btn input {
	display: block;
}
table.first_cell tr>*:first-child {
	display: none;
}
.list-field li {
	width: 100%;
}

.list-box .list_in {
	display: block;
	width: 98%;
  margin: auto;
}
.list-box .list_in .list01,
.list-box .list_in .list02 {
  width: 100%;
}
.list-box .list_in .list01 {
  margin-bottom: 0.5em;
}
.list-box02 .list_in {
	display: block;
	width: 48%;
  margin: 0 auto 1em;
}
.fle_box,
.fle_box02 {
  display: block;
}
.fle_box figure,
.fle_box02 figure {
  width: 85%;
  height: auto;
  margin: 1em auto;
}
.fle_box div,
.fle_box02 div {
  width: 100%;
}
.flo_r,
.flo_l {
  float: none;
  margin: auto auto 1em;
}
.img_30 {
  width: auto;
  max-width: 80%;
}
#footer_inner {
  display: block;
}
#footer_logo {
	width: 100%;
  text-align: center;
}
#footermenu ul {
  display: none;
  }
  footer small {
    text-align: center;
  }
.goto_search a:last-child {
  top: min(12vw, 50px);
}
}


@media screen and (min-width:700px) {
.slider {
    width: 73%;
}
.list-field li {
	width: 31%;
  margin: 0.5em 1.1%;
}
.list-field li:nth-child(1),
.list-field li:nth-child(2) {
  width: 35%;
}
main .list-field.txt {
  justify-content: center;
}
/*フッターメニュー*/
#footermenu {
	display: block;
	font-size: 0.8em;
  padding: 0;
}
#footermenu .list-field {
  flex-wrap: nowrap;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
}
#footermenu .list-field li {
	width: 11%;
  margin: 0.5em 0.7%;
}
#footermenu .list-field figure div {
  border: #b3b3b3 3px solid;
}
.list-box > dl {
	width: 49%;
}
footer .copy_wrap {
	display: flex;
	justify-content: space-between;
}
footer .copy_wrap ul {
	justify-content: flex-end;
  margin: 0;
}

.goto_search a:last-child {
  right: 160px;
}
  
.sh {display: none;}

}



@media screen and (min-width:1000px) {

html, body {
	font-size: 16px;
}

body {
min-height: 65vw;
padding-bottom: 160px;
}

section {
  padding: 1em 0;
}

/*header*/
header {
  position: fixed;
}
header #logo_wrap {
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
header #logo {
	margin: 0;
}
  
header + div {
  padding-top: 125px!important;
}

.slider {
    width: 98%;
}
footer {
position: absolute;
    bottom: 0;
    width: 100%;
}

/*menubar*/
#menubar ul {
	display: flex;
	justify-content: space-around;
	line-height: 1.4;
}
#menubar ul li {
	margin: 1em 0;
}
#menubar ul li a {
  position: relative;
	padding: 0 0.8em;
  font-size: 1.2em;
  border-right: #fff 1px solid;
}
#menubar ul li a:hover {
	color: #ECEACD;
}
#menubar ul li:last-child a {
  border-right: none;
}
#menubar ul li a.active::after {
  content: '';
  display: block;
  height: 3px;
  width: 40%;
  border-radius: 3px;
  background: #EBE7E7;
  transition: 0.5s;
  position: absolute;
  bottom: -10px;
  left: 50%;
  margin-left: -20%;
}
/*ドロップダウン*/
#menubar .ddmenu_parent{
	position: relative;	
}
#menubar .ddmenu_parent ul {
	position: absolute;
	z-index: 100;
	width: 180px;
}
/*ハンバーガー*/
#menubar_hdr {display: none;}

header .menu_n {display: block;}
main .menu_n {display: none;}


#footer_inner {
	padding: 1em 0;
}
#footer_logo a img {
	width: 300px;
}

/*contents*/
#contents {
  padding-top: 3em;
}
#contents.sub {
  padding-top: 8em;
}

/*main*/
main {
	flex: 1;
	order: 1;
	margin: 0;
}

/*アコーディオン*/
#contents_box {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 5em;
} 
#contents_box > div:nth-child(1) {
  max-width: 830px;
  margin: 0 0 2em;
  order: 2;
  }
#contents_box > div:nth-child(2) {
  width: 100%;
  order: 3;
  }
#contents_box > div:nth-child(3) {
display: block;
  position: relative;
  width: 100%;
  max-width: 250px;
/*height: 380vh;
max-height: 3150px;*/
  margin: 1.5vw auto 0 0;
  order: 1;
  }
/*.accordion {
height: 49%;
}*/
.goto_search a {
  top: clamp(90px, 10vw, 130px);
  right: min(10%, 4em);
  width: auto;
  min-width: 140px;
  text-align: center;
}
.goto_search a:last-child {
  top: clamp(130px, 15vw, 170px);
  right: min(10%, 4em);
}
  
.p_w80 {
	width: 80%;
}

.pdf_vw iframe {
  max-width: 1310px;
  min-height: 70vw;
}

/*その他
---------------------------------------------------------------------------*/
.ws {width: 48%;display: inline;}
.sn {display: block;}
.sh {display: none;}
}

.list01 p {
	margin-top:0;
	line-height:1.5;
}

.list01 h4 {
	margin-top:0;
}
