@charset "utf-8";

/*▼▼▼▼▼▼▼▼▼▼▼reset ▼▼▼▼▼▼▼▼▼▼▼▼*/
/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal; }

/*行の高さをフォントサイズと同じにしています*/
body {
  line-height: 1; }

/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
main, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

/*nav要素内ulのマーカー（行頭記号）を表示しないようにしています*/
/*nav ul {
    list-style:none;
}*/
ol, ul {
  list-style: none; }

/*引用符の表示が出ないようにしています*/
blockquote, q {
  quotes: none; }

/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

/*テキストに打ち消し線が付くようにしています*/
del {
  text-decoration: line-through; }

/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
  border-collapse: collapse;
  border-spacing: 0; }

/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

/*縦方向の揃え位置を中央揃えに指定しています*/
input, select {
  vertical-align: middle; }

/*画像を縦に並べた時に余白が出ないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0; }

/*box-sizingを全ブラウザに対応*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/*▼▼▼▼▼▼▼▼▼▼▼ reset end ▼▼▼▼▼▼▼▼▼▼▼▼*/

* {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-style: normal;
}

html {
  font-size: 10px;

  /* for iPhone */
  -webkit-text-size-adjust: 100%;
}
main,
body {
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-family:
    YuGothic,
    "游ゴシック",
    'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro',
    'メイリオ',
    'Meiryo',
    'Osaka',
    'ＭＳ Ｐゴシック',
    sans-serif;
    font-weight: 500;
  width: 100%;
  /* height: 100%; //ローディングを入れる場合は、height:100%を効かせる。*/
  /*overflow-x: hidden;*/
}
img {
  max-width :100%;
  vertical-align: top;
}
#nol_header img {
  max-width: none;
}
.asap{
  font-family: 'Asap', sans-serif;
}
a img  {
  border: none;
}

ul,ol,li {
  list-style-type: none;
}

input,label,select,textarea {
  vertical-align: middle;
}


#main {
  position: relative;
  /*padding-top: 70px;*/
 
}
@media screen and (min-width:751px) {
  #main {
    /*padding-top: 92px;*/
  }
}

/* SP コピーガード */
#main img {
  pointer-events: none;
  -webkit-touch-callout: none; /* default or none */
    -webkit-user-select: none; /* auto or none */
            user-select: none;
}
#main .controller img,
#main .prev img,
#main .next img{
  pointer-events: auto;
  -webkit-touch-callout: default;
    -webkit-user-select: auto;
            user-select: auto;
}

/* 保存禁止 */
.mfp-figure figure {
  position: relative;
}
.mfp-figure figure::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  content: '';
  background: url(../images/dam.png) no-repeat;
  background-size: 100% 100%;
}
.noto {
  font-family: 'Noto Sans', sans-serif;
}
.roboto {
  font-family: 'Roboto', sans-serif;
}

/*----------------------------------------------------
sectionTitle
----------------------------------------------------*/
.sectionTitle {  
  margin: 0 0 30px;
  text-align: center; 
}

.sectionTitle .sub { 
  color: #22AC37;
  font-size: 14px;
  letter-spacing: 0.02em;
  font-weight: bold;   
}
.sectionTitle .title {
  position: relative;
  color: black;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 0.9;
}

.sectionTitle .title::before {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX( -50% );
  background: url( ../images/title_decoration.png );
  background-repeat: no-repeat;
  background-size: contain;
  width: 162px;
  height: 4px;
}

@media screen and (min-width: 751px) {
  .sectionTitle {  
    margin: 0 0 40px;
  }
  .sectionTitle .sub { 
    font-size: 18px;
    letter-spacing: 0.02em;
    line-height: 2.555;
  }
  .sectionTitle .title {
    color: black;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0;
  }
  .sectionTitle .title::before {
    bottom: -20px;
  }
}


/*----------------------------------------------------
common
----------------------------------------------------*/

.clearfix:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}
.clearfix{display: inline-block;}
* html .clearfix {height: 1%;}
.clearfix{display:block;}


body {
  color: #000;
  font-size: 13px;
  line-height: 2.1;
  width: 100%;
  /*background: #FEEEEC; pink*/
  background: #FFF9D8;
  text-align: left;  
}

@media screen and (max-width: 750px) {
	body {
		background-size: 33px auto;
	}
  body#pageAbout {
    background-size: 450px auto;
  }
  .forSP2 {
  display: block;
  }
  .forPC2 {
  display: none;
  }
}
@media screen and (min-width: 751px) {
  body {
    font-size: 14px;
    line-height: 1.875;
  }
}

.off {
  display: none;
}
.on {
  display: block;
}



@media screen and (min-width: 751px) {
  html,
  body {
    height: 100%;
  }
  .forPC {
    display: block;
  }
  .forSP,
  .forSPi,
  .forSPib {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  html,
  body {
    height: auto;
  }
  .forPC {
    display: none;
  }
  .forSP {
    display: block;
  }
  .forSPi {
    display: inline;
  }
  .forSPib {
    display: inline-block;
  }
}

a {
  outline: none;
  text-decoration: none;
  color: #2C1A15;
}

a:link {
  color: #2C1A15;
}

a:visited {
  color: #2C1A15;
}

@media screen and (min-width: 751px) {
  a:hover {
    text-decoration: none;
  }
  a img.alpha {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a:hover img.alpha {
    opacity: 0.8;
  }
  a:hover img.saturate {
    filter: saturate(150%);
  }
}
.nowrap {
  white-space: nowrap;
}

.ibLeft {
  display: inline-block;
  text-align: left;
}

.shadow {
  box-shadow: 5px 5px 0px rgba(0,0,0,0.3);
}
.image img{
  width: 100%;
}
.textCenter{
  text-align: center;
}
.textRight{
  text-align: right;
}
.kome {
  padding-left: 1.5em;
  text-indent: -1.5em;
  display: inline-block;
}
.kome::before {
  content:"※ ";
  font-weight: bold;
  display: inline;
  font-size: 1.1em;
  color :#CD2A13;
}
.maru {
  padding-left: 1.5em;
  text-indent: -1.5em;
  display: inline-block;
}
.maru::before {
  content:"● ";
  font-weight: bold;
  display: inline;
  font-size: 1.1em;
  color :#CD2A13;
}
/***************/
/* 表示制御     */
/***************/
@media screen and (max-width: 750px) {
  .nonSP,
  .forTB,
  .forPC {
    display: none !important;
  }
  .forSP,
  .forSPTB {
    display: block;
  }
  .forSP.inline,
  .forTB.inline {
    display: inline;
  }
}
@media screen and (min-width: 751px) {
  .forSP {
    display: none !important;
  }
  .forTB,
  .forSPTB {
    display: block;
  }
  .forPC {
    display: none  !important;
  }
}

@media screen and (min-width: 981px) {
  .forTB {
    display: none !important;
  }
  .forPC {
    display: block;
  }
}

/***************/
/* text change */
/***************/
.large {
  font-size: 1.36em;
}
.small {
  font-size: 0.8em;
}
.bold {
  font-weight: bold;
}
.text.center{
  text-align: center;
}
.red {
  color: #E34934;
}
.purple {
  color: #7238AD;
}
.green {
  color: #44B77E;
}
.blue {
  color: #3580BA;
}
.yellow {
  color: #efe200;
}
.yellow2 {
  color: #FFF7CB;
}
.orange {
  color: #EB9800;
}
.olive{
  color: #C4BE27;
}
.white{
  color: #fff;
}

/*********************/
/* background change */
/*********************/
.bg_lightpink {
  background-color: #FEEEEC;
}
.bg_lightgreen {
  background-color: #F1FCDA;
}
.bg_lightblue {
  background-color: #EAF6FF;
}
.bg_lightyellow {
  background-color: #FFF9D8;
}
.bg_white {
  background-color: #FFFFFF;
}
body.ft_bg_lightpink #siteFoot {
  background-color: #FEEEEC;
}
body.ft_bg_lightgreen #siteFoot {
  /* background-color: #F1FCDA; */
  background-color: #F1FCDA;
}
body.ft_bg_lightblue #siteFoot {
  background-color: #EAF6FF;
}
body.ft_bg_lightyellow #siteFoot {
  background-color: #FFF9D8;
}

/*********************/
/* 余白調整 */
/*********************/
.addMgnT {
  margin-top: 30px;
}
.addMgnB {
  margin-bottom: 30px;
}
.addPdgT {
  padding-top: 30px;
}
.addPdgB {
  padding-bottom: 30px;
}
@media screen and (min-width: 751px) {
  .addMgnT {
    margin-top: 50px;
  }
  .addMgnB {
    margin-bottom: 50px;
  }
  .addPdgT {
    padding-top: 50px;
  }
  .addPdgB {
    padding-bottom: 50px;
  }
}

