/*===== layout =====*/
#wrapper {
  width: 100%;
  margin: 0 auto;
  position: relative;
  text-align: left;
}
.h_en {
  width: 100%;
  margin: 0 auto;
  max-width: 1200px;
  height: 15px;
  text-align: right;
}
.h_en p {
  font-size: 12px;
  padding-right: 6.5%;
  padding-bottom: 3%;
}
.h_en a {
  color: #ddbb51 !important;
}
.h_en a:hover {
  color: #EFEFEF !important;
}


.section-inner {
  width: 100%;
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 10px;
}
.display-pc {
  display: block !important;
}
.display-sp {
  display: none !important;
}
.none {
  display: none !important;
}
#main {
  width: 100%;
  position: relative;
}
.fade, .fadetop, .fadetop-once {
  position: relative;
  opacity: 0;
}
.fade-view {
  animation: fade 1.25s ease-in-out forwards;
}
@keyframes fade {
0% {
 opacity: 0;
}
100% {
 opacity: 1;
}
}
.fadetop-view {
  animation: fadetop 1.25s forwards;
}
@keyframes fadetop {
0% {
 opacity: 0;
 transform: translate(0, 50px);
}
100% {
 opacity: 1;
 transform: translate(0, 0);
}
}
.font-en {
  font-family: 'Merriweather', serif;
}
.font-min {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*===== header =====*/
.menu-trigger {
  display: none;
}
header {
  width: 100%;
  background: rgba(0,0,0,.8);
  padding: 5px 10px 25px 10px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 101;
}
header > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header h1 {
  width: 19.666%;
}
header h1 img {
  width: 100%;
}
nav {
  width: 58%;
  margin-left: auto;
}
nav ul {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
nav ul li {
  margin-right: 4.5%;
}
nav ul li a {
  position: relative;
  display: block;
  color: #fff;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 15px;
  transition: opacity .3s linear;
}
nav ul li a:hover {
  opacity: .7;
}
nav ul li:nth-last-child(-n+2) {
  margin-right: 1.5%;
  width: 19.5%;
}
nav ul li:last-child {
  margin-right: 0;
}
nav ul li:nth-last-child(-n+2) a {
  border: 1px solid rgba(255,255,255,1);
  font-size: 13px;
  text-align: center;
  padding: 10px;
}
@media screen and (max-width:1200px) {
nav {
  width: 65%;
}
}
@media all and (-ms-high-contrast:none) {
nav ul li a {
  padding-top: 3px;
}
nav ul li:nth-last-child(-n+2) a {
  padding: 12px 10px 8px 10px;
}
}
/*===== mv =====*/
#mv {
  position: relative;
  background: url("../img/top/mv.jpg") no-repeat center /cover;
  height: 100vh;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}
#mv h2 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 36px;
  letter-spacing: .45em;
  text-align: center;
  text-shadow: 0px 0px 20px rgba(0, 0, 0, .05);
}
#mv h2 span {
  display: block;
  margin-top: 20px;
  font-family: 'Merriweather', serif;
  font-size: 42px;
  font-weight: 300;
  letter-spacing: .075em;
}
/*===== contents =====*/
#contents {
  padding: 150px 0 80px;
}
.sec {
  margin-bottom: 150px;
}
#greeting {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 1200px;
  align-items: center;
  background: url("../img/top/bg_greeting.jpg") no-repeat left top;
  min-height: 573px;
  padding: 100px 80px 90px 100px;
  margin: 0 auto 150px;
  left: 7%;
}
.bg-overlay::after {
  content: "";
  position: absolute;
  background: rgba(0,0,0,.8);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width:1200px) {
#greeting {
  left: 0;
}
}
#greeting > div {
  position: relative;
  z-index: 3;
  width: 63%;
}
#greeting figure {
  position: relative;
  z-index: 2;
  width: 37%;
}
#greeting > div h2 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 36px;
  letter-spacing: .1em;
  margin-bottom: 30px;
}
#greeting > div h2 span {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-left: .5em;
  letter-spacing: .075em;
  color: #ddbb51;
  font-size: 13px;
}
#greeting > div h2 span::after {
  border-bottom: 1px solid rgba(255,255,255,.5);
  top: 50%;
  content: "";
  position: absolute;
  width: 95%;
  margin-left: .5em;
  z-index: 3;
}
#greeting > div p {
  font-size: 14px;
  letter-spacing: .05em;
  line-height: 1.8;
  padding-left: .5em;
}
#greeting > div p:last-of-type {
  font-size: 24px;
  letter-spacing: .15em;
  margin-top: 30px;
  margin-left: -.2em;
}
#greeting > div p:last-of-type span {
  font-size: 16px;
  margin-right: 1em;
}
#service {
  max-width: 1400px;
  margin: 0 auto 150px;
}
#service ul {
  width: 100%;
  display: flex;
  justify-content: space-around;
  margin-bottom: 50px;
}
#service ul li {
  position: relative;
  height: 550px;
  width: 33.3%;
}
#service ul li:nth-child(1) {
  background: url("../img/top/bg_service01.jpg") no-repeat center top /cover;
  width: 33.4%;
}
#service ul li:nth-child(2) {
  background: url("../img/top/bg_service02.jpg") no-repeat center top /cover;
}
#service ul li:nth-child(3) {
  background: url("../img/top/bg_service03.jpg") no-repeat center top /cover;
}
#service ul li a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  position: relative;
}
#service ul li a::after {
  background: rgba(0,0,0,.6);
  transition: .3s linear;
}
#service ul li a:hover::after {
  background: rgba(0,0,0,.3);
}
#service ul li a h3 {
  position: relative;
  font-size: 26px;
  text-align: center;
  letter-spacing: .1em;
  z-index: 2;
}
#service ul li a h3 span {
  display: block;
  font-size: 13px;
  color: #ddbb51;
  margin-top: 15px;
  letter-spacing: .05em;
  line-height: 1.2;
}
#service ul li a p {
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: 14px;
  text-align: center;
  z-index: 2;
  padding: 30px 10%;
  line-height: 1.8;
  background: rgba(0,0,0,.4);
}
.btn-wh {
  width: 330px;
  margin: 0 auto;
}
.btn {
  display: block;
  width: 100%;
  border: 1px solid #fff;
  text-align: center;
  padding: 15px 10px;
}
#news {
  padding: 0 10px;
}
#news h2 {
  text-align: center;
  font-size: 36px;
  margin-bottom: 40px;
}
#news h2 span {
  display: block;
  font-size: 13px;
  color: #ddbb51;
  margin-top: 10px;
  letter-spacing: .05em;
}
#news .section-inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
#news .section-inner > div {
  width: 48.333%;
}
#news .section-inner > div h3 {
  font-size: 20px;
  color: #ddbb51;
  letter-spacing: .05em;
  text-align: center;
  margin-bottom: 15px;
}
#news .section-inner > .news-index dl {
  width: 100%;
  display: block;
  border-bottom: 1px solid rgba(255,255,255,.3);
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#news .section-inner > .news-index dl:first-of-type {
  border-top: 1px solid rgba(255,255,255,.3);
  padding-top: 20px;
}
#news .section-inner > .news-index dl:last-of-type {
  margin-bottom: 0;
}
#news .section-inner > .news-index dl dt,
#news .section-inner > .news-index dl dd {
  line-height: 1.3;
  font-size: 14px;
}
#news .section-inner > .news-index dl dt {
  color: #bbb!important;
  margin-bottom: 12px;
}
#news .section-inner > .news-index dl dd {
  width: 82.76%;
}
/* 読み込みjs用 */
#sys-news div {
  padding: 0 !important;
}
#sys-news img {
  display: none;
}
#sys-news dl dt {
  display: flex;
  width: 100%;
  border-bottom: 1px solid rgba(255,255,255,.3);
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#sys-news dl dt:first-child {
  border-top: 1px solid rgba(255,255,255,.3);
  padding-top: 20px;
}
#sys-news dl dt .news-title {
  order: 2;
  line-height: 1.3;
}
#sys-news dl dt .news-date {
  order: 1;
  margin-right: 1.5em;
  color: #bbb;
  line-height: 1.3;
}
#sys-document div,
#sys-season div {
  padding: 0 !important;
  margin: 0 !important;
}
#sys-document > div > div > a:first-of-type,
#sys-season a:first-of-type{
  display: none;
}
#a-con {
  text-align: left;
  line-height: 1.3;
  color: #fff !important;
}
#a-con hr {
  margin-bottom: 20px;
}
#a-con br {
}
#a-con img {
  padding-top: 0px;
}
#a-con ul {
  margin-bottom: 20px;
}

