@charset "utf-8";

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css); /* 源ノ角ゴシック */

/* 基本設定 */
html{
	font-size: 62.5%;
}
*, *::before, *::after{
  box-sizing: border-box;
}
body{
	color: #000;
	background: #FFF;
	line-height: 1.8;
  font-size: 1.4vw;
	font-family: 'Noto Sans Japanese', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
  -moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; /* 文字サイズの自動調整機能のキャンセル */
}
_:lang(x)::-ms-backdrop, body { font-family: "メイリオ", Meiryo, sans-serif; }
.fntMc{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  transform: rotate(.03deg);
}

@media screen and (max-width: 414px){
  body{
    font-size: 3.4vw;
	  line-height: 1.9;
  }
}

img{
	border: 0;
	vertical-align: top;
}
input ,select{
	position: relative;
	top: 1px;
}
table, th, td{
	border-collapse: collapse;
	border-spacing: 0;
}
ul, li{
	list-style:none;
}
a:link, a:visited{
	color: #000;
	text-decoration: none;
	transition: all 0.5s 0s ease;
}
a:hover, a:active{
	color: #CCC;
}
#wrapper{
  clear: both;
	overflow: hidden;
  position: relative;
}
.dd959,.dd800,.dd768,.dd600,.dd480,.dd414,.dd375,.dd320{
  display: none;
}


/* ヘッダー */
#header{
  position: relative;
  z-index: 9000;
  width: 100%;
  font-size: 1.2vw;
  padding: 0 0 1vw;
}
#header .inner{
  position: relative;
  width: 80%;
  height: auto;
  margin: 0 auto;
}
#header .inner h1{
  float: left;
  width: 36%;
  margin-top: 1vw;
}
#header .inner h1 p{
  font-weight: 200;
  font-size: 1.2vw;
  padding-left: 0.2vw;
  padding-bottom: 0.5vw;
}
#header .inner h1 img{
  width: 100%;
  height: auto;
}
#header .inner .mMenu{
  float: right;
  width: 58%;
  margin-top: 4vw;
  text-align: right;
}
#header .inner .mMenu ul{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-ms-box-lines: multiple;	
	box-lines: multiple;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#header .inner .mMenu ul li{
	-webkit-box-flex: 1.0;
	-moz-box-flex: 1.0;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}
#header .inner .mMenu ul li a{
  display: block;
  padding: 0.8vw 0;
  font-weight: 500;
  width: 90%;
  margin: 0 auto;
  text-shadow: 1px 1px 1px rgba(255,255,255,1);
  text-align: center;
}
#header .inner .mMenu ul li:nth-of-type(1) a,
#header .inner .mMenu ul li:nth-of-type(2) a,
#header .inner .mMenu ul li:nth-of-type(3) a,
#header .inner .mMenu ul li:nth-of-type(4) a{
  display: none;
  overflow: hidden;
}
#header .inner .mMenu ul li:nth-of-type(5) a{
  border: 1px solid #39B14A;
  letter-spacing: 0.1vw;
  padding: 0.8vw 0.8vw 0.8vw 1vw;
}
#header .inner .mMenu ul li:nth-of-type(6) a{
  color: #fff;
  background: #39B14A;
  border: 1px solid #39B14A;
  letter-spacing: 0.3vw;
  padding: 0.8vw 1vw 0.8vw 1.3vw;
  text-shadow: none;
}
#header .inner .mMenu ul li:hover{
	transition: all 0.5s 0s ease;
  opacity: 0.6;
}
#header .inner .menu-trigger{
  display: none;
  transition: all 0.4s;
  box-sizing: border-box;
  position: relative;
  width: 36px;
  height: 36px;
  z-index: 9999;
  margin: 3.5vw 3vw 0 0;
  float: right;
}
#header .inner .menu-trigger img{
  width: 100%;
  height: auto;
}
#page-top{
	position: fixed;
	bottom: 2vw;
	right: 3vw;
  width: 5vw;
  height: auto;
	z-index: 9000;
}
#page-top a img{
  width: 100%;
  height: auto;
}