/*********************/
/* title deco(行頭)   */
/*********************/
.decoRed,
.decoBlue,
.decoGreen,
.decoOrange,
.decoPurple,
.decoWhite,
.decoOlive,
.decoOrange{
  position: relative;
  padding-left: 14px;
}
.decoRed::before,
.decoBlue::before,
.decoGreen::before,
.decoPurple::before,
.decoWhite::before,
.decoOlive::before,
.decoOrange::before{
  position: absolute;
  content:"";
  display: block;
  width: 3px;
  left: 6px;
  top: 10%;
  bottom:10%;
}
.decoWhite::before{
  background-color: #ffffff;
}
.decoRed::before{
  background-color: #E34934;
}
.decoBlue::before{
  background-color: #3580BA;
}
.decoGreen::before{
  background-color: #44B77E;
}
.decoPurple::before{
  background-color: #7238AD;
}
.decoOrange::before{
  background-color: #EB9800;
}
.decoOlive::before{
  background-color: #C4BE27;
}
@media screen and (min-width: 751px){
  .decoRed,
  .decoBlue,
  .decoGreen,
  .decoPurple,
  .decoWhite,
  .decoOlive,
  .decoOrange{
    padding-left: 40px;
  }
  .decoRed::before,
  .decoBlue::before,
  .decoGreen::before,
  .decoPurple::before,
  .decoWhite::before,
  .decoOlive::before,
  .decoOrange::before{
    width: 5px;
    left: 19px;

  }
}
.dot{
  position: relative;
  margin-bottom: 10px;
}
.dot::after{
  content:"";
  display: block;
  position: absolute;
  height: 1px;
  border-bottom: 1px dashed;
  left: 0px;
  right: 0;
  bottom:-10px;
}
@media screen and (min-width: 751px){
  .dot{
    margin-bottom: 5px;
  }
  .dot::after{
    bottom:-5px;
  }
}
/*********************/
/* border(タイトル行)  */
/*********************/
.bdrRed{
  border: 2px solid #E34934;
  box-sizing: border-box;
}
.bdrGreen{
  border: 2px solid #44B77E;
  box-sizing: border-box;
}
.bdrPurple{
  border: 2px solid #7238AD;
  box-sizing: border-box;
}
.bdrOrange{
  border: 2px solid #EB9800;
  box-sizing: border-box;
}
.bdrBlue{
  border: 2px solid #3580BA;
  box-sizing: border-box;
}
.bdrOlive{
  border: 2px solid #C4BE27;
  box-sizing: border-box;
}
/*********************/
/* table             */
/*********************/
.table{
  border: solid 1px #2C1A15;
  border-collapse: collapse;
  width: 100%;
}
.table thead{
  background-color: #2C1A15;
  color:#fff;
}

.table thead td{
  text-align: center;
}
.table thead td:nth-child(1){
  width: 8.2%;
  min-width: 92px;
}
.table thead td:nth-child(2){
  width: 8%;
  min-width: 90px;
}
.table tbody{
  background-color: #fff;
}
.table tbody td{
  border: solid 1px #2C1A15;
  padding:10px;
  vertical-align: top;
}

.table .date{
  white-space: nowrap;
  font-weight: bold;
  font-size: 1.2em;
}
.table .time{
  white-space: nowrap;
}
@media screen and (min-width: 751px){
  .table tbody td{
    padding:20px;
  }
}
/*2カラムのテーブル*/
.table.col2 tr td:nth-child(1){
  width: 26%;
}
.table.col2 tr td:nth-child(2){
  width: 74%;
}
/*都道府県の４カラムテーブル*/
.table.area tr td:nth-last-child(4){
  width: 4.46%;
  min-width: auto;
}
.table.area tr td:nth-last-child(3){
  width: 14%;
  min-width: 55px;
}
@media screen and (min-width: 751px){
  .table.area tr td:nth-last-child(3){
    width: 7.32%;
    min-width: 80px;
  }
}
.table.area tr td:nth-last-child(2){
  width: 4.46%;
  min-width: auto;
}
.table.area tr td:nth-last-child(1){
  width: 66%;
}
.table.area tr td span{
  display: block;
  max-width: 20px;
  line-height: 1.2em;
}
/*タイムテーブルのテーブル*/
.table.timetable  thead td:nth-child(2) {
  width: auto;
  min-width: auto;
}
/*td内に横バーを引く*/
.table hr {
  height: 1px;
  border: none;
  border-top: 1px #E3E3E3 solid;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 751px){
  .table hr {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
/*内容部分のイメージを右側に表示*/
.table td .imageRight{
  display: flex;
  justify-content: space-between;
}
.table td .imageRight span{
  display: block;
  width: 63.89%;
}
.table td .imageRight .image{
  width: 32.84%;
}
/*********************/
/* Layout set        */
/*********************/

@media screen and (max-width: 750px){
  .col_sp2{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .col_sp2 .box{
    width: 48%;
  }
  .narrow .box{
    margin-top: 10px;
  }
  .col_sp2.narrow .box{
    width: 49%; 
  }
}
@media screen and (min-width: 751px){
  
  .col_pc2{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .col_pc2 .box{
    width: 48%;
  }
  .col_pc2.narrow .box{
    width: 49%;
  }
  .col_pc3{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .col_pc3::after{
    content:"";
    width: 32%;
    display: block;
  }
  .col_pc3 .box{
    width: 32%;
  }
  .col_pc3.narrow .box{
    width: 33%;
  }
  .col_pc4{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .col_pc4::before{
    content: "";
    display: block;
    width: 23%;
    order:1;
  }
  .col_pc4::after{
    content: "";
    display: block;
    width: 23%;
  }
  .col_pc4 .box{
    width: 23%;
  }
  .col_pc4.narrow .box{
    width: 24%;
  }
  .pcReverse{
    flex-direction: row-reverse;
  }
}

/*----------------------------------------------------
inner
----------------------------------------------------*/

.inner,
.innerSP {
  margin: 0 20px;
}
.innerPC {
  text-align: center;
}
@media screen and (min-width: 751px) {
  .inner,
  .innerPC {
    margin: 0 30px;
  }
  .innerSP {
    margin: 0;
  }
}
@media screen and (min-width: 1060px) {
  .inner,
  .innerPC {
    margin: 0 auto;
    width: 1000px;
  }
}

/* max7 */
.max7 {
  max-width: 700px;
  margin: 0 20px;
  box-sizing: border-box;
}
@media screen and (min-width: 751px) {
  .max7 {
    margin: 0 auto;
  }
}


/*----------------------------------------------------
loading
----------------------------------------------------*/
#loadingWrap {
  overflow-x: hidden;
}
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #ffffff;
  z-index: 10000;
}
#loader {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #555555;
  z-index: 10001;
}
#loader p {
  display: none;
  margin-top: 10px;
  color: #555555;
}
#loader img {
  display: none;
  width: 100%;
  height: auto;
  max-width: 120px;
}
@media screen and (min-width: 751px) {
  #loader img {
    max-width: 240px;
  }
}


/*----------------------------------------------------
imgHov
----------------------------------------------------*/