#sys-document #a-con table {
  margin-top: 30px;
  display: none;
}
#sys-season {
  position: relative;
  max-width: 640px;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.2);
  margin: 0 auto 60px;
}
#sys-season table {
  position: relative;
  width: 100%;
  max-width: 560px;
  height: 160px;
  margin: 0 auto;
}
#sys-season table p {
  color: #000 !important;
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 80%;
  text-align: left;
}
#sys-season table a {
  display: inline !important;
  color: #1a59e7 !important;
  text-decoration: underline;
  font-weight: bold;
}
/* 読み込みjs用 end */
/* システム用 */
#news #news-list {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
}
#news #news-list .pager {
  margin-top: 20px;
  text-align: center;
}
#news #news-list .pager a {
  margin-right: 10px;
  position: relative;
  transition: opacity .3s linear;
}
#news #news-list .pager a:last-child {
  margin-right: 0;
}
#news #news-list .pager .current {
  font-size: 15px;
  font-weight: bold;
  text-decoration: underline;
}
#news #news-list .pager a:hover {
  opacity: .7;
}
.date {
  text-align: right;
  margin-bottom: 15px;
}
#entry-box {
  margin-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,.2);
  padding-bottom: 40px;
}
#entry-box .detail-txt:not(:last-child) {
  margin-bottom: 30px;
}
#entry-box .detail-txt * {
  color: #fff;
  font-size: 16px !important;
  line-height: 1.8;
}