@media screen and (min-width: 414px){
  #header .fixed{
    position: fixed;
    width: 100%;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.30);
    background: rgba(255,255,255,0.6);
  }
  #header .inner.fixed h1{
    width: 23%;
    height: 6.2vw;
    margin-top: 0vw;
    margin-left: 2%;
  }
  #header .inner h1 p{
    font-size: 1vw;
    padding-left: 4vw;
    padding-bottom: 0;
  }
  #header .inner.fixed h1 img{
    padding-right: 5%;
    margin-top: -0.7vw;
  }
  #header .inner.fixed .mMenu{
    margin-top: 1.5vw;
    width: 73%;
  }
  #header .inner.fixed .mMenu ul li:nth-of-type(1) a,
  #header .inner.fixed .mMenu ul li:nth-of-type(2) a,
  #header .inner.fixed .mMenu ul li:nth-of-type(3) a,
  #header .inner.fixed .mMenu ul li:nth-of-type(4) a{
    display: block;
  }
}
@media screen and (max-width: 414px){
  #page-top{
    bottom: 8vw;
    right: 4vw;
    width: 12vw;
  }
  #header{
    overflow: visible;
    padding: 0 0 1.6vw;
  }
  #header .inner{
    width: 100%;
  }
  #header .inner h1{
    width: 50%;
    margin: 2vw 0 0 3vw;
  }
  #header .inner h1 p{
    font-size: 2vw;
    padding-left: 8vw;
    padding-bottom: 0;
  }
  #header .inner h1 img{
    margin-top: -1vw;
  }
  #header .inner .mMenu{
    float: none;
    position: absolute;
    width: 100%;
    margin: 0;
    left: 0;
    height: 0;
    background: none;
  }
  #header .inner .mMenu ul{
    display: block;
    position: absolute;
    transition: all 0.4s;
    height: 0;
    max-height: 0;
    overflow: hidden;
    width: 100%;
  }
  #header .inner .mMenu ul{
    top: 17vw;
  }
  #header .inner .mMenu ul.active{
    height: auto;
    max-height: 110vw;
  }
  #header .inner .mMenu ul li{
    text-align: center;
    width: 100%;
    border-bottom: 1px solid #ccc;
  }
  #header .inner .mMenu ul li a{
    width: 100%;
    padding: 3vw 0;
    display: block;
    background: rgba(255,255,255,0.8);
    color: #000;
    font-size: 5vw;
  }
  #header .inner .mMenu ul li:nth-of-type(1) a,
  #header .inner .mMenu ul li:nth-of-type(2) a,
  #header .inner .mMenu ul li:nth-of-type(3) a,
  #header .inner .mMenu ul li:nth-of-type(4) a{
    display: block;
  }
  #header .inner .mMenu ul li:nth-of-type(5) a{
    padding: 3vw 0.8vw 3vw 1vw;
  }
  #header .inner .mMenu ul li:nth-of-type(6) a{
    padding: 3vw 1vw 3vw 1.3vw;
  }
  #header .inner .menu-trigger{
    display: inline-block;
  }
}