@media screen and (min-width: 641px) {
  .imgHov .target {
    display: block;
    overflow: hidden;
    cursor: pointer;
  }
  .imgHov .target img {
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
  }
  .imgHov:hover .target img {
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}


/*----------------------------------------------------
siteHead
----------------------------------------------------*/

#siteHead {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  background: #22AC37;
  z-index: 99;
}
@media screen and (min-width: 751px) {
  #siteHead {
    
    display: block;
    width: 100%;
    height: 109px;
    background: url(../images/head_bg.png) repeat-x;
    background-size: 108px 109px;
  }
}
/*----------------------------------------------------
nav
----------------------------------------------------*/
#nav {
  position: relative;
  height: 60px;
  
}
#nav .inner {
  text-align: left;
}
#nav .title {
  padding-top: 10px;
  width: 80px;
}
#nav .title a {
  display: inline-block;
}
#nav .online {
  position: fixed;
}
#nav .online img {
  width: 100%;
}
#nav .wrap {
  text-align: center;
  position: absolute;
  top: 60px;
  width: 100%;
  left: 100vw;
  transition: all 0.5s;
  z-index: -1;
}
#nav .wrap.open {
  left: 0;
}
@media screen and (max-width: 750px) {

  #nav .menu {
    position: fixed;
    padding:18px 15px;
    width: 60px;
    height: 60px;
    top: 0px;
    right: 0;
    box-sizing: border-box;
    background: #F58200;
  }
  #nav .online {
    width: 95px;
    left: 120px;
    top: 22px;
  }
  #nav .menu span:not(:last-child){
    display: block;
    position: absolute;
    background: #fff;
    left: 15px;
    width: 30px;
    height: 2px;
  }

  #nav .menu span:nth-child(1){
    top: 18px;
    transition: all 0.3s;
  }
  #nav .menu span:nth-child(2){
    top: 30px;
    transition: all 0.3s;
  }
  #nav .menu span:nth-child(3){
    bottom: 5px;
    display: block;
    position: absolute;
    font-size: 10px;
    font-weight: bold;
    color:#fff;
  }
  #nav .menu.open span:nth-child(1){
    transform:rotate(20deg);
    top:25px;
  }
  
  #nav .menu.open span:nth-child(2){
    transform:rotate(-20deg);
    top:25px;
  }
  #nav .wrap{
    background-color: #009328;
    padding:0 30px 60px;
    box-sizing: border-box;
    height: calc(100vh - 60px);
    text-align: left;
  }

  #nav li.lt_sns {
    margin: 20px 0 0;
  }
  #nav .menu_sns {
    display: flex;
    justify-content: flex-end;
  }

  #nav .wrap .g_top_menu{
    position: relative;
    z-index: 1;
  }
  #nav .g_top_menu>li>a,
  #nav .g_top_menu>li>.nolink {
    padding-right: 30px;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(255,255,255,0.8);
  }
  #nav .g_top_menu>li a,
  #nav .g_top_menu>li .nolink {
    position: relative;
    display: block;
    line-height: 60px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
  }
  /*サブメニューがない場合*/
  #nav .arrow>a::after{
    content:"";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform:rotate(45deg);
    right: 15px;
    top: calc(50% - 6px);
  }
  /*サブメニューがある場合*/
  #nav .plus>a::before{
    content:"";
    display: block;
    position: absolute;
    width: 12px;
    height: 2px;
    background: #fff;
    right: 13px;
    top: calc(50% - 1px);
  }
  #nav .plus>a::after{
    content:"";
    display: block;
    position: absolute;
    width: 2px;
    height: 12px;
    background: #fff;
    right: 18px;
    top: calc(50% - 6px);
  }
  /*サブメニュー------------------------------------------*/
  #nav .g_sub_menu {
    display: none;
    border-bottom: 1px solid rgba(255,255,255,0.8);
  }
  #nav .g_sub_menu>li a {
    /*background:#03a12d;*/
    display: block;
    position: relative;
    min-height: 50px;
    padding:0 30px 0 20px;
    box-sizing: border-box;
    padding-left: 1em;
    color:#fff;
  }
  #nav .g_sub_menu>li:not(:last-child) a {
    border-bottom:1px dashed rgba(255,255,255,0.8);
  }
  #nav .g_sub_menu>li a span {
    display: inline-block;
    position: absolute;
    line-height: 1.4;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-weight: bold;
    font-size: 0.9em;
    color:#fdfdbd;
  }
  /*#nav .arrow>a::after{
    content:"";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform:rotate(45deg);
    right: 15px;
    top: calc(50% - 6px);
  }*/
  /*サブメニュー開閉制御-----------------------------------*/

}
@media screen and (max-width: 374px) {
  #nav .wrap{
    padding: 0 10px 60px;
    overflow-y: auto;
  }
}
@media screen and (min-width: 751px) {
  #nav {
    height: 85px;
  }
  #nav .title {
    padding-top: 0;
    width: 125.5px;
    float: left;
    line-height: 44.8px;
    padding-top: 14px;
  }
  #nav .title img {
    vertical-align: middle;
  }
  #nav .online {
    width: 12%;
    max-width: 157px;
    top: 44px;
    left: 150px;
    transition: all 0.3s;
  }
  #nav .wrap {
    display: block;
    text-align: right;
    position: static;
    top: 0;
    width: auto;
    margin-top: 0;
    float: right;
  }
  #nav .g_top_menu {
    display: flex;
    letter-spacing: normal;
    text-align: right;
    margin-left: auto;
    padding:20px 0;
    /*margin-top: 5px!important;*/
  }
  
  #nav .g_top_menu>li {
    position: relative;
    display: inline-block;
    height: 58px;
    min-width: 67px;
    padding:14px;
    width: 20%;
    transition: all 0.3s;
  }
  #nav .g_top_menu>li::before {
    content:"";
    display: block;
    position: absolute;
    background: #009328;
    width: 61px;
    height: 61px;
    border-radius: 50%;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate( -50%, -50%);
    transition: all 0.3s;
  }
  #nav .g_top_menu>li.active::before {
    background: #0A7400;
  }
  #nav .g_top_menu>li:not(.nolink):hover::before {
    background: #0A7400;
  }
  #nav .g_top_menu>li.nhkhiroba::before {
    background: orange;
  }
  #nav .g_top_menu>li.jaa::before {
    background: #2961A7;
  }
  #nav .g_top_menu>li.jagroup::before {
    background: #2961A7;
  }
  #nav .g_top_menu>li.nhkhiroba:not(.nolink):hover::before {
    background: #F58200; /*濃いオレンジ*/
  }
  #nav .g_top_menu>li.jaa:not(.nolink):hover::before {
    background: #22518f; /*濃い青*/
  }
  #nav .g_top_menu>li.jagroup:not(.nolink):hover::before {
    background: #22518f; /*濃い青*/
  }
  #nav .g_top_menu>li.notlink::before {
    background: gray;
  }
  #nav .g_top_menu>li.notlink:not(.nolink):hover::before {
    background: gray;
  }
  
  #nav .g_top_menu>li.lt_sns::before {
    content:"";
    display: none;
  }
  #nav .g_top_menu>li.lt_sns:hover::before {
    background: initial;
  }
  #nav .g_top_menu>li.lt_sns {
    position: relative;
    display: inline-block;
    height: 58px;
    min-width: 90px;
    padding:20px 5px 5px;
    width: 20%;
    transition: all 0.3s;
  }
  #nav .g_top_menu>li.lt_sns .menu_sns {
    display: flex;
    justify-content: flex-end;
  }
  #nav .g_top_menu>li.lt_sns .menu_sns li a img {
    height: 15px;
    width: auto;
  }
  #nav .g_top_menu>li .subWrap,
  #nav .g_top_menu>li>a,
  #nav .g_top_menu>li>.nolink {
    position: absolute;
    display: inline-block;
    cursor: pointer;
    text-align: center;
    width: 100%;
    text-align: center;
    line-height: 1.2em;
    font-size: 11px;
    font-weight: bold;
    color:#fff;
    white-space: nowrap;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
  }
  #nav .g_top_menu>li .nolink {
    cursor: default;
  }
  #nav .g_sub_menu {
    display: none;
    position: absolute;
    opacity: 0;
    transition: all 0.3s;
    right: 0;
    top: calc(100% + 1px);
    width: 200px;
    padding:20px 10px 0;
  }
  #nav .g_sub_menu::after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    z-index: 1;
    border-style: solid;
    border-width: 0 0 20px 16px;
    border-color: transparent transparent  #ffffff transparent;
    top: 1px;
    left: 65%;
    margin-left: -8px;
  }
  #nav .g_sub_menu::before {
    content: '';
    position: absolute;
    width: 0;
    z-index: 0;
    border-style: solid;
    border-width: 0 0 21px 17px;
    border-color: transparent transparent  #a16666 transparent;
    top: -1px;
    left: 65%;
    margin-left: -8px;
    display: block;
  }
  #nav .g_sub_menu>li {
    background: #fff;
    border-left: 1px solid #754C25;
    border-right: 1px solid #754C25;
    transition: all 0.3s;
  }
  #nav .g_sub_menu>li:not(:last-child) {
    border-bottom: 1px dashed #754C25;
  }
  #nav .g_sub_menu>li:first-child {
    border-top: 1px solid #754C25;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
  }
  #nav .g_sub_menu>li:last-child {
    border-bottom: 1px solid #754C25;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  #nav .g_sub_menu>li>a{
    padding:10px;
    display: block;
    text-align: left;
    font-size: 13px;
    line-height: 1.5;
    color:#754C25;
  }
  #nav .g_sub_menu>li:hover{
    background:#ffd59e; 
  }
  /*表示処理*/
  #nav .g_top_menu .lv1:hover .g_sub_menu {
    display: block;
    opacity: 1;
  }
}

@media screen and (min-width: 850px) {
  #nav .g_top_menu>li {
    min-width: 80px;
    width: 20%;
  }
}

@media screen and (min-width: 901px) {
  #nav .online {
    width: 157px;
    top: 40px;
    left: 170px;
  }
}
@media screen and (min-width: 1061px) {
  #nav .online {
    left:calc(50% - 350px);
    /*width: 157px;*/
    /*top: 35px;*/
  }
  #nav .g_top_menu>li {
    min-width: 110px;
  }
  #nav .g_top_menu>li>a,
  #nav .g_top_menu>li .nolink {
    font-size: 13px;
  }
  #nav .wrap {
    margin-right: -30px;
  }

  #nav .g_top_menu>li.lt_sns {
    height: 58px;
    min-width: 70px;
    padding:20px 14px 14px;
    width: 20%;
  }
  #nav .g_top_menu>li.lt_sns .menu_sns li a img {
    height: 15px;
    width: auto;
  } 
}
@media screen and (min-width: 1367px) {
  #nav .g_top_menu>li{
    /* min-width: 130px; */
  }
}