#mkcontents table {
		font-size:x-small;
		line-height: 1.4em;
		margin-bottom: 2%;
}

#mkcontents > div:first-of-type {
  text-align: center;
}

#backnumber_anchor {
	color: #ccc!important;
}


/* システム用ここまで */
#document {
  background: #111;
  padding: 40px 30px;
}
#document dt {
  font-size: 20px;
  color: #ddbb51;
  margin-bottom: 20px;
  text-align: center;
}
#document p {
  font-size: 14px;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 30px;
}
#document ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
#document ul li {
  width: 31.5%;
  margin-right: 2.75%;
}
#document ul li:nth-child(3n) {
  margin-right: 0;
}
#document ul li a {
  position: relative;
  display: block;
  background: #111;
  border: 1px solid #838383;
  color: #fff;
  font-size: 15px;
  padding: 15px 20px;
}
#document ul li a::after {
  content: "";
  background: url("../img/common/icon_download.png") no-repeat left center /contain;
  display: block;
  position: absolute;
  width: 27px;
  height: 24px;
  top: 50%;
  right: 15px;
  margin-top: -12px;
}
/*===== footer =====*/
#bnr-box {
  background: #111;
  padding: 40px 10px;
}
#bnr-box ul {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
}
#bnr-box ul li {
  color: #fff!important;
  width: 22%;
  margin-right: 4%;
}
#bnr-box ul li:nth-child(4n) {
  margin-right: 0;
}
#footer-info {
  padding: 40px 10px;
  color: #fff!important;
}
#footer-info dl {
  display: flex;
  width: 75%;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
}
#footer-info dl dt {
  width: 22%;
}
#footer-info dl dt img {
  width: 100%;
}
#footer-info dl dd {
  display: flex;
  width: 78%;
  align-items: center;
  justify-content: space-around;
}
#footer-info dl dd p {
  font-size: 14px;
  line-height: 1.2;
  margin: 0 auto;
}
#footer-info dl dd ul {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 340px;
}
#footer-info dl dd ul li,
#footer-info dl dd ul li a{
  width: 47%;
  color: #fff !important;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -.05em;
}
#footer-info dl dd ul li a i {
  transform: rotate(-270deg)
}
#footer-info dl dd div {
  margin-left: auto;
  width: 28%;
}
#footer-info dl dd div a {
  padding: 10px;
  font-size: 14px;
}
#footer-info dl dd i {
  color: #fff!important;
  margin-right: 10px;
}
#footer-nav {
  text-align: center;
  font-size: 0;
  border-top: 1px solid rgba(255,255,255,.15);
  border-bottom: 1px solid rgba(255,255,255,.15);
  padding: 30px 10px;
}
#footer-nav li {
  display: inline-block;
  font-size: 15px;
  margin-right: 40px;
}
#footer-nav li:last-child {
  margin-right: 0;
}
#footer-nav li a {
  display: block;
  font-size: 15px;
  transition: opacity .3s linear;
}
#footer-nav li a:hover {
  opacity: .7;
}
#copy {
  font-size: 13px;
  text-align: center;
  line-height: 1.3;
  margin: 25px 0;
  color: #fff!important;
}
@media screen and (min-width: 769px) {
nav {
  display: block !important;
}
}
@media screen and (max-width:768px) {
/*===== layout =====*/
#wrapper {
  overflow: hidden;
}
.section-inner {
  padding: 0 2.6%;
}
.display-pc {
  display: none !important;
}
.display-sp {
  display: block !important;
}
/*===== header =====*/
header {
  background: rgba(0,0,0,1);
  padding: 4% 0;
  position: relative;
  z-index: 101;
}
header h1 {
  width: 35%;
}
.menu-trigger, .menu-trigger span {
  display: inline-block;
  transition: all .4s;
  position: relative;
}
.menu-trigger {
  position: absolute;
  z-index: 110;
  width: 6.5vw;
  height: 4.5vw;
  right: 2vw;
  top: 3.5vw;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: .5vw;
  background-color: #fff;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  margin-top: 2vw;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger span:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: inline-block;
  width: 100%;
  height: .5vw;
  background-color: #fff;
  transition: all .4s;
}
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(2vw) scale(0);
}
.menu-trigger.active span:nth-of-type(2) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 0;
}
.menu-trigger.active span:nth-of-type(2)::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  top: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-2vw) scale(0);
}
.overlay-active {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background: rgba(0,0,0,.85);
}
nav {
  display: none;
  width: 100%;
  position: absolute;
  left: 0;
  top: 10vw;
  z-index: 110;
}
nav ul {
  flex-direction: column;
}
nav ul li {
  width: 100%;
  margin-right: 0;
}
nav ul li a {
  font-size: 3.5vw;
  padding: 0 2.6% 4% 2.6%;
  border-bottom: 1px solid rgba(255,255,255,.3);
  margin-bottom: 4%;
  text-align: center;
}
nav ul li a:hover {
  opacity: 1;
}
nav ul li:nth-last-child(-n+2) {
  margin-right: 0;
  width: 100%;
}
nav ul li:nth-last-child(-n+2) a {
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.3);
  font-size: 3.5vw;
  padding: 0 2.6% 4% 2.6%;
}
nav ul li:last-child a {
  border-bottom: none;
  margin-bottom: 0;
}
/*===== mv =====*/
#mv {
  background: url("../img/top/mv-sp.jpg") no-repeat center /cover;
  height: 80vw;
}
#mv h2 {
  font-size: 4.75vw;
}
#mv h2 span {
  margin-top: 2.6%;
  font-size: 5vw;
}
/*===== contents =====*/
#contents {
  padding: 10% 0;
}
.sec {
  margin-bottom: 10%;
}
#greeting {
  align-items: flex-start;
  background: url("../img/top/bg_greeting.jpg") no-repeat center /cover;
  min-height: inherit;
  padding: 4% 0 4% 2%;
  margin: 0 auto 10%;
  left: 0;
}
#greeting > div {
  width: 63%;
}
#greeting figure {
  width: 37%;
}
#greeting > div h2 {
  font-size: 4.75vw;
  margin-bottom: 4%;
}
#greeting > div h2 span {
  margin-top: 1.5vw;
  font-size: 2vw;
}
#greeting > div h2 span::after {
  width: 90%;
}
#greeting > div p {
  font-size: 2.5vw;
  padding-right: 2.6%;
}
#greeting > div p:last-of-type {
  font-size: 3vw;
  margin-top: 4%;
}
#greeting > div p:last-of-type span {
  font-size: 2.5vw;
}
#service {
  margin: 0 auto 10%;
}
#service ul {
  width: 65%;
  flex-direction: column;
  margin: 0 auto 6.8%;
}
#service ul li {
  position: relative;
  height: 85vw;
  width: 100%;
  margin-top: 6.8%;
}
#service ul li:nth-child(1) {
  width: 100%;
  margin-top: 0;
}
#service ul li a h3 {
  font-size: 4.5vw;
}
#service ul li a h3 span {
  font-size: 2.25vw;
  margin-top: 2vw;
}
#service ul li a p {
  font-size: 3vw;
  padding: 2.6%;
}
.btn-wh {
  width: 65%;
}
.btn {
  font-size: 3vw;
  padding: 2vw 1vw;
}
#news {
  padding: 0;
}
#news h2 {
  font-size: 4.75vw;
  margin-bottom: 5.5%;
}
#news h2 span {
  font-size: 2.25vw;
  margin-top: 1.5vw;
}
#news .section-inner {
  margin-bottom: 8%;
  flex-direction: column;
}
#news .section-inner > div {
  width: 100%;
}
#news .section-inner > div:first-of-type {
  margin-bottom: 8%;
}
#news .section-inner > div h3 {
  font-size: 3.5vw;
  margin-bottom: 2.6%;
}
#news .section-inner > .news-index dl {
  padding-bottom: 4%;
  margin-bottom: 4%;
}
#news .section-inner > .news-index dl:first-of-type {
  padding-top: 4%;
}
#news .section-inner > .news-index dl:last-of-type {
  margin-bottom: 0;
}
#news .section-inner > .news-index dl dt,
#news .section-inner > .news-index dl dd {
  font-size: 2.5vw;
}
#news .section-inner > .news-index dl dt {
  width: 20%;
}
#news .section-inner > .news-index dl dd {
  width: 78%;
}
/* システム用 */
#news {
  margin-top: -4%;
}
#news #news-list h3 {
  line-height: 1.3;
}
#news #news-list .pager {
  margin-top: 2.6%;
}
#news #news-list .pager a {
  margin-right: 2vw;
  font-size: 3vw;
}
#news #news-list .pager a:last-child {
  margin-right: 0;
}
#news #news-list .pager .current {
  font-size: 3.25vw;
}
.date {
  margin-bottom: 2.6%;
  font-size: 2.75vw;
}
#entry-box {
  margin-bottom: 5.5%;
  padding-bottom: 5.5%;
}
#entry-box .detail-txt:not(:last-child) {
  margin-bottom: 4%;
}
#entry-box .detail-txt * {
  font-size: 3vw !important;
  line-height: 1.6;
}
/* システム用ここまで */
/* 読み込みjs用 */
#sys-news dl dt {
  padding-bottom: 4%;
  margin-bottom: 4%;
}
#sys-news dl dt:first-child {
  padding-top: 4%;
}
#sys-news dl dt .news-title,
#sys-news dl dt .news-date,
#sys-news p {
  font-size: 2.5vw;
}
#sys-document #a-con table {
  margin-top: 4%;
  display: none;
}
#sys-season {
  padding: 4% 2.6%;
  margin: 0 auto 10%;
  width: 100%;
}
#sys-season table {
  background-size: 100% auto;
  width: 100%;
  height: 30vw;
}
#sys-season table p {
  right: 1vw;
  bottom: 1vw;
  width: 90%;
  font-size: 2.5vw;
}
#sys-season table a {
  font-size: 2.5vw;
}
/* 読み込みjs用 end */
#document {
  padding: 4% 2.6%;
}
#document dt {
  font-size: 3.25vw;
  margin-bottom: 2.6%;
}
#document p {
  font-size: 2.5vw;
  margin-bottom: 4%;
}
#document ul {
  margin-top: 4%;
}
#document ul li a {
  font-size: 2.5vw;
  padding: 2vw 1vw;
}
#document ul li a::after {
  background: url("../img/common/icon_download.png") no-repeat left center /contain;
  width: 4vw;
  height: 3.6vw;
  right: 1.5vw;
  margin-top: -1.8vw;
}
/*===== footer =====*/
#bnr-box {
  padding: 5.5% 2.6%;
}
#bnr-box ul li {
  width: 23.5%;
  margin-right: 2%;
}
#bnr-box ul li:nth-child(4n) {
  margin-right: 0;
}
#footer-info {
  padding: 5.5% 2.6%;
}
#footer-info dl {
  flex-direction: column;
}
#footer-info dl dt {
  width: 30%;
  margin: 0 auto 4%;
}
#footer-info dl dd {
  width: 100%;
  flex-direction: column;
  justify-content: center;
}
#footer-info dl dd p {
  font-size: 2.5vw;
  margin: 0 2.5% 4%;
}
#footer-info dl dd ul {
  width: 100%;
  max-width: 100%;
  text-align: center;
  display: block;
  font-size: 0;
  margin-bottom: 4%;
}
#footer-info dl dd ul li {
  width: auto;
  display: inline-block;
  font-size: 3.5vw;
  margin-right: 10%;
}
#footer-info dl dd ul li:last-child {
  margin-right: 0;
}
#footer-info dl dd ul li a {
  width: auto;
  display: block;
  font-size: 3.5vw;
}
#footer-info dl dd div {
  width: 65%;
  margin: 0 auto;
}
#footer-info dl dd div a {
  padding: 2vw 1vw;
  font-size: 2.5vw;
}
#footer-info dl dd i {
  margin-right: 1vw;
}
#footer-nav {
  padding: 0;
  border-bottom: none;
}
#footer-nav li {
  display: block;
  font-size: 3vw;
  margin-right: 0;
}
#footer-nav li a {
  position: relative;
  font-size: 3vw;
  padding: 4% 2.6%;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