/* コンテンツ */
#contents{
  clear: both;
	overflow: hidden;
  position: relative;
}
#apology{
  position: relative;
  border: 1px solid #f00;
  text-align: center;
  padding: 1.8vw 0 2.3vw;
  line-height: 1.4;
}
#apology h5{
  font-size: 2vw;
}
#apology p{
  font-size: 1.3vw;
  color: #39B14A;
}
#apology p a{
  text-decoration: underline;
}
#apology p a:hover{
  opacity: 0.7;
}
.section{
	overflow: hidden;
  position: relative;
  width: 80%;
  margin: 0 auto;
}
.section img{
  width: 100%;
  height: auto;
}
.section .subMenu{
  margin: 4vw auto;
}
.section .subMenu ul{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-ms-box-lines: multiple;	
	box-lines: multiple;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.section .subMenu ul li{
	-webkit-box-flex: 1.0;
	-moz-box-flex: 1.0;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}
.section .subMenu ul li a{
  display: block;
  padding: 0.8vw 1vw 0.8vw 1.3vw;
  font-weight: 500;
  width: 90%;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  background: #39B14A;
  border: 1px solid #39B14A;
  letter-spacing: 0.3vw;
}
.section .subMenu ul li:hover{
	transition: all 0.5s 0s ease;
  opacity: 0.6;
}
.section > h2.ttl2h{
  display: block;
  position: absolute;
  z-index: 100;
  top: 17vw;
  left: 11%;
  width: 40vw;
  height: auto;
}
.section h3{
  position: relative;
  color: #31347C;
  letter-spacing: 0.3vw;
  font-size: 2.8vw;
  padding-bottom: 3vw;
	line-height: 1.6;
  margin-top: 8vw;
  margin-bottom: 3vw;
  font-weight: 500;
}
.section h3 small{
  font-size: 1.8vw;
  padding-left: 1vw;
  font-weight: 400;
  color: #000;
	font-family: 'Noto Sans Japanese', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.section h3::after{
  content: "";
  position: absolute;
  width: 12vw;
  height: 5px;
  background: #39B14A;
  bottom: 0;
  left: 0;
}
.section h4{
  position: relative;
  font-size: 2vw;
  font-weight: 500;
  letter-spacing: 0.1vw;
  padding-bottom: 2vw;
  margin-bottom: 2vw;
  margin-top: 2vw;
}
.section h4 small{
  font-size: 1.4vw;
  padding-left: 4vw;
  font-weight: 600;
}
.section h4::after{
  content: "";
  position: absolute;
  width: 2vw;
  height: 2px;
  background: #39B14A;
  bottom: 0;
  left: 0;
}
.section h5{
  font-size: 1.8vw;
  font-weight: 500;
  margin: 1vw 0 1.2vw;
  line-height: 1.3;
}
.section .inBox{
  position: relative;
  overflow: hidden;
  margin-bottom: 5vw;
}
.section .inBox .leftBox-50{
  position: relative;
  float: left;
  clear: left;
  width: 50%;
  padding-right: 3%;
}
.section .inBox .rightBox-50{
  position: relative;
  float: right;
  clear: right;
  width: 50%;
  padding-left: 3%;
}

.section .inBox .cate {
  display: inline-block;
  border: 1px solid #39B14A;
  padding: .2em 1em .2em 1.15em;
  color: #31347C;
  font-size: 140%;
  font-weight: 500;
  letter-spacing: .15em;
  margin-bottom: 1em;
}
.section .inBox .cateItem {
  position: relative;
  margin-bottom: 3em;
  display: flex;
  flex-wrap: wrap;
}
.section .inBox .cateItem li {
  width: 47.5%;
  margin-right: 5%;
  padding-bottom: 1.5em;
}
.section .inBox .cateItem li.ent {
  margin-right: 0%;
}
.section .inBox .cateItem li.w100 {
  width: 100%;
  display: flex;
}
.section .inBox .cateItem li.w100 .inner {
  width: 50%;
}
.section .inBox .cateItem li h5 {
  font-size: 150%;
  letter-spacing: .08em;
}
.section .inBox .cateItem li h5 .new {
  display: inline-block;
  color: #f00;
  padding-right: .5em;
}
.section .inBox .cateItem li h5 small {
  display: inline-block;
  font-size: 80%;
  padding-left: .5em;
}
.section .inBox .cateItem li .img1 {
  width: 100%;
  height: auto;
}
.section .inBox .cateItem li .txt1 {
  font-size: 120%;
}
.section .inBox .cateItem li.w100 .txt1{
  width: 50%;
  padding: 4em 0 0 2.5em;
  white-space: nowrap;
}
.section .inBox .cateItem li .ant {
  font-size: 120%;
  margin-bottom: 2em;
}
.section .inBox .cateItem li .ant small {
  display: block;
  font-size: 90%;
}

.section .box-one{
  position: relative;
  overflow: hidden;
}
.section .box-one li{
  position: relative;
  overflow: hidden;
  margin-bottom: 4vw;
}
.section .box-one li .img{
  float: left;
  width: 60%;
  height: auto;
  margin-right: 3%;
}
.section .box-one li .txt{
  padding-top: 1vw;
}
.section .box-one li .txt h5{
  font-size: 150%;
  line-height: 1.5;
}
.section .box-one li .txt p{
  margin-bottom: 1vw;
}
.section .box-one li .txt p small{
  font-size: 80%;
}
.section .box-33{
  position: relative;
  overflow: hidden;
}
.section .box-33 li{
  width: 30%;
  float: left;
  margin-right: 5%;
  margin-bottom: 5%;
}
.section .box-33 li:nth-child(3n){
  margin-right: 0;
}
.section .box-33 li .txt p{
  padding-bottom: 0.8vw;
}
.section .box-33 li .txt p small{
  font-size: 1vw;
  padding-left: 0.2vw;
}

.section dl.corp{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #999;
  margin-bottom: 5vw;
  font-size: 1.6vw;
}
.section dl.corp dt{
  display: block;
  float: left;
  clear: right;
  width: 25%;
  border-top: 1px solid #999;
  font-weight: 500;
}
.section dl.corp dd{
  display: block;
  float: right;
  width: 75%;
  border-top: 1px solid #999;
}
.section dl.corp dd a{
  color: #39B14A;
  text-decoration: underline;
}
.section dl.corp dd a:hover{
  color: #999;
}
.section dl.corp dd small{
  font-size: 1.3vw;
}
.section dl.corp dt p,
.section dl.corp dd p{
  padding: 1vw;
}
@media screen and (max-width: 414px){
  .section{
    width: 90%;
  }
  #apology{
    margin-top: 8vw;
    padding: 3.6vw 0 4.6vw;
  }
  #apology h5{
    font-size: 4vw;
  }
  #apology p{
    font-size: 2.6vw;
  }
  .section .subMenu{
    display: none;
  }
  .section > h2.ttl2h{
    top: 15vw;
    left: 34%;
    width: 60vw;
  }
  .section h3{
    font-size: 5.6vw;
    padding-bottom: 5vw;
    margin-top: 12vw;
    margin-bottom: 6vw;
  }
  .section h3::after{
    width: 18vw;
    height: 4px;
  }
  .section .center h3::after{
    margin-left: -9vw;
  }
  .section h3 small{
    font-size: 3vw;
  }
  .section h4{
    font-size: 4.4vw;
    padding-bottom: 4vw;
    margin-bottom: 4vw;
  }
  .section h4::after{
    width: 4vw;
    height: 2px;
  }
  .section h4 small{
    font-size: 2.8vw;
  }
  .section .center h4::after{
    left: 50%;
    margin-left: -2vw;
  }
  .section h5{
    font-size: 3.6vw;
    font-weight: 500;
    margin-bottom: 1.5vw;
  }
  .section .inBox{
    margin-bottom: 10vw;
  }
  #sectionT .inBox{
    margin-top: 3vw;
    margin-bottom: 0;
  }
  .section .inBox .leftBox-50{
    float: none;
    width: 100%;
    margin-bottom: 8vw;
    padding-right: 0;
  }
  .section .inBox .rightBox-50{
    float: none;
    width: 100%;
    padding-left: 0;
  }
  
  .section .inBox .cate {
    font-size: 120%;
  }
  .section .inBox .cateItem {
    margin-bottom: 3em;
    display: block;
  }
  .section .inBox .cateItem li {
    width: 100%;
    margin-right: 0%;
  }
  .section .inBox .cateItem li.w100 {
    display: block;
  }
  .section .inBox .cateItem li.w100 .inner {
    width: 100%;
  }
  .section .inBox .cateItem li h5 {
    margin-bottom: .5em;
  }
  .section .inBox .cateItem li.w100 .txt1{
    width: 100%;
    padding: 1em 0;
  }
  .section .inBox .cateItem li .ant {
    margin-bottom: 1em;
  }

  .section .box-one li{
    margin-bottom: 8vw;
  }
  .section .box-one li .img{
    float: none;
    width: 100%;
    margin-right: 0%;
  }
  .section .box-one li .txt{
    padding-top: 3vw;
  }
  .section .box-one li .txt p{
    margin-bottom: 2vw;
  }
  .section .box-33 li{
    width: 47.5%;
    margin-right: 5%;
    margin-bottom: 8%;
  }
  .section .box-33 li:nth-child(3n){
    margin-right: 5%;
  }
  .section .box-33 li:nth-child(2n){
    margin-right: 0;
  }
  .section .box-33 li .txt p small{
    font-size: 2vw;
  }
  .section dl.corp{
    margin-bottom: 10vw;
    font-size: 4vw;
  }
  .section dl.corp dt{
    float: none;
    width: 100%;
  }
  .section dl.corp dd{
    float: none;
    width: 100%;
    border-top: 1px dotted #ccc;
  }
  .section dl.corp dd small{
    font-size: 2.6vw;
  }
  .section dl.corp dt p,
  .section dl.corp dd p{
    padding: 2vw 2vw 2vw 3vw;
  }
}