/* #nav .menu.forNav {
  display: block;
}
@media screen and (min-width: 920px) {
  #nav .menu.forNav {
    display: none;
  }
} */

/* #nav .wrap.forNav {
  display: none;
}
@media screen and (min-width: 920px) {
  #nav .wrap.forNav {
    display: block;
  } 
} */

/*----------------------------------------------------
breadcrumb
----------------------------------------------------*/
#breadcrumb{
  padding:20px 0 30px;
  line-height: 1.3;
}
#breadcrumb ul{
  display: flex;
  flex-wrap: wrap;
  padding:5px 0;
  font-size: 14px;
}
#breadcrumb li a img{
  padding-top: 4px;
  
}
#breadcrumb ul li:not(:first-child)::before {
    content: "＞";
    margin-right: 5px;
}
#breadcrumb ul li:not(:first-child) {
    margin-left: 5px;
}
@media screen and (min-width: 751px) {
  #breadcrumb li a img{
    padding-top: 6px;
  }
  #breadcrumb li a {
    transition: all 0.3s;
  }
  #breadcrumb li a:hover {
    opacity: 0.8;
    color: #0A7400;
  }
}
/*----------------------------------------------------
打消し線2/10追加
----------------------------------------------------*/
span.del {
  text-decoration-line: line-through;
  text-decoration-style:double;
  text-decoration-color: red;
}
/*----------------------------------------------------
siteFoot
----------------------------------------------------*/
#siteFoot {
  background: url(../images/bg_footer_sp.png) no-repeat;
  background-size: 100% 100%;
  background-position: center top;
  padding: 60px 0 20px;
}

#siteFoot.bg_lightgreen {
  background-color: #F1FCDA;
}
#siteFoot.bg_lightblue {
  background-color: #EAF6FF;
}
#siteFoot.bg_lightyellow {
  background-color: #FFF9D8;
}

.f_logo {
  width: 159px;
}
.menu_sns_text {
  text-align: center;
  font-size: 0.95em;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.menu_sns {
  display: flex;
  justify-content: center;
}
.menu_sns li+li {
  margin-left: 20px;
}
.menu_sns li a {
  display: inline-block;
}
.menu_sns li a img {
  height: 24px;
  width: auto;
}
.copyright {
  color:#fff;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .f_logo {
    margin: 25px 0; 
  }
  #siteFoot .f_cols {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #siteFoot .f_cols .menu_sns_wrap {
    order:1;
  }
  #siteFoot .f_cols .f_logo {
    order:2;
  }
  #siteFoot .f_cols .copyright {
    order:3;
  }
}
@media screen and (min-width: 751px) {
  #siteFoot {
    background: url(../images/bg_footer_pc.png) no-repeat;
    background-size: 100% 100%;
    background-position: center top;
    padding: 45px 0 30px;
  }
  .f_cols {
    position: relative;
  }
  .f_logo {
    width: 160px;
  }
  .menu_sns_wrap {
    position: absolute;
    padding-top: 10px;
    right: 0;
    top:0;
    z-index: 1;
  }
  .copyright {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    font-size: 15px;
  }
}

/*----------------------------------------------------
footerSNS
----------------------------------------------------*/
#snslinks{
  position: relative;
  background: #F7ECCF;
  padding-top: 40px;
  padding-bottom: 80px;
}
#snslinks .bg_town{
  position: absolute;
  background: url(../images/bg_parts_town.png) repeat-x;
  background-size: 376px 52px;
  width: 100%;
  height: 52px;
  left: 0;
  bottom: 0;
  z-index: 0;
}
#snslinks li a{
  display: block;
}
@media screen and (max-width: 750px) {
  #snslinks li:not(:last-child){
    margin-bottom: 10px;
  }

  #snslinks ul{
    max-width: 345px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 751px) {
  #snslinks{
    padding-bottom: 40px;
  }
  #snslinks ul{
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
  }
  #snslinks ul li{
    width: 33%;
  }
  #snslinks li a img{
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #snslinks li a:hover img{
    opacity: 0.75;
  }
}

/*----------------------------------------------------
footerMenu
----------------------------------------------------*/
@media screen and (min-width: 751px) {
  #footerMenu{
    display: flex;
    justify-content: center;
    margin: 40px auto;
  }
  #footerMenu li{
    border-left: 1px solid #707070;
    padding:0 20px;
    line-height: 15px;
  }
  #footerMenu li:last-child{
    border-right: 1px solid #707070;
  }
  #footerMenu li a{
    color:#60514D;
  }
}

/*----------------------------------------------------
toPageTop
----------------------------------------------------*/

#toPageTop img {
  position: fixed;
  top: auto;
  bottom: 105px;
  left: auto;
  right: 45px;
  width: 150px;
  max-width: none;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: -10;
}
#toPageTop.short img {
  top: 430px;
  bottom: auto;
  right: 10px;
  width: 100px;
}
#toPageTop.view img {
  opacity: 1;
  bottom: 100px;
  z-index: 99;
}
#toPageTop.view img:hover {
  bottom: 110px;
}
@media screen and (max-width: 750px) {
  #toPageTop img {
    bottom: 20px;
    right: 10px;
    /* width: 77px;
    height: 90px; */
  }
  #toPageTop.short img {
    top: auto;
    bottom: 20px;
    right: 5px;
    width: 100px;
  }
  #toPageTop.view img {
    bottom: 30px;
  }
  #toPageTop.view img:hover {
    bottom: 30px;
  }
}

/*----------------------------------------------------
dotTitle
----------------------------------------------------*/
.dotTitle{
  margin-bottom: 20px;
  position: relative;
  text-align: center;
}
.dotTitle::after {
  content:"";
  display: inline-block;
  background: url(../images/title_line_dot.svg) no-repeat;
  background-size: 162px 4px;
  background-position: center center;
  width: 162px;
  height: 4px;
}
.dotTitle .eng {
  color:#22AC37;
  font-size: 14px;
  font-weight: bold;
}
.dotTitle .ja {
  font-size: 20px;
  font-weight: bold;
  line-height: 1em;
}
@media screen and (min-width: 751px) {
  .dotTitle .eng {
    font-size: 18px;
  }
  .dotTitle .ja {
    font-size: 24px;
  }
}

/*----------------------------------------------------
section
----------------------------------------------------*/
.section{
  padding-top: 35px;
  padding-bottom: 35px;
}
.section.noPdgT{
  padding-top: 0;
}
.section.noPdgB{
  padding-bottom: 0;
}
@media screen and (min-width: 751px){
  .section{
    padding:50px 20px;
  }
}
/*----------------------------------------------------
白背景
----------------------------------------------------*/
.bg_white {
  background: #fff;
  border-radius: 5px;
  position: relative;
  padding:70px 20px 50px;
  box-sizing: border-box;
}
.bg_white .text {
  line-height: 2.14;
}
.bg_white .text.noMgnT {
  margin-top: 0;
}
@media screen and (max-width: 750px) {
  .bg_white {
    margin:0 -10px;
  }
}
@media screen and (min-width: 751px) {
  .bg_white {
    padding:100px 60px 70px;
  }
}
/*----------------------------------------------------
白背景2
----------------------------------------------------*/
.bg_white2 {
  background: #fff;
  border-radius: 5px;
  position: relative;
  padding:70px 20px 35px;
  box-sizing: border-box;
}
.bg_white2 .text {
  line-height: 2.14;
}
.bg_white2 .text.noMgnT {
  margin-top: 0;
}
@media screen and (max-width: 750px) {
  .bg_white2 {
    margin:0 -10px;
  }
}
@media screen and (min-width: 751px) {
  .bg_white2 {
    padding:70px 60px 50px;
  }
}
/*----------------------------------------------------
白背景3
----------------------------------------------------*/
.bg_white3 {
  background: #fff;
  position: relative;
  padding:70px 20px 35px;
  box-sizing: border-box;
  border: 2px solid;
  border-color: #F58200;
}
.bg_white3 .text {
  line-height: 2.14;
}
@media screen and (min-width: 751px) {
  .bg_white3 {
    padding:70px 60px 50px;
  }
}
/*ラベル*/
.accbox label {
    display: block;
    padding : 11px 12px;
    margin: 1.5px 0;
    color :#000000;
    font-weight: bold;
    border: 2px solid;
    border-color: #F58200;
    cursor :pointer;
    transition: all 0.5s;
    text-align: center;
    background :#FFFFFF;
}

/*ラベルホバー時*/
.accbox label:hover {
    color :#000000;
    background :#F6C99C;
}

/*チェックは隠す*/
.accbox input {
    display: none;
}

/*中身を非表示にしておく*/
.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + .accshow {
    height: auto;
    opacity: 1;
}