#footer-nav li a::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  width: 1vw;
  height: 1vw;
  margin-top: -.5vw;
  border-top: solid 1px rgba(255,255,255,.5);
  border-right: solid 1px rgba(255,255,255,.5);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#footer-nav li a:hover {
  opacity: 1;
}
#copy {
  font-size: 2.25vw;
  margin: 4% 0;
}
}
@media screen and (max-width:425px) {
/*===== header =====*/
nav ul li a {
  font-size: 4.5vw;
}
nav ul li:nth-last-child(-n+2) a {
  font-size: 4.5vw;
}
/*===== contents =====*/
#greeting {
  flex-direction: column;
  background: url("../img/top/bg_greeting.jpg") no-repeat center /cover;
}
#greeting > div {
  width: 100%;
}
#greeting figure {
  width: 60%;
  margin: 4% auto 0;
}
#greeting > div h2 {
  font-size: 6vw;
}
#greeting > div h2 span {
  font-size: 3vw;
}
#greeting > div p {
  font-size: 3.75vw;
}
#greeting > div p br {
  display: none;
}
#greeting > div p:last-of-type {
  font-size: 4.25vw;
}
#greeting > div p:last-of-type span {
  font-size: 3.75vw;
}
#service ul {
  width: 85%;
}
#service ul li a h3 {
  font-size: 5.5vw;
}
#service ul li a h3 span {
  font-size: 3.25vw;
}
#service ul li a p {
  font-size: 3.75vw;
}
.btn-wh {
  width: 85%;
}
.btn {
  font-size: 4.25vw;
  padding: 4% 1vw;
}
#news h2 {
  font-size: 6vw;
}
#news h2 span {
  font-size: 3vw;
}
#news .section-inner > div h3 {
  font-size: 4.75vw;
}
#news .section-inner > .news-index dl {
  flex-direction: column;
}
#news .section-inner > .news-index dl dt,
#news .section-inner > .news-index dl dd {
  font-size: 3.75vw;
}
#news .section-inner > .news-index dl dt {
  width: 100%;
  margin-bottom: 2%;
}
#news .section-inner > .news-index dl dd {
  width: 100%;
}
/* システム用 */
.date {
  font-size: 4vw;
}
#news #news-list .pager a {
  font-size: 4.25vw;
}
#news #news-list .pager .current {
  font-size: 4.5vw;
}
#entry-box .detail-txt * {
  font-size: 4.25vw !important;
}