/* フッター */
#footer{
	overflow: hidden;
  position: relative;
  padding-top: 5vw;
}
#footer .inner{
	overflow: hidden;
  position: relative;
  padding: 3vw 5% 2vw 7%;
  background-color: #eee;
}
#footer .inner .corp{
	overflow: hidden;
  position: relative;
  float: left;
  width: 40%;
  height: auto;
  margin-bottom: 3vw;
}
#footer .inner .corp .logo{
  display: block;
  width: 100%;
  height: auto;
  border-right: 1px solid #999;
  padding-right: 12%;
}
#footer .inner .corp .logo img{
  width: 100%;
  height: auto;
}
#footer .inner .corp .copy{
  font-size: 1.4vw;
  margin-bottom: 0.5vw;
}
#footer .inner .corp .add{
  position: relative;
  margin-top: -1vw;
  font-size: 1.3vw;
}
#footer .inner .corp .add strong{
  font-size: 1.6vw;
  font-weight: 300;
  padding-left: 1.5vw;
}
#footer .inner .sitemap{
	overflow: hidden;
  position: relative;
  float: right;
  width: 50%;
  height: auto;
  margin: 2.5vw 0 3vw;
  font-size: 1.4vw;
  line-height: 2.4;
}
#footer .inner .sitemap > ul{
  float: left;
  width: 40%;
}
#footer .inner .cpr{
  clear: both;
  text-align: center;
  font-size: 1vw;
  letter-spacing: 0.1vw;
}
@media screen and (max-width: 414px){
  #footer{
    padding-top: 6vw;
  }
  #footer .inner{
    padding: 3vw 2vw 4vw 2vw;
  }
  #footer .inner .corp{
    float: none;
    width: 100%;
    margin-bottom: 4vw;
    text-align: center;
  }
  #footer .inner .corp .logo{
    margin: 0 auto 1vw;
    width: 50vw;
    border-right: none;
    padding-right: 0;
  }
  #footer .inner .corp .copy{
    font-size: 3vw;
    margin-bottom: 2vw;
  }
  #footer .inner .corp .add{
    font-size: 4vw;
  }
  #footer .inner .corp .add strong{
    display: block;
    font-size: 5vw;
    padding-left: 0;
  }
  #footer .inner .sitemap{
    float: none;
    width: 100%;
    margin: 1vw 0 6vw;
    font-size: 2.5vw;
  }
  #footer .inner .sitemap > ul{
    float: left;
    width: 100%;
    text-align: center;
  }
  #footer .inner .sitemap > ul li{
    width: 33.3%;
    float: left;
  }
  #footer .inner .sitemap > ul li a{
    display: block;
    border: 1px solid #ccc;
    padding: 3vw 0;
    margin: 1px;
  }
  #footer .inner .cpr{
    font-size: 2vw;
  }
}
/*-- 上：デフォルト：960px以上 (max-width/max-device-width)  --*/

@media screen and (max-width: 959px){
  .nn959{
    display: none !important;
  }
  .dd959{
    display: block !important;
  }
}

@media screen and (max-width: 800px){
  .nn800{
    display: none !important;
  }
  .dd800{
    display: block !important;
  }
}

@media screen and (max-width: 768px){
  .nn768{
    display: none !important;
  }
  .dd768{
    display: block !important;
  }
}

@media screen and (max-width: 600px){
  .nn600{
    display: none !important;
  }
  .dd600{
    display: block !important;
  }
}

@media screen and (max-width: 480px){
  .nn480{
    display: none !important;
  }
  .dd480{
    display: block !important;
  }
}

@media screen and (max-width: 414px){
  .nn414{
    display: none !important;
  }
  .dd414{
    display: block !important;
  }
}

@media screen and (max-width: 375px){
  .nn375{
    display: none !important;
  }
  .dd375{
    display: block !important;
  }
}

@media screen and (max-width: 320px){
  .nn320{
    display: none !important;
  }
  .dd320{
    display: block !important;
  }
}
@media screen and (orientation: landscape) {
}
@media screen and (orientation: portrait) {
}