/*----------------------------------------------------
★リスト
----------------------------------------------------*/
.datalist {
  margin-top: 30px;
  line-height:2.14;
}
.datalist li {
  padding:20px 0;
}
.datalist li:not(:last-child) {
  border-bottom: 1px solid #E8E8E8;
}
.datalist li:last-child {
  padding-bottom: 0;
}

.datalist li .label{
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .datalist li .label{
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 751px) {
  .datalist {
    margin-top: 40px;
  }
  .pc_columns {
    display: flex;
    justify-content: space-between;
  }
  .pc_columns .label {
    width: 200px;
  }
  .pc_columns .data {
    width: calc(100% - 200px);
  }
}

/*----------------------------------------------------
mainTitle
----------------------------------------------------*/
.mainTitleWrap {
  z-index: 1;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 20px);
}
/*#mainTitle {
  z-index: 1;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  
  line-height: 1.2;
  height: 80px;
  width: 
  max-width: 594px;
  padding:0 0 10px 0;
  margin:0px auto;
  color:#fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  background: url(../images/main_title_bg_sp.png) no-repeat;
  background-size: contain;
  background-position: center;
  box-sizing: border-box;
}*/
#mainTitle span {
  color:#fff;
  font-weight: bold;
  text-align: center;
  width: 100%;
  display: inline-block;
}
#mainTitle.yellow span {
  color: #0061AC;
}
#mainTitle {
  position: relative;
  text-align: center;
  line-height: 1.2;
  width: calc(100% - 50px);
  height: 80px;
  background-image: url(../images/main_title_bg_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
  left: 50%;
  transform:translateX(-50%);
  padding-bottom: 15px;
}
#mainTitle.green {
  background-image: url(../images/main_title_bg_green_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
}
#mainTitle.orange {
  background-image: url(../images/main_title_bg_orange_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
}
#mainTitle.blue {
  background-image: url(../images/main_title_bg_blue_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
}
#mainTitle.yellow {
  background-image: url(../images/main_title_bg_yellow_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
}
#mainTitle::before,
#mainTitle::after {
  content:"";
  position: absolute;
  width: 25px;
  height: 80px;
  top: 0;
}
#mainTitle::before {
  background: url(../images/main_title_bg_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
  left: -25px;
}
#mainTitle::after {
  background: url(../images/main_title_bg_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
  right: -25px;
}
#mainTitle.orange::before {
  background: url(../images/main_title_bg_orange_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
}
#mainTitle.orange::after {
  background: url(../images/main_title_bg_orange_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
}
#mainTitle.blue::before {
  background: url(../images/main_title_bg_blue_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
}
#mainTitle.blue::after {
  background: url(../images/main_title_bg_blue_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
}
#mainTitle.green::before {
  background: url(../images/main_title_bg_green_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
}
#mainTitle.green::after {
  background: url(../images/main_title_bg_green_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
}
#mainTitle.yellow::before {
  background: url(../images/main_title_bg_yellow_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
}
#mainTitle.yellow::after {
  background: url(../images/main_title_bg_yellow_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
}
#mainTitle span {
  font-size: 17px;
  position: relative;
  top: 50%;
  transform:translateY(-50%);
}
@media screen and (min-width: 751px) {
  .mainTitleWrap {
    min-width: 600px;
    top: -40px;
  }
  #mainTitle {
    display: inline-block;
    width: auto;
    background: url(../images/main_title_bg_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
    height: 63px;
    padding-bottom: 0;
  }
  #mainTitle.green {
    background: url(../images/main_title_bg_green_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
  }
  #mainTitle.orange {
    background: url(../images/main_title_bg_orange_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
  }
  #mainTitle.blue {
    background: url(../images/main_title_bg_blue_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
  }
  #mainTitle.yellow {
    background: url(../images/main_title_bg_yellow_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
  }
  #mainTitle::before,
  #mainTitle::after {
    content:"";
    position: absolute;
    width: 60px;
    height: 63px;
    top: 0;
  }
  #mainTitle::before {
    background: url(../images/main_title_bg_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
    left: -59px;
  }
  #mainTitle::after {
    background: url(../images/main_title_bg_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
    right: -59px;
  }
  #mainTitle.green::before {
    background: url(../images/main_title_bg_green_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
  }
  #mainTitle.green::after {
    background: url(../images/main_title_bg_green_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
  }
  #mainTitle.orange::before {
    background: url(../images/main_title_bg_orange_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
  }
  #mainTitle.orange::after {
    background: url(../images/main_title_bg_orange_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
  }
  #mainTitle.blue::before {
    background: url(../images/main_title_bg_blue_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
  }
  #mainTitle.blue::after {
    background: url(../images/main_title_bg_blue_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
  }
  #mainTitle.yellow::before {
    background: url(../images/main_title_bg_yellow_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
  }
  #mainTitle.yellow::after {
    background: url(../images/main_title_bg_yellow_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
  }
  #mainTitle span {
    line-height: 22px;
    padding:0 20px 13px;
    font-size: 17px;
  }
}
@media screen and (min-width: 1000px) {
  #mainTitle span {
    font-size: 20px;
  }
}