/* システム用ここまで */
/* 読み込みjs用 */
#sys-news dl dt {
  flex-direction: column;
}
#sys-news dl dt .news-title,
#sys-news dl dt .news-date,
#sys-news p {
  font-size: 3.75vw;
}
#sys-news dl dt .news-date {
  margin-right: 0;
  margin-bottom: 2%;
}
#sys-season {
  border-left: none;
  border-right: none;
}
#sys-season table {
  height: 50vw;
}
#sys-season table p {
  font-size: 3.75vw;
}
#sys-season table a {
  font-size: 3.75vw;
}
/* 読み込みjs用 end */
#document dt {
  font-size: 4.25vw;
  line-height: 1.3;
}
#document p {
  font-size: 3.75vw;
}
#document ul {
  flex-direction: column;
}
#document ul li {
  width: 100%;
  margin-right: 0;
}
#document ul li:not(:last-child) {
  margin-bottom: 4%;
}
#document ul li a {
  font-size: 4.25vw;
  padding: 4% 2vw;
}
#document ul li a::after {
  background: url("../img/common/icon_download.png") no-repeat left center /contain;
  width: 5vw;
  height: 4.4vw;
  margin-top: -2.2vw;
}
/*===== footer =====*/
#bnr-box ul {
  flex-wrap: wrap;
}
#bnr-box ul li {
  width: 47.5%;
  margin-right: 5%;
  margin-bottom: 5%;
}
#bnr-box ul li:nth-child(2n) {
  margin-right: 0;
}
#bnr-box ul li:nth-last-child(-n+2) {
  margin-bottom: 0;
}
#footer-info dl dt {
  width: 42%;
}
#footer-info dl dd p {
  font-size: 3.75vw;
  line-height: 1.3;
}
#footer-info dl dd ul li {
  font-size: 4.55vw;
}
#footer-info dl dd ul li a {
  font-size: 4.75vw;
}
#footer-info dl dd div {
  width: 85%;
}
#footer-info dl dd div a {
  font-size: 4.25vw;
  padding: 4% 2vw;
}
#footer-nav li {
  font-size: 4vw;
}
#footer-nav li a {
  font-size: 4vw;
}
#footer-nav li a::after {
  width: 1.4vw;
  height: 1.4vw;
  margin-top: -.7vw;
}
#copy {
  font-size: 2.5vw;
}
}