/*----------------------------------------------------
ribonTitle
----------------------------------------------------*/
.ribbonTitle span {
  color:#fff;
  font-weight: bold;
  text-align: center;
  width: 100%;
  display: inline-block;
}
.ribbonTitle.yellow span {
  color: #E73D0C;
}
.ribbonTitle {
  position: relative;
  text-align: center;
  line-height: 1.2;
  width: calc(100% - 50px);
  height: 80px;
  background-image: url(../images/main_title_bg_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
  left: 50%;
  transform:translateX(-50%);
  padding-bottom: 15px;
}
.ribbonTitle.green {
  background-image: url(../images/main_title_bg_green_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
}
.ribbonTitle.orange {
  background-image: url(../images/main_title_bg_orange_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
}
.ribbonTitle.blue {
  background-image: url(../images/main_title_bg_blue_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
}
.ribbonTitle.yellow {
  background-image: url(../images/main_title_bg_yellow_sp_center.png);
  background-size: 25px 80px;
  background-repeat: repeat-x;
}
.ribbonTitle::before,
.ribbonTitle::after {
  content:"";
  position: absolute;
  width: 25px;
  height: 80px;
  top: 0;
}
.ribbonTitle::before {
  background: url(../images/main_title_bg_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
  left: -25px;
}
.ribbonTitle::after {
  background: url(../images/main_title_bg_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
  right: -25px;
}
.ribbonTitle.orange::before {
  background: url(../images/main_title_bg_orange_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
}
.ribbonTitle.orange::after {
  background: url(../images/main_title_bg_orange_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
}
.ribbonTitle.blue::before {
  background: url(../images/main_title_bg_blue_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
}
.ribbonTitle.blue::after {
  background: url(../images/main_title_bg_blue_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
}
.ribbonTitle.green::before {
  background: url(../images/main_title_bg_green_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
}
.ribbonTitle.green::after {
  background: url(../images/main_title_bg_green_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
}
.ribbonTitle.yellow::before {
  background: url(../images/main_title_bg_yellow_sp_left.png) no-repeat;
  background-size: 25px 80px;
  background-position: center right;
}
.ribbonTitle.yellow::after {
  background: url(../images/main_title_bg_yellow_sp_right.png) no-repeat;
  background-size: 25px 80px;
  background-position: center left;
}
.ribbonTitle span {
  font-size: 17px;
  position: relative;
  top: 50%;
  transform:translateY(-50%);
}
@media screen and (min-width: 751px) {
  .ribbonTitle {
    display: inline-block;
    width: auto;
    background: url(../images/main_title_bg_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
    height: 63px;
    padding-bottom: 0;
  }
  .ribbonTitle.green {
    background: url(../images/main_title_bg_green_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
  }
  .ribbonTitle.orange {
    background: url(../images/main_title_bg_orange_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
  }
  .ribbonTitle.blue {
    background: url(../images/main_title_bg_blue_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
  }
  .ribbonTitle.yellow {
    background: url(../images/main_title_bg_yellow_pc_center.png) no-repeat;
    background-size: 60px 63px;
    background-repeat: repeat-x;
  }
  .ribbonTitle::before,
  .ribbonTitle::after {
    content:"";
    position: absolute;
    width: 60px;
    height: 63px;
    top: 0;
  }
  .ribbonTitle::before {
    background: url(../images/main_title_bg_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
    left: -59px;
  }
  .ribbonTitle::after {
    background: url(../images/main_title_bg_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
    right: -59px;
  }
  .ribbonTitle.green::before {
    background: url(../images/main_title_bg_green_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
  }
  .ribbonTitle.green::after {
    background: url(../images/main_title_bg_green_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
  }
  .ribbonTitle.orange::before {
    background: url(../images/main_title_bg_orange_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
  }
  .ribbonTitle.orange::after {
    background: url(../images/main_title_bg_orange_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
  }
  .ribbonTitle.blue::before {
    background: url(../images/main_title_bg_blue_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
  }
  .ribbonTitle.blue::after {
    background: url(../images/main_title_bg_blue_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
  }
  .ribbonTitle.yellow::before {
    background: url(../images/main_title_bg_yellow_pc_left.png) no-repeat;
    background-size: 60px 63px;
    background-position: center right;
  }
  .ribbonTitle.yellow::after {
    background: url(../images/main_title_bg_yellow_pc_right.png) no-repeat;
    background-size: 60px 63px;
    background-position: center left;
  }
  .ribbonTitle span {
    padding:0 20px 13px;
    font-size: 17px;
  }
}
@media screen and (min-width: 1000px) {
  .ribbonTitle span {
    font-size: 20px;
  }
}

/*----------------------------------------------------
角丸ボタン(btn_round)
----------------------------------------------------*/
.btnWrap {
  text-align: center;
  margin-top: 30px;
}
.btnWrap2 {
  text-align: center;
  padding-top: 30px;
}
.btn_round {
  position: relative;
  display: inline-block;
  min-width: 140px;
  padding:0 20px 0 34px;
  color:#fff;
  line-height: 60px;
  white-space: nowrap;
  border-radius: 20px;
  font-weight: bold;
}
.btn_round2 {
  font-size: 18px;
  position: relative;
  display: inline-block;
  min-width: 340px;
  padding:0 20px 0 34px;
  color:#fff;
  line-height: 40px;
  white-space: nowrap;
  border-radius: 20px;
  font-weight: bold;
}
.btn_round3 {
  font-size: 16px;
  position: relative;
  display: inline-block;
  min-width: 340px;
  padding:0 20px 0 34px;
  color:#fff;
  line-height: 40px;
  white-space: nowrap;
  border-radius: 20px;
  font-weight: bold;
}
.btn_round4 {
  font-size: 14px;
  position: relative;
  display: inline-block;
  min-width: 140px;
  padding:0 20px 0 34px;
  color:#fff;
  line-height: 20px;
  white-space: nowrap;
  border-radius: 20px;
  font-weight: bold;
}
.btn_round::before {
  content:"";
  position: absolute;
  top: 50%;
  left: 15px;
  transform:translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff53f;
  transition: all 0.3s;
}
.btn_round2::before {
  content:"";
  position: absolute;
  top: 50%;
  left: 15px;
  transform:translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff53f;
  transition: all 0.3s;
}
.btn_round3::before {
  content:"";
  position: absolute;
  top: 50%;
  left: 15px;
  transform:translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff53f;
  transition: all 0.3s;
}
.btn_round4::before {
  content:"";
  position: absolute;
  top: 50%;
  left: 15px;
  transform:translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff53f;
  transition: all 0.3s;
}
.btn_round.green {
  color:#fff;
  background: #22AC37;
}
.btn_round.darkgreen {
  color:#fff;
  background: #0A7400;
}
.btn_round.pink {
  color:#fff;
  background: #F09C9C;
}
.btn_round.orange {
  color:#fff;
  background: #F48100;
}
.btn_round.orange {
  color:#fff;
  background: #F48100;
}
.btn_round.lightgreen {
  color:#fff;
  background: #A2D143;
}
.btn_round.lightblue {
  color:#fff;
  background: #2680EB;
}
.btn_round.blue {
  color:#fff;
  background: #2961A7;
}
.btn_round.blue2 {
  color:#fff;
  background: #0567A8;
}
.btn_round.big {
  min-width: 200px;
}
.btn_round2.green {
  color:#fff;
  background: #22AC37;
}
.btn_round2.darkgreen {
  color:#fff;
  background: #0A7400;
}
.btn_round2.pink {
  color:#fff;
  background: #F09C9C;
}
.btn_round2.orange {
  color:#fff;
  background: #F48100;
}
.btn_round2.orange {
  color:#fff;
  background: #F48100;
}
.btn_round2.lightgreen {
  color:#fff;
  background: #A2D143;
}
.btn_round2.lightblue {
  color:#fff;
  background: #2680EB;
}
.btn_round2.blue {
  color:#fff;
  background: #2961A7;
}
.btn_round2.blue2 {
  color:#fff;
  background: #0567A8;
}
.btn_round2.big {
  min-width: 320px;
}
.btn_round4.green {
  color:#fff;
  background: #22AC37;
}
.btn_round4.darkgreen {
  color:#fff;
  background: #0A7400;
}
.btn_round4.pink {
  color:#fff;
  background: #F09C9C;
}
.btn_round4.orange {
  color:#fff;
  background: #F48100;
}
.btn_round4.orange {
  color:#fff;
  background: #F48100;
}
.btn_round4.lightgreen {
  color:#fff;
  background: #A2D143;
}
.btn_round4.lightblue {
  color:#fff;
  background: #2680EB;
}
.btn_round4.blue {
  color:#fff;
  background: #2961A7;
}
@media screen and (min-width: 751px) {
  .btn_round {
    transition: all 0.3s;
  }
  .btn_round2 {
    transition: all 0.3s;
  }
  .btn_round4 {
    transition: all 0.3s;
  }
  .btn_round:hover {
    opacity: 0.8;
  }
  .btn_round2:hover {
    opacity: 0.8;
  }
  .btn_round4:hover {
    opacity: 0.8;
  }
  .btn_round:hover::before {
    left: 18px;
  }
  .btn_round2:hover::before {
    left: 18px;
  }
  .btn_roun4d:hover::before {
    left: 18px;
  }
  .btn_round.big {
    min-width: 200px;
    line-height: 50px;
    border-radius: 29px;
  }
  .btn_round2.big {
    min-width: 450px;
    line-height: 70px;
    border-radius: 29px;
  }
  .btn_round4.big {
    min-width: 200px;
    line-height: 20px;
    border-radius: 29px;
  }
}
.btn_round3.green {
  color:#fff;
  background: #22AC37;
}
.btn_round3.darkgreen {
  color:#fff;
  background: #0A7400;
}
.btn_round3.pink {
  color:#fff;
  background: #F09C9C;
}
.btn_round3.orange {
  color:#fff;
  background: #F48100;
}
.btn_round3.orange {
  color:#fff;
  background: #F48100;
}
.btn_round3.lightgreen {
  color:#fff;
  background: #A2D143;
}
.btn_round3.lightblue {
  color:#fff;
  background: #2680EB;
}
.btn_round3.blue {
  color:#fff;
  background: #2961A7;
}
.btn_round3.blue2 {
  color:#fff;
  background: #0567A8;
}
.btn_round3.big {
  min-width: 320px;
}
@media screen and (min-width: 751px) {
  .btn_round {
    transition: all 0.3s;
  }
  .btn_round3 {
    transition: all 0.3s;
  }
  .btn_round:hover {
    opacity: 0.8;
  }
  .btn_round3:hover {
    opacity: 0.8;
  }
  .btn_round:hover::before {
    left: 18px;
  }
  .btn_round3:hover::before {
    left: 18px;
  }
  .btn_round.big {
    min-width: 200px;
    line-height: 50px;
    border-radius: 29px;
  }
  .btn_round3.big {
    min-width: 450px;
    line-height: 70px;
    border-radius: 29px;
  }
}


.btn_square {
  position: relative;
  display: inline-block;
  min-width: 315px;
  padding:21px 20px 23px 34px;
  color:#fff;
  border-radius: 10px;
  font-weight: bold;
  background: #0567A8;
}
.btn_square::before {
  content:"";
  position: absolute;
  top: 50%;
  right: 15px;
  transform:translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff53f;
  transition: all 0.3s;
}
.btn_square.blue2 {
  color:#fff;
  background: #0567A8;
}

@media screen and (min-width: 751px){
    .btn_square.btnPC {
    min-width: 300px;
    padding:26px 0;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1.5555;
    transition: all 0.3s;
  }
  .btn_square.btnPC:hover {
    opacity: 0.8;
  }
  .btn_square.btnPC:hover::before {
    right: 10px;
  }
}

@media screen and (min-width: 920px){
  .btn_square.btnPC {
    min-width: 500px;
  }
}

/*----------------------------------------------------
secBody
----------------------------------------------------*/
.secBody{
  margin-top: 20px;
}
@media screen and (min-width: 751px) {
  .secBody{
    margin-top: 40px;
  }
}

/*----------------------------------------------------
card
----------------------------------------------------*/
.card {
  position: relative;
  background: #fff;
  border:4px solid transparent;
  padding:20px 20px 80px 20px;
  box-sizing: border-box;
  border-radius: 5px;
  text-align: left;
  height: 100%;
}
.card .title {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.5;
}
.card .btnWrap {
  position: absolute;
  text-align: right;
  margin-top: 20px;
  right: 20px;
  bottom:20px;
}
@media screen and (min-width: 751px) {
  .card {
    padding:30px 25px;
    padding:30px 25px 85px 30px;
  }
  .card .title {
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 20px;
  }
  .card .btnWrap {
    right: 25px;
    bottom:30px;
  }
}

/*********************/
/* カードパターン      */
/*********************/
.card[class*="bg_"] .title,
.card[class*="bg_"] .text {
  color:#fff;
}
.card[class*="bg_"] .btn_round {
  background: #fff;
  color:#000;
}
.card.bg_pink {
  background-color: #F09C9C;
  border-color: #FFE6E6;
}
.card.bg_orange {
  background-color: #F58200;
  border-color:#FFC795;
}
.card.bg_green {
  background-color: #22AC37;
  border-color:#50C746;
}
.card.bg_blue {
  background-color: #0061AC;
  border-color:#238BD8;
}
.card.bdr_pink {
  border-color: #F09C9C;
}
.card.bdr_orange {
  border-color: #E68732;
}
.card.bdr_lightgreen {
  border-color: #ABCF5B;
}
.card.bdr_green {
  border-color: #22AC37;
}
.card.bdr_lightblue {
  border-color: #50A6E5;
}
.card.bdr_blue {
  border-color: #2961A7;
}

/*----------------------------------------------------
modal
----------------------------------------------------*/

.mfp-wrap {
  width: 50%;
}
.mfp-bottom-bar {
  display: none;
}

.mfp-close img {
  width: 48px!important;
}
.mfp-iframe-holder .mfp-close {
  top: -54px!important;
}
@media only screen and (max-width: 750px) {
	.mfp-container {
   	padding-left: 0!important;
    padding-right: 0!important;
	}

  .mfp-close img {
    width: 30px!important;
  }
  .mfp-iframe-holder .mfp-close {
    top: -40px!important;
  }
}

/* popup */
.popup-block {
  background: transparent;
  margin: 0 auto;
  padding: 0;
  width: 90%;
  max-width: 960px;
  height: auto;
  position:relative;
  z-index:9999;
}
.popup-block iframe {
  width: 100%;
}
.popup-block .button {
  text-align: right;
  padding: 10px 0;
  opacity: 0.8;
}
.popup-block .button:hover {
  opacity: 1;
}
.popup-block .button img {
  width: 48px;
}
@media only screen and (max-width: 750px) {
  .popup-block {
    width: 100%;
  }
  .popup-block .button {
    text-align: right;
    padding-top: 5px;
    margin: 0;
  }
  .popup-block .button img {
    width: 30px;
    padding-right: 6px;
  }
}

/* フェード */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.6;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}


/*----------------------------------------------------
埋め込みレスポンシブ
----------------------------------------------------*/

.umekomi {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

.umekomi iframe,
.umekomi object,
.umekomi embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*----------------------------------------------------
★カラム配置
----------------------------------------------------*
//*スマホ用バナー配置*/
@media screen and (max-width:750px) {
  .cols_sp1 li {
    text-align: center;
  }
  .cols_sp1 li a{
    display: inline-block;
  }
  .cols_sp1 li+li{
     margin-top: 20px;
  }
  .cols_sp2,
  .cols_sp3 {
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
  }
  .cols_sp2 li {
    width: 48%;
  }
  .cols_sp2 li:nth-child(n+3) {
    margin-top: 15px;
  }
  .cols_sp2.cols_center {
    justify-content: center;
  }
  .cols_sp2.cols_center li:nth-child(even) {
    margin-left: 4%;
  }
  .cols_sp3 li {
    width: 32%;
  }
}
/*PC用バナー配置*/
@media screen and (min-width:751px) {
  .cols_pc1 li+li {
    margin-top: 20px;
  }
  .cols_pc2,
  .cols_pc3,
  .cols_pc4{
     display: flex;
     justify-content : space-between;
     flex-wrap: wrap;
  }
  .cols_pc2.cols_center,
  .cols_pc3.cols_center,
  .cols_pc4.cols_center {
    justify-content: center;
  }
  .cols_pc2.cols_center li:nth-child(even),
  .cols_pc3.cols_center li:not(:nth-child(3n)),
  .cols_pc4.cols_center li:not(:nth-child(4n)){
    margin-left: 2%;
  }
  .cols_pc1 li{
    width: 49%;
	margin: 0px auto;
  }
  .cols_pc2 li{
    width: 49%;
  }
  .cols_pc2 li:nth-child(n+3){
    margin-top:20px;
  }
  .cols_pc3 li{
    width: 32%;
  }
  .cols_pc3 li:nth-child(n+4){
    margin-top:20px;
  }
  .cols_pc4 li {
    width: 23.5%;
  }
  .cols_pc4 li:nth-child(n+5){
    margin-top:20px;
  }
  
}
@media screen and (min-width:751px) and (max-width:1000px) {
  .cols_pc4.cols_tb2 li {
    width: 49%;
  }
  .cols_pc4.cols_tb2 li:nth-child(n+3){
    margin-top:20px;
  }
}
/*----------------------------------------------------
404
----------------------------------------------------*/
#not_found {
  text-align: center;
  padding-bottom: 50px;
}
@media screen and (min-width:751px) {
  #not_found {
    padding-bottom:80px;
  }
}
#not_found h1 {
  font-size: 60px;
  font-weight: bold;
}
#not_found .lead {
  font-weight: bold;
  margin-top: 50px;
}
#not_found .text {
  margin-top: 80px;
}
/*----------------------------------------------------
個人情報保護(スクロール内)
----------------------------------------------------*/
.privacy_policy .p_title {
  margin-top: 30px;
  font-size: 1.1em;
  font-weight: bold;
}
.privacy_policy .text {
  margin-top: 20px;
}

/*----------------------------------------------------
詳細部分
----------------------------------------------------*/
/*セクション内の基本レイアウト設定*/
.section .wrap{
  margin-top: 30px;
}
.section .wrap.noMgn{
  margin-top: 0;
}
.section .wrap.border{
  padding:20px;
  box-sizing: border-box;
  border:2px solid #2C1A15;
}
.section .text{
  margin-top: 1em;
}
.section .text.noMgn{
  margin-top: 0;
}
.section .box{
  margin-top: 20px;
}
.section .narrow .box{
  margin-top: 2vw;
}
.section .box.noMgn{
  margin-top: 0;
}

/*背景がグレーのカラム*/
.section .box.bgset{
  background: #efefef;
}
.section .box.bgset .texts{
  /*margin-top: 1em;*/
  padding:0 10px 20px;
  box-sizing: border-box;
}
.section .box.bgsetOnlyText .texts{
  background: #efefef;
  padding: 0 10px 20px;
}
.section .box.bgset .texts .title{
  margin-left: -10px;
}
.section .box.bgsetOnlyText .title[class^="deco"],
.section .box.bgsetOnlyText .title[class*="deco"]{
  padding-left:10px; 
}
.section .box.bgsetOnlyText .title[class^="deco"]::before,
.section .box.bgsetOnlyText .title[class*="deco"]::before{
  left:0px; 
}
.section .col_sp2 .box:nth-child(1){
  margin-top: 0;
}
.section .col_sp2 .box:nth-child(2){
  margin-top: 0;
}
.section .titleWrap{
  padding-top: 5px;
  padding-bottom: 5px;
}

@media screen and (min-width: 751px){
  .section .wrap{
    margin-top: 50px;
  }
  .section .wrap.border{
    padding:30px;
  }
  .section .wrap.pc_noMgn{
    margin-top: 0;
  }
  .section .box{
    margin-top: 40px;
    position: relative;
  }
  .section .box .inbox.virticalMiddle{
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
  .section .narrow .box{
    margin-top: 1.2vw;
  }
  .section .box.pc_noMgn{
    margin-top: 0;
  }
  .section .narrow .box.pc_noMgn{
    margin-top: 0;
  }
  .section .box.bgset .texts{
    padding:0px 20px 25px 20px ;
  }
  .section .box.bgset .texts .title{
    margin-left: -20px;
  }
  .section .box.bgset .more{
    margin-top: 40px;
  }
  .section .titleWrap{
    padding-top: 10px;
    padding-top: 10px;
  }
  .section .box.bgsetOnlyText .texts{
    padding: 0px 20px 25px 20px;
  }
  .section .box.bgsetOnlyText .texts .more{
    margin-top: 40px;
  }
  .section .box.bgsetOnlyText .title[class^="deco"],
  .section .box.bgsetOnlyText .title[class*="deco"]{
    padding-left:20px; 
  }
}
@media screen and (min-width: 1160px){
  .section .narrow .box{
    margin-top:15px;
  }

}

.section .caption{
  padding-top: 0.5em;
  font-size: 0.95em;
}
@media screen and (min-width: 751px){
  .section .caption{
   font-size: 0.9em;
  }
}
.section .more{
  width: 100%;
  height: 40px;
  max-width: 380px;
  margin:30px auto 0;
}
.section .more a{
  background: #2C1A15;
  border:1px solid #2C1A15;
  color: #fff;
  font-weight: bold;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  line-height: 40px;
  text-align: center;
  box-sizing: border-box;
}
.section .more a::after{
  content:"";
  display: block;
  position: absolute;
  background: url(../images/icon_fish.png) no-repeat ;
  background-size: contain;
  width: 22px;
  height: 16px;
  top:10px;
  right: 15px;
}
@media screen and (min-width: 751px){
  .section .more{
    margin:50px auto 0;
    height: 50px;
  }
  .section .more a{
    line-height: 50px;
    transition: all 0.3s;
  }
  .section .more a::after{
    top:15px;
    right: 20px;
    transition: all 0.3s;
  }
  .section .more a:hover{
    background: #fff;
    color:#2C1A15;
  }
  .section .more a:hover::after{
    background: #fff;
    color:#2C1A15;
    background: url(../images/icon_fish_hover.png) no-repeat ;
    background-size: contain;
    right: 10px;
  }
}


.section .back{
  width: 100%;
  height: 40px;
  max-width: 380px;
  margin:30px auto 0;
}
.section .back a{
  background: #C4C4C4;
  border:1px solid #C4C4C4;
  color: #fff;
  font-weight: bold;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  line-height: 40px;
  text-align: center;
  box-sizing: border-box;
}
.section .back a::before{
  content:"";
  display: block;
  position: absolute;
  background: #fff;
  background-size: contain;
  width: 16px;
  height: 16px;
  top:10px;
  left: 15px;
  border-radius: 50%;
}
.section .back a::after{
  content:"";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 4px 4px 0;
  border-color: transparent #C4C4C4 transparent transparent;
  top:13px;
  left: 20px;
}
@media screen and (min-width: 751px){
  .section .back{
    margin:50px auto 0;
    height: 50px;
  }
  .section .back a{
    line-height: 50px;
    transition: all 0.3s;
  }
  .section .back a::before{
    top:15px;
    transition: all 0.3s;
  }
  .section .back a::after{
    top:18px;
    transition: all 0.3s;
  }
  .section .back a:hover{
    background: #fff;
    color:#2C1A15;
  }

  .section .back a:hover::before{
    left: 10px;
    background-color: #C4C4C4;
  }
  .section .back a:hover::after{
    left: 15px;
    border-color: transparent #fff transparent transparent;
  }
}

/*flex2 横並び（画像バックグラウンド）*/
.section .flex2{
  display: flex;
  background:#fff;
  height: 100%;
  min-height: 40.53vw;
}

.section .flex2 .image{
  width: 47%;
  position: relative;

}
.section .flex2 .img{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;

}
.section .flex2 .texts{
  width: 53%;
  background: #fff;
  padding:10px;
  box-sizing: border-box;
}
@media screen and (min-width: 751px){
  .section .flex2{
    min-height: 17.93vw;
  }
  .section .flex2 .texts{
    padding:20px;
  }
}
@media screen and (min-width: 1160px){
  .section .flex2{
    min-height: 245px;
  }
}
/*link リンク(行頭文字が丸リンク）*/
.section .link a{
  display: inline-block;
  position: relative;
  padding:10px 10px 10px 30px;
  font-size: 16px;
  font-weight: bold;
}
.section .link a::before{
  content:"";
  display: block;
  position: absolute;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #C4C4C4;
  left: 0;
  top:12px;
}
.section .link a.blue::before{
  background-color: #3580BA;
}
.section .link a.red::before{
  background-color: #E34934;
}
.section .link a.green::before{
  background-color: #44B77E;
}
.section .link a.orange::before{
  background-color: #EB9800;
}
.section .link a.purple::before{
  background-color: #7238AD;
}
.section .link a.olive::before{
  background-color: #C4BE27;
}

.section .link a::after{
  content:"";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 7px;
  border-color: transparent transparent transparent #fff;
  left: 10px;
  top: 18px;
}
.section .link.border{
  border-bottom: 1px solid #E3E3E3;
}
.section .link.right{
  text-align: right;
}
@media screen and (min-width: 751px){
  .section .link a{
    padding:20px 20px 20px 50px;
    font-size: 20px;
    transition: all 0.3s;
  }
  .section .link a::before{
    width: 36px;
    height: 36px;
    top:20px;
    transition: all 0.3s;
  }
  .section .link a::after{
    left: 15px;
    top:28px;
    border-width: 10px 0 10px 10px;
    transition: all 0.3s;
  }
  .section .link a:hover span{
    border-bottom: 1px solid;
  }
  .section .link a:hover::before{
    left: 5px;
  }
  .section .link a:hover::after{
    left: 20px;
  }

}
/* 魚のアイコンがついているボタンセット */
.btnSet.narrow{
  display: flex;
  justify-content: center;
}
.btnSet.narrow li{
  width: 48%;
  max-width: 380px;
}
.btnSet.narrow li:not(:first-child){
  margin-left: 20px;
}
@media screen and (min-width: 751px){
  .btnSet{
    display: flex;
    justify-content: center;
  }
  .btnSet li{
    width: 48%;
    max-width: 380px;
  }
  .btnSet li:not(:first-child){
    margin-left: 20px;
  }
  .btnSet.narrow li{
    max-width: 240px;
  }
}
/* Q&Aの装飾 */
.section .faqlist li{
  border-bottom: 1px solid #E3E3E3;
  padding:10px 0;
}
.section .faqlist li:first-child{
  border-top: 1px solid #E3E3E3;
}
.section .ques,.section .ans {
  position: relative;
  padding:10px 10px 10px 40px;
  font-weight: bold;
}
.section .ques::before,.section .ans::before{
  content:"";
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  left: 0;
  top:7px;
}
.section .ques::before{
  background: url(../images/icon_question.png) no-repeat;
  background-size: contain;
}
.section .ans::before{
  background: url(../images/icon_answer.png) no-repeat;
  background-size: contain;
}
@media screen and (min-width: 751px){
  .section .ques,.section .ans {
    padding:15px 15px 15px 55px;
  }
  .section .ques::before,.section .ans::before{
    content:"";
    display: block;
    position: absolute;
    width: 40px;
    height: 40px;
    left: 0;
    top:9px;
  }
}
/* TABコンテンツ */
.section .tabBtnSet[class^="set"],
.section .tabBtnSet[class*="set"]{
  display: flex;
}
.section .tabBtnSet.set4,
.section .tabBtnSet.set6{
  flex-wrap: wrap;
}

.section .tabBtnSet .tabBtn{
  text-align: center;
  box-sizing: border-box;
  font-weight: bold;
}
.section .tabBtn[class^="bg"] span,
.section .tabBtn[class*="bg"] span{
  color:#fff;
}
.section .tabBtnSet .tabBtn a{
  padding:5px;
  display: block;
  box-sizing: border-box;
}
.section .tabBtnSet.set2 .tabBtn,
.section .tabBtnSet.set4 .tabBtn{
  width: 50%;
}
.section .tabBtnSet.set3 .tabBtn,
.section .tabBtnSet.set6 .tabBtn{
  width: 33.33333334%;
}
.section .tabInner{
  padding:10px;
  box-sizing: border-box;
}
.section .tabBody{
  display: none;
}
.section .tabBody.active{
  display: block;
}
@media screen and (min-width: 751px){
  .section .tabBtnSet .tabBtn a{
    padding:10px;
  }
  .section .tabBtnSet .tabBtn a span{
    font-size: 1.2em
  }
  .section .tabBtnSet.set4,
  .section .tabBtnSet.set6{
    flex-wrap: nowrap;
  }
  .section .tabInner{
    padding:25px;
  }
  .section .tabBtn[class^="bg"] a span,
  .section .tabBtn[class*="bg"] a span{
    transition: all 0.3s;
  }
  .section .tabBtn[class^="bg"] a:hover span,
  .section .tabBtn[class*="bg"] a:hover span{
    color:#2C1A15;
  }
  .section .tabBtn[class^="bdr"] a,
  .section .tabBtn[class*="bdr"] a{
    transition: all 0.3s;
  }
  .section .tabBtn[class^="bdr"] a:hover,
  .section .tabBtn[class*="bdr"] a:hover{
    background-color:#e5e5e5;
  }
}




/* 2022.1月追加 */
/*----------------------------------------------------
character
----------------------------------------------------*/


.chara {
  width: 40px;
}
.chara.fish {
  width: 50px;
}


@media screen and (min-width: 751px){
  .chara {
    width: 90px;
  }
  .chara.fish {
    width: 115px;
  }
}


/*----------------------------------------------------
jsで「ふわっと」を表現するクラス
----------------------------------------------------*/
.boxOpacity {
  opacity: 0;
}

/* 下からフワッと出てくる */
.fadeUp {
  animation-name:fadeUpAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}