/*
Theme Name: region80423
Description: WordPressテーマ
Version: 8
Author: 株式会社リジョンクリエイト
Author URI: http://www.regioncreate.com/
*/

/* ------ 初期設定 ------ */
html {overflow-y: scroll;}

body, div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, hgroup, header, address,
figure, figcaption {margin: 0;padding: 0;}

address, caption, cite, code, dfn, em, strong, th, var {font-style: normal;font-weight: normal;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th {text-align: left;}
q:before ,q:after {content: '';}
object, embed {vertical-align: top;}
hr, legend {display: none;}
h1, h2, h3, h4, h5, h6 {font-size: 100%;font-weight: normal;}
img, abbr, acronym, fieldset {border: 0;}
img {vertical-align: bottom;-ms-interpolation-mode: bicubic;}
ul li {list-style-type: none;}
.textwidget{margin: 0;padding: 0;text-align: left;}

/* ------ Web Font ------ */
@font-face {
font-family: iconfont;
src: url('fonts/coolicon.eot'); /* IE9 Compat Modes */
src: url('fonts/coolicon.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	 url('fonts/coolicon.woff') format('woff'), /* Modern Browsers */
	 url('fonts/coolicon.ttf')  format('truetype'), /* Safari, Android, iOS */
	 url('fonts/coolicon.svg#svgFontName') format('svg'); /* Legacy iOS */}
.icon {font-family: iconfont;font-weight: normal;}
.icon-list:before {content: "\f00b";}
.icon-top:before {content: "\e601";font-size: 18px;}
.icon-smap:before {content: "\f0e8";font-size: 18px;}
.icon-rss:before {content: "\e771";font-size: 18px; }
.icon-flist:before {content: "\f0a9"; color: #333766; padding-right: 5px;}
.icon-kanren:before {content: "\f14a"; color: #414444; padding-right: 5px;}


/* ------ BODY ------ */
body {font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	*font-family: 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	color: #4d4d4d; font-size: 15px; line-height: 1.6em; text-align: left; -webkit-text-size-adjust: 100%;}

/* ------ リンクの属性（未指定の時）------ */
a {outline: none;}
/* a:link, a:visited {color: #444444; text-decoration: none;} */
/* a:active, a:hover {color: #888888; text-decoration: none;} */

/* ------ 画像属性等 ------ */
img {max-width: 100%;height: auto;width: auto\9;}
.alignleft {float: left;  margin: 5px 10px 5px 0;}
.alignright{float: right; margin: 5px 0 5px 10px;}
.aligncenter{margin: 5px auto;display:block;}
a:hover.link img,a:hover img.link{filter: alpha(opacity=80); -moz-opacity:0.80; -ms-filter: "alpha( opacity=80 )"; opacity:0.80; background:none!important;}
.text-center {text-align: center;}

#wrapper {width: 100%; min-width: 1240px;}

/* ==============================
   基本設定
============================== */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ==============================
   ヘッダー
============================== */

.site-header {
  position:fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
/*   background-color: #ffffff; */
}

.header-inner {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1400px;
  min-height: 80px;
  margin: 0 auto;
  padding: 10px 20px;
/* background-color:#ffffff; */
}

/* ロゴ */

.header-logo {
  flex-shrink: 0;
  margin-right: 30px;
  padding-top:10px;
}

.header-logo img {
  width: 350px;
padding-top:5px;
}

@media screen and (max-width: 767px) {
.header-logo {
  flex-shrink: 0;
  margin-right: 30px;
  padding-top:5px;
}

.header-logo img {
  width: 300px;
padding-top:0px;
}	
}

/* ==============================
   グローバルメニュー
============================== */

.global-nav {
  margin-left: auto;
padding-top:10px;
}

.global-nav-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.global-nav-item {
  flex-shrink: 0;
}

.global-nav-item a {
  display: block;
  border-radius: 50px;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.global-nav-item a:hover {
  opacity: 0.8;
  transform: translateY(-2px);
}

.global-nav-item a:focus-visible {
  outline: 3px solid #ffb900;
  outline-offset: 3px;
}

/*
  各画像の幅を調整します。
  実際の画像サイズに合わせて変更してください。
*/

.global-nav-item:nth-child(1) img {
  width: 150px;
}

.global-nav-item:nth-child(2) img {
  width: 110px;
}

.global-nav-item:nth-child(3) img {
  width: 110px;
}

.global-nav-item:nth-child(4) img {
  width: 175px;
}

.global-nav-item:nth-child(5) img {
  width: 125px;
}

.global-nav-item:nth-child(6) img {
  width: 180px;
}

/* ==============================
   ハンバーガーメニュー
============================== */

.menu-toggle,
.menu-button {
  display: none;
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 1100px) {

  .site-header {
  position:absolute;
  z-index: 1000;
  width: 100%;
  background-color: #ffffff;
}
	
  .header-inner {
    padding: 10px 15px;
  }

  .header-logo img {
    width: 150px;
  }

  .global-nav-list {
    gap: 4px;
  }

  .global-nav-item:nth-child(1) img {
    width: 145px;
  }

  .global-nav-item:nth-child(2) img {
    width: 110px;
  }

  .global-nav-item:nth-child(3) img {
    width: 165px;
  }

  .global-nav-item:nth-child(4) img {
    width: 125px;
  }

  .global-nav-item:nth-child(5) img {
    width: 170px;
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
.site-header {
    background-color: transparent;
  }
	
  .header-inner {
    min-height: 70px;
    padding: 10px 15px;
  }

  .header-logo {
    margin-right: 15px;
  }

  .header-logo img {
    width: 280px;
  }

  /* ハンバーガーボタン */

  .menu-button {
    position: relative;
    z-index: 1100;
    display: block;
    width: 48px;
    height: 48px;
    margin-left: auto;
    cursor: pointer;
  }

  .menu-button span:not(.menu-button-text) {
    position: absolute;
    left: 9px;
    width: 30px;
    height: 2px;
    background-color: #003f91;
    transition: 0.3s;
  }

  .menu-button span:nth-child(1) {
    top: 9px;
  }

  .menu-button span:nth-child(2) {
    top: 17px;
  }

  .menu-button span:nth-child(3) {
    top: 25px;
  }

  .menu-button-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    color: #003f91;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
  }

  /* 右側から表示されるメニュー */

  .global-nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1050;
    width: min(85%, 360px);
    height: 100dvh;
    margin: 0;
    padding-top: 85px;
    overflow-y: auto;
    background-color: #ffffff;
    box-shadow: -8px 0 20px rgb(0 0 0 / 15%);
    transform: translateX(100%);
    visibility: hidden;
    transition:
      transform 0.35s ease,
      visibility 0.35s;
  }

  .global-nav-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 20px;
  }

  .global-nav-item a {
    display: flex;
    justify-content: center;
  }

  .global-nav-item:nth-child(n) img {
    width: auto;
    max-width: 100%;
    height: 58px;
    object-fit: contain;
  }

  /* メニューを開く */

  .menu-toggle:checked ~ .global-nav {
    transform: translateX(0);
    visibility: visible;
  }

  /* 開いたときにハンバーガーを×印に変更 */

  .menu-toggle:checked + .menu-button {
    position: fixed;
    top: 11px;
    right: 15px;
  }

  .menu-toggle:checked + .menu-button span:nth-child(1) {
    top: 17px;
    transform: rotate(45deg);
  }

  .menu-toggle:checked + .menu-button span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle:checked + .menu-button span:nth-child(3) {
    top: 17px;
    transform: rotate(-45deg);
  }
}

/* ------ ヘッダー ------ */
header {width: 100%;z-index:100;margin:0px 0;position:absolute;}
#header-inner {position:absolute; width: 1200px ; margin: 0 auto; line-height: 0; z-index:1000; *zoom: 1;}
#ptitle {position: absolute; top: 38px; left: 0px; font-size: 140%; font-weight: 500; color: #FFFFFF; z-index: 30; }
#ptitle a {color: #FFFFFF; text-decoration: none;}
#ptitle a:hover {text-decoration:underline}


/* ------ ヘッダーナビゲーション ------ */
#gnav-btn {display :none;}
#gnav {width: 100%; height: 65px; font-size:110%;fontweight:bold;}
#gnav nav {margin: 0 auto; padding: 10px 0px 5px 0px; max-width:1200px; position: relative; z-index: 1120;}
#gnav nav > ul {list-style-type: none; height: 1.8em; margin: 0; padding: 0; float: right;}
#gnav nav li {position: relative; float: left; margin: 0 5px; padding: 0; text-align: center;background-color:#ffffff;border-radius:5px;}
#gnav nav > ul > li a {display: block; margin: 0; padding: 0 15px; color: #000000; font-weight: normal; line-height: 2.4em; text-decoration: none;}
#gnav nav > ul > li > ul {position: absolute; top: 150%; left: -5%; width: 120%; list-style: none; margin: 0;}
#gnav nav > ul > li:last-child > ul {left: -85%; width: 120%;}
#gnav nav > ul > li  ul li{overflow: hidden; width: 150%; height: 0; color: #FFFFFF; -moz-transition: .2s; -webkit-transition: .2s; -o-transition: .2s; -ms-transition: .2s; transition: .2s;}
#gnav nav > ul > li  ul li a{height: 3em; line-height: 3em; background: #068888; text-align: left; font-size: 100%; font-weight: normal; filter: alpha(opacity=80); -moz-opacity:0.80; -ms-filter: "alpha( opacity=80 )"; opacity:0.80;}
#gnav nav > ul > li:hover > a{background: #f9f9f9; color: #01592d;}
#gnav nav > ul > li  ul li:hover > a{background: #93073e;color: #FFFFFF;}
#gnav nav .current-menu-parent, #gnav nav .current-menu-item {background: #93073e;color: #FFFFFF;}
#gnav nav > ul > li:hover ul li{overflow: visible; height: 3em;}
#gnav nav > ul > li:hover ul li:last-child{border-bottom: 0;}

#gnav a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
#gnav a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
#gnav a:hover::after {
  transform: scale(1, 1);
}
.slicknav_menu h1 {float: left;margin: 0;padding: 10px 0px 0px 10px;}
.slicknav_menu h1 a {text-decoration: none;color: #fff;font-size: 24px;}
.slicknav_menu h1 a {display: block;}

/*---　メニュー----*/
/*　ハンバーガーボタン　*/

.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 12px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  -webkit-transition: 0.5s all;
  -moz-transition   : 0.5s all;
  transition        : 0.5s all;
	z-index:1301;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #a0a0a0;
	z-index:1301;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active{
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
	z-index:1301;
}
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
	z-index:1301;
}
.hamburger.active span:nth-child(2) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
.hamburger.active span:nth-child(3) {
  opacity: 0;
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #000;
  background: #fff;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
	z-index:1300;
}

nav.globalMenuSp ul {
  background: #ccc;
  margin: 0 auto;
  padding: 0;
  width: 100%;
z-index:1300;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
line-height:1.8;
	z-index:1300;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
}



/* ------ メイン画像 ------ */
#mainvisual {position:relative;  width: 100%; border-bottom: 0px solid #D98392; overflow:hidden; z-index:10;background-color:#ffffff;}
#mainvisual-inner {margin: 0px 0px 0px 0px;}
#mainvisual img{margin: 0 auto; border: 0px solid #CCCCCC; display: block;}


/* ------ コンテンツ ------ */
#containar {width: 1200px;margin: 0 auto;padding-top: 50px;overflow: hidden;*zoom: 1;z-index:20;}
#containar01 {width: 100%;margin: 0 auto;padding-top: 0px;overflow: hidden;*zoom: 1;z-index:20;}
#containar02{width: 100%;margin: 0 auto;padding-top: 60px;overflow: hidden;*zoom: 1;z-index:20;}
#contents {float: left;width: 870px;margin-top:0px;}
#contents01 {width: 100%;margin:0px auto;z-index:20;background-color:#ffffff;}
h2 {margin: 0; padding: 10px 0 ;font-size: 22px; font-weight: 500; line-height: 1.3em; color: #414444;}
h3 {margin: 0; padding: 10px 0 ;font-size: 20px; font-weight: 500; line-height: 1.3em; color: #414444;}
h4 {margin: 0; padding: 10px 0 ;font-size: 18px; font-weight: 500; line-height: 1.3em; color: #414444;}
h5 {margin: 0; padding: 10px 0 ;font-size: 16px; font-weight: 500; line-height: 1.3em; color: #414444;}
h6 {margin: 0; padding: 10px 0 ;font-size: 15px; font-weight: 500; line-height: 1.3em; color: #414444;}

.main-title {padding: 30px 0 15px 10px;font-size: 2.3em;font-weight: 500; line-height: 1.3em;color: #414444; border-top: 8px solid #64a9c5; text-align: left; text-justify: distribute-all-lines;}
.ie7 .main-title, .ie7 .main-title {text-align: left;}
.contents-title{padding: 30px 0 15px 10px;font-size: 2.1em; font-weight: 500;line-height: 1.3em;color: #414444; border-top: 8px solid #64a9c5 ; text-align: left; text-justify: distribute-all-lines;}
.ie7 .contents-title, .ie7 .contents-title {text-align: left;}
.posts-title{padding: 10px 0 ;font-size: 1.9em; font-weight: 500;line-height: 1.3em;color: #414444;}
.posted {text-align: right; font-size: 72%; margin: 0px 10px 10px 0;}
#contents > p {padding: 1em; text-align: left; text-justify: distribute-all-lines; }
.ie7 #contents > p, .ie8 #contents > p{text-align: left;}



/* ---- コメント・トラックバック----- */
.tback {border: none;}
.tback h2{margin-botoom: 0; padding-bottom: 15px;}
.tback p {margin: 0 0 10px 10px;padding: 0;font-size: 11px; line-height: 130%;}
.comments{margin: 10px 0; padding: 15px 10px 10px;  line-height: 1.3em; border-top: 6px solid #64a9c5;}
.comments ul{list-style: none;margin: 0;color:#444444;font-size: 13px;}
.comments ul li {margin-bottom: 10px;background: #EFEFEF;padding: 10px;}
.comments ul li.depth-1{border-bottom: 1px dotted #CCCCCC;margin-bottom: 10px;}
.comments ul.children {list-style: none;}
.comments p{padding: 0 10px 5px 20px;text-align: left;}
.comments form p{line-height: 160%;display: block;}
.comments label{font-weight: 500;display:block;}
.comments form p.comment-notes,.comments form p.form-allowed-tags{font-size: 12px;text-align: left;}
.comments .reply{width: 40px;height: 20px;margin-left: 20px;text-align: center;line-height: 20px;border: 1px solid #CCCCCC;background: #FFFFFF;display: block;}
.comments .reply a{color: #333333;text-decoration: none;display: block;} 
.comments .reply a:hover{color: #FFFFFF;background: #CCCCCC;} 
.comments h3 small{font-size: 100%;}
#author{width: 200px;}
#email{width: 200px; }
#url	{width: 200px; }
#comment	{width: 99%; height:100px; }
#submit	{margin:0; padding:2px 25px; cursor:pointer;}

/* ------ サイドバー ------ */
#sidebar {float: right; width: 301px; padding-top: 0; text-align: left;margin-top:80px;}
#sidebar1,#sidebar2 {margin-bottom: 10px; padding: 0; }
#sidebar .sidebar-wrapper {margin-bottom: 20px;}
#sidebar .sidebar-wrapper h4{display: block; margin-bottom: 5px; padding: 5px 5px 5px 10px; font-size: 115%; font-weight: 500; color: #FFFFFF;line-height: 1.5em;background-color: #64a9c5;}
#sidebar .sidebar-wrapper form,
#sidebar .sidebar-wrapper p,
#sidebar .sidebar-wrapper .tagcloud{padding: 5px; font-size: 93%; }
#sidebar .sidebar-wrapper ul {padding: 0;}
#sidebar .sidebar-wrapper ul li {border-bottom: solid 1px #D5D5D5;}
#sidebar .sidebar-wrapper ul li:first-child {border-top: solid 1px #D5D5D5;}
#sidebar .sidebar-wrapper ul li a:before {font-family: iconfont;font-weight: normal;content: "\e625";color: #CCCCCC; padding-right: 5px;}
#sidebar .sidebar-wrapper ul li.menu-item-object-category a:before,
#sidebar .sidebar-wrapper ul li.cat-item a:before {font-family: iconfont;font-weight: normal;content: "\e62e";color: #CCCCCC; padding-right: 5px;}
#sidebar .sidebar-wrapper ul li a {display: block;padding: 8px 20px 8px 8px;font-size: 93%; color: #414444;line-height: 150%;text-decoration: none;background: url("img/arrow_02.png") no-repeat right center;}
#sidebar .sidebar-wrapper ul li:first-child a {border-top: none;}
#sidebar .sidebar-wrapper ul li a:hover,
#sidebar .sidebar-wrapper ul li a:active{font-weight: bold; background-color: #F5F5F5;}
#sidebar .sidebar-wrapper ul li a:hover:before{font-family: iconfont;font-weight: normal;content: "\e625";color: #64a9c5; padding-right: 5px;}
#sidebar .sidebar-wrapper ul li.cat-item a:hover:before,
#sidebar .sidebar-wrapper ul li.menu-item-object-category a:hover:before,
#sidebar .sidebar-wrapper ul li.current-menu-item a:before,
#sidebar .sidebar-wrapper ul li.current-menu-parent a:before,
#sidebar .sidebar-wrapper ul li.current-cat a:before{font-family: iconfont;font-weight: normal;content: "\e62f";color: #64a9c5; padding-right: 5px;}
#sidebar .sidebar-wrapper ul.children {padding: 0; border: none;}
#sidebar .sidebar-wrapper ul.children li{border-top: solid 1px #D5D5D5; text-indent: 10px;}
#sidebar .sidebar-wrapper ul.children li:first-child{border-top: solid 1px #D5D5D5;}
#sidebar .sidebar-wrapper ul.children li:last-child{border-bottom: none;}

#sidebar #sidebar-cat {margin-bottom: 20px;}
#sidebar-cat .c-color-0 a {height: 100px; margin-bottom: 5px; text-decoration: none; display: block; background: #64a9c5 url("img/arrow_05.png") no-repeat right center; }
#sidebar-cat .c-color-1 a {height: 100px; margin-bottom: 5px; text-decoration: none; display: block; background: #666666 url("img/arrow_05.png") no-repeat right center; }
#sidebar-cat a h5 {padding: 20px 50px 5px 15px; color: #FFFFFF; font-weight: 500; font-size: 18px; text-decoration: none; }
#sidebar-cat p {padding: 0 50px 0 15px; color: #FFFFFF; font-weight: normal; font-size: 11px; line-height: 1.2em;text-align: left; text-justify: distribute-all-lines; overflow: hidden; }
.ie7 #sidebar-cat p.ie8 #sidebar-cat p {text-align: left;}
#sidebar-cat a:hover{filter: alpha(opacity=80); -moz-opacity:0.80; -ms-filter: "alpha( opacity=80 )"; opacity:0.80;}


/* ------ フッター ------ */
/* footer {width: 100%;background: #271309;}
#footer-inner {width: 1000px;margin: 0 auto;padding: 10px 0; color:#ffffff;}
footer nav{text-align: center;margin: 0; padding: 10px 0 20px;}
footer ul li {display: inline-block;*display: inline;*margin-bottom: 12px;padding: 0 10px 0 10px;line-height: 1.3em;font-size: 100%; color: #CCCCCC;border-left: solid 1px #999999;*zoom: 1;}
footer ul li:first-child {border-left: none;}
footer #copyright {width: 100%; padding: 20px 0; text-align:center; color: #ffffff;font-size: 100%;background: #271309;}
footer a:link, footer a:visited {color: #FFFFFF;text-decoration: none;}
footer a:active, footer a:hover {color: #FFFFFF;text-decoration: underline;} */


/* ------ その他属性 ------ */
.red_uline{border-bottom: 2px solid #FF3300;}
.uline{border-bottom: 1px solid #FF6633;}
.link_line{text-decoration: underline;} 
.dot{border-bottom:1px dotted #CCCCCC;}
.solid{border-bottom:1px solid #CCCCCC;}
.clr{clear: both;}
strong{font-weight: bold;}
em{color: red;}
.txtcenter{text-align: center;}
.txtright{text-align: right;}
.red{color: #CC0000;}
.pink{color: #CC0099;}
.bg_yellow{background: #FFFF00;}
.gold{color: #F4CA54;}
.silver{color: #999999;}
.copper{color: #BD4C54;}
.other{color: #71AAE0;}
.waku{border: 1px solid #EEEEEE;}

/* リスト全体 */

.flow-list {
  counter-reset: flow-number;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 各項目 */

.flow-list li {
  position: relative;
  counter-increment: flow-number;
  min-height: 34px;
  margin-bottom: 10px;
  padding-left: 30px;
  color: #231815;
    font-size:100%;
  font-weight:normal;
  line-height: 1.6;
}

/* 丸い数字 */

.flow-list li::before {
  content: counter(flow-number);
  position: absolute;
  top: 0.1em;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #0068b6;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

/* 最後の項目の下余白を削除 */

.flow-list li:last-child {
  margin-bottom: 0;
}

/* スマートフォン */

@media screen and (max-width: 767px) {
  .flow-list li {
    min-height: 30px;
    margin-bottom: 16px;
    padding-left: 30px;
    font-size:100%;
    line-height: 1.5;
  }

  .flow-list li::before {
    top: 0.05em;
    width: 20px;
    height: 20px;
    font-size:100%;
  }
}
strong{font-weight: bold;}

/* ==============================
   動画セクション
============================== */

.movie-section {
  width: 100%;
  padding: 40px 20px;
  background-color: #bae2f8;

}

/* ==============================
   動画3列
============================== */

.movie-list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 6%;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}

.movie-item {
  flex: 1 1 0;
  min-width: 0;

}

/* ==============================
   番号・タイトル
============================== */

.movie-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 60px;
  margin-bottom: 25px;
}

.movie-number {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #002f7c;
  color: #ffffff;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}

.movie-title {
  margin: 0;
  color: #002f7c;
  font-size: 140%;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

/* ==============================
   動画
============================== */

.movie-frame {
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
}

.movie-frame video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background-color: #000000;
  object-fit: contain;
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 900px) {
  .movie-list {
    gap: 25px;
  }

  .movie-heading {
    gap: 10px;
    margin-bottom: 20px;
  }

  .movie-number {
    width: 42px;
    height: 42px;
    font-size: 27px;
  }

  .movie-title {
    font-size: 21px;
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .movie-section {
    padding: 40px 15px;
  }

  .movie-list {
    flex-direction: column;
    gap: 45px;
  }

  .movie-item {
    width: 100%;
  }

  .movie-heading {
    min-height: auto;
    margin-bottom: 20px;
  }

  .movie-number {
    width: 48px;
    height: 48px;
    font-size: 30px;
  }

  .movie-title {
    font-size: 26px;
  }
}

/* ==============================
   リンクボタン
============================== */

.purchase-button-area {
  width: 100%;
  padding: 30px 20px;
}

.purchase-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1200px;
  min-height: 125px;
  margin: 0 auto;
  padding: 25px 130px 25px 50px;
  border-radius: 25px;
  background-color: #00a4e3;
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 5px 0 #007eb5;
  transition:
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.purchase-button-text {
  color: #ffffff;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* 右側の白い丸 */

.purchase-button-arrow {
  position: absolute;
  top: 50%;
  right: 55px;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background-color: #ffffff;
  transform: translateY(-50%);
}

/* 丸の中の矢印 */

.purchase-button-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 47%;
  width: 17px;
  height: 17px;
  border-top: 7px solid #00a4e3;
  border-right: 7px solid #00a4e3;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* マウスを載せたとき */

.purchase-button:hover {
  background-color: #008fc9;
  box-shadow: 0 2px 0 #00709e;
  transform: translateY(3px);
}

.purchase-button:focus-visible {
  outline: 4px solid #002f7c;
  outline-offset: 4px;
}

/* PCでは改行しない */

.sp-only {
  display: none;
}

/* ==============================
   スマートフォンליתgadaslaug
============================== */

@media screen and (max-width: 767px) {
  .purchase-button-area {
    padding: 20px 15px;
  }

  .purchase-button {
    min-height: 100px;
    padding: 20px 65px 20px 20px;
    border-radius: 18px;
    box-shadow: 0 4px 0 #007eb5;
  }

  .purchase-button-text {
    font-size: 20px;
    line-height: 1.5;
  }

  .purchase-button-arrow {
    right: 18px;
    width: 42px;
    height: 42px;
  }

  .purchase-button-arrow::before {
    width: 11px;
    height: 11px;
    border-top-width: 4px;
    border-right-width: 4px;
  }

  .sp-only {
    display: block;
  }
}

/* ==============================
   注意事項リスト
============================== */

.notes-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 各項目 */

.notes-list > li {
  position: relative;
  margin-bottom: 14px;
  padding-left: 25px;
  color: #231815;
  font-size:100%;
  font-weight:normal;
  line-height: 1.8;
}

/* 青い丸 */

.notes-list > li::before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #0068b6;
}

/* 文章 */

.notes-content p {
  margin: 0;
}

/* 補足文章 */

.notes-content .notes-detail {
  margin-top: 8px;
}

/* 最後の項目 */

.notes-list > li:last-child {
  margin-bottom: 0;
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .notes-list > li {
    margin-bottom: 16px;
    padding-left: 25px;
    font-size: 15px;
    line-height: 1.7;
  }

  .notes-list > li::before {
    top: 0.4em;
    width: 16px;
    height: 16px;
  }

  .notes-content .notes-detail {
    margin-top: 6px;
  }
}

/* ==============================
   ボタン全体
============================== */

.link-button-list {
  display: flex;
  gap: 10px;
  width: 100%;
}

/* ==============================
   各リンクボタン
============================== */

.link-button {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 120px;
  padding: 25px 80px 25px 30px;
  border: 3px solid #0068b6;
  border-radius: 28px;
  background-color: transparent;
  color: #0068b6;
  text-decoration: none;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease;
}

/* ボタンの文字 */

.link-button-text {
  color: inherit;
  font-size:130%;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* 右側の青い丸 */

.link-button-arrow {
  position: absolute;
  top: 50%;
  right: 45px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #0068b6;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}

/* 丸の中の矢印 */

.link-button-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 13px;
  height: 13px;
  border-top: 5px solid #ffffff;
  border-right: 5px solid #ffffff;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* マウスを載せたとき */

.link-button:hover {
  background-color: #0068b6;
  color: #ffffff;
  transform: translateY(-3px);
}

.link-button:hover .link-button-arrow {
  background-color: #ffffff;
}

.link-button:hover .link-button-arrow::before {
  border-color: #0068b6;
}

/* キーボード操作時 */

.link-button:focus-visible {
  outline: 4px solid #f5c400;
  outline-offset: 3px;
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 1000px) {
  .link-button {
    min-height: 120px;
    padding: 20px 60px 20px 20px;
    border-radius: 22px;
  }

  .link-button-text {
    font-size: 21px;
  }

  .link-button-arrow {
    right: 20px;
    width: 42px;
    height: 42px;
  }

  .link-button-arrow::before {
    width: 10px;
    height: 10px;
    border-top-width: 4px;
    border-right-width: 4px;
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .link-button-list {
    flex-direction: column;
    gap: 10px;
  }

  .link-button {
    flex: none;
    width: 100%;
    min-height: 85px;
    padding: 15px 60px 15px 20px;
    border-width: 2px;
    border-radius: 18px;
  }

  .link-button-text {
    font-size: 19px;
  }

  .link-button-arrow {
    right: 18px;
    width: 38px;
    height: 38px;
  }

  .link-button-arrow::before {
    width: 9px;
    height: 9px;
  }
}

/* ==============================
   申込期間
============================== */

.application-period {
  display: flex;
  align-items: center;
  gap: 50px;
  width: 100%;
  color: #0068b7;
}

/* 左側の枠付き見出し */

.application-period-label {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-width: 300px;
  min-height: 80px;
  padding: 15px 30px;
  border: 4px solid #0068b7;
  border-radius: 60px;
  color: #0068b7;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

/* 期間 */

.application-period-date {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #0068b7;
  font-size:40px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

.application-period-date time {
  color: inherit;
}

.application-period-symbol {
  flex-shrink: 0;
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 1200px) {
  .application-period {
    gap: 25px;
  }

  .application-period-label {
    min-width: 360px;
    min-height: 80px;
    padding: 12px 30px;
    border-width: 3px;
    font-size: 30px;
  }

  .application-period-date {
    font-size: clamp(27px, 3.2vw, 42px);
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .application-period {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .application-period-label {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 10px 20px;
    border-width: 2px;
    border-radius: 40px;
    font-size: 20px;
  }

  .application-period-date {
    display: block;
    width: 100%;
    font-size: clamp(23px, 6.5vw, 32px);
    line-height: 1.5;
    text-align: center;
    white-space: normal;
  }

  .application-period-date time {
    display: inline;
  }

  .application-period-symbol {
    display: inline-block;
    margin: 0 3px;
  }
}

/* ==============================
   小さいスマートフォン
============================== */

@media screen and (max-width: 400px) {
  .application-period-date time {
    display: block;
  }

  .application-period-symbol {
    display: block;
    margin: 2px 0;
  }
}

/* ==============================
   参加店舗向け見出し
============================== */

.shop-application-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
/*   width: 100%; */
  max-width: 700px;
  min-height: 100px;
  margin: 0 auto 40px;
  padding: 25px 50px;
  border-radius: 80px;
  background-color: #0068b6;
}

/* 見出し文字 */

.shop-application-heading h2 {
  margin: 0;
  color: #ffffff;
  font-size:250%;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* 下向きの三角形 */

.shop-application-heading::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 20px solid #0068b6;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  transform: translateX(-50%);
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .shop-application-heading {
    min-height: 90px;
    margin-bottom: 30px;
    padding: 18px 25px;
    border-radius: 50px;
  }

  .shop-application-heading h2 {
    font-size: 24px;
    line-height: 1.5;
  }

  .shop-application-heading::after {
    bottom: -14px;
    border-top-width: 16px;
    border-right-width: 11px;
    border-left-width: 11px;
  }
}

/* 小さいスマートフォン */

@media screen and (max-width: 400px) {
  .shop-application-heading {
    padding: 16px 20px;
  }

  .shop-application-heading h2 {
    font-size: 20px;
  }
}

/* ==============================
   利用者向け見出し
============================== */

.user-application-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1200px;
  min-height: 115px;
  margin: 0 auto 40px;
  padding: 20px 50px;
  border-radius: 70px;
  background-color: #002f7c;
}

/* 見出し文字 */

.user-application-heading h2 {
  margin: 0;
  color: #ffffff;
  font-size:250%;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* 中央下の三角形 */

.user-application-heading::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 20px solid #002f7c;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  transform: translateX(-50%);
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .user-application-heading {
    min-height: 90px;
    margin-bottom: 30px;
    padding: 18px 25px;
    border-radius: 50px;
  }

  .user-application-heading h2 {
    font-size: 23px;
    line-height: 1.5;
  }

  .user-application-heading::after {
    bottom: -14px;
    border-top-width: 16px;
    border-right-width: 11px;
    border-left-width: 11px;
  }
}

/* 小さいスマートフォン */

@media screen and (max-width: 400px) {
  .user-application-heading {
    padding: 16px 20px;
  }

  .user-application-heading h2 {
    font-size: 19px;
  }
}

/* ==============================
   ボタンの横並び
============================== */

.store-entry-list {
  display: flex;
  align-items: stretch;
  gap: 80px;
  width: 100%;
  max-width: 1550px;
  margin: 0 auto;
}

/* ==============================
   各リンクボタン
============================== */

.store-entry-button {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 25px;
  min-width: 0;
  min-height: 150px;
  padding: 25px 105px 25px 45px;
  border-radius: 80px;
  background-color: #002f7c;
  color: #ffffff;
  text-decoration: none;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

/* 通常テキスト */

.store-entry-text {
  color: #ffffff;
  font-size:120%;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
}

/* 新規・継続部分 */

.store-entry-type {
  padding: 5px 12px;
  border: 3px solid #e60012;
  color: #ffffff;
  font-size:120%;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
}

/* 右側の白い丸 */

.store-entry-arrow {
  position: absolute;
  top: 50%;
  right: 50px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background-color: #ffffff;
  transform: translateY(-50%);
}

/* 丸の中の矢印 */

.store-entry-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 15px;
  height: 15px;
  border-top: 6px solid #002f7c;
  border-right: 6px solid #002f7c;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* マウスを載せたとき */

.store-entry-button:hover {
  opacity: 0.85;
  box-shadow: 0 6px 15px rgb(0 47 124 / 25%);
  transform: translateY(-3px);
}

.store-entry-button:focus-visible {
  outline: 4px solid #f5c400;
  outline-offset: 4px;
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 1200px) {
  .store-entry-list {
    gap: 25px;
  }

  .store-entry-button {
    gap: 15px;
    min-height: 120px;
    padding: 20px 75px 20px 30px;
  }

  .store-entry-text,
  .store-entry-type {
    font-size: 20px;
  }

  .store-entry-arrow {
    right: 25px;
    width: 48px;
    height: 48px;
  }

  .store-entry-arrow::before {
    width: 12px;
    height: 12px;
    border-top-width: 5px;
    border-right-width: 5px;
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .store-entry-list {
    flex-direction: column;
    gap: 15px;
  }

  .store-entry-button {
    width: 100%;
    min-height: 100px;
    gap: 12px;
    padding: 18px 65px 18px 25px;
    border-radius: 55px;
  }

  .store-entry-text {
    font-size: 14px;
    white-space: normal;
  }

  .store-entry-type {
    padding: 4px 8px;
    border-width: 2px;
    font-size: 14px;
    white-space: normal;
  }

  .store-entry-arrow {
    right: 20px;
    width: 42px;
    height: 42px;
  }

  .store-entry-arrow::before {
    width: 10px;
    height: 10px;
    border-top-width: 4px;
    border-right-width: 4px;
  }
}

/* ==============================
   小さいスマートフォン
============================== */

@media screen and (max-width: 400px) {
  .store-entry-button {
    justify-content: flex-start;
    min-height: 90px;
    padding: 15px 60px 15px 22px;
  }

  .store-entry-text,
  .store-entry-type {
    font-size: 14px;
  }

  .store-entry-arrow {
    right: 15px;
    width: 38px;
    height: 38px;
  }
}

/* ==============================
   フッター全体
============================== */

.site-footer {
  position: relative;
  width: 100%;
  min-height: 1200px;
  padding: 75px 20px 280px;
  background-color: #bae2f8;
  background-image: url("/wp/wp-content/themes/region80423/img/spy33.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  color: #231815;
}

.footer-inner {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  text-align: center;
}

/* ==============================
   案内文
============================== */

.footer-introduction {
  margin: 0 0 25px;
  font-size:110%;
  font-weight: 500;
  line-height: 1.7;
}

/* ==============================
   事務局名
============================== */

.footer-office-name {
  margin: 0 0 20px;
  color: #231815;
  font-size:200%;
  font-weight: 700;
  line-height: 1.4;
}

/* ==============================
   電話番号・FAX番号
============================== */

.footer-contact {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 15px;
}

.footer-contact-row {
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin: 0;
  color: #002f7c;
  font-size:300%;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.04em;
}

.footer-contact-label {
  display: inline-block;
  width: 125px;
  font-size: 0.75em;
  text-align: right;
}

.footer-contact-row a {
  color: inherit;
  text-decoration: none;
}

.footer-contact-row a:hover {
  text-decoration: underline;
}

/* ==============================
   メールアドレス
============================== */

.footer-mail {
  max-width: 710px;
  margin: 0 auto 25px;
}

.footer-mail a {
  display: block;
  width: 100%;
  padding: 10px 25px;
  border: 4px solid #002f7c;
  border-radius: 50px;
  background-color: rgb(255 255 255 / 90%);
  color: #002f7c;
  font-size: 200%;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition:
    background-color 0.25s ease,
    color 0.25s ease;
}

.footer-mail a:hover {
  background-color: #002f7c;
  color: #ffffff;
}

/* ==============================
   受付時間
============================== */

.footer-hours {
  font-size:120%;
  font-weight: 700;
  line-height: 1.7;
}

.footer-hours p {
  margin: 5px 0;
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 900px) {
  .site-footer {
    min-height: 650px;
    padding: 60px 20px 250px;
    background-position: center bottom;
  }

  .footer-contact-row {
    gap: 15px;
  }

  .footer-contact-label {
    width: 100px;
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .site-footer {
    min-height: 820px;
    padding: 45px 15px 210px;
    background-position: center bottom;
    background-size: auto 100%;
  }

  .footer-introduction {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.8;
  }

  .footer-introduction br {
    display: none;
  }

  .footer-office-name {
    margin-bottom: 20px;
    font-size: 24px;
  }

  .footer-contact {
    width: 100%;
    align-items: center;
  }

  .footer-contact-row {
    justify-content: center;
    width: 100%;
    gap: 10px;
    font-size: clamp(28px, 9vw, 40px);
    letter-spacing: 0;
  }

  .footer-contact-label {
    width: 60px;
    font-size: 0.65em;
  }

  .footer-mail {
    margin-bottom: 20px;
  }

  .footer-mail a {
    padding: 10px 15px;
    border-width: 2px;
    font-size: 19px;
  }

  .footer-hours {
    font-size: 13px;
    line-height: 1.7;
  }
}

/* ==============================
   小さいスマートフォン
============================== */

@media screen and (max-width: 400px) {
  .site-footer {
    padding-right: 12px;
    padding-bottom: 180px;
    padding-left: 12px;
  }

  .footer-office-name {
    font-size: 21px;
  }

  .footer-contact-row {
    font-size: 28px;
  }

  .footer-contact-label {
    width: 48px;
  }

  .footer-mail a {
    font-size: 16px;
  }

  .footer-hours {
    font-size: 12px;
  }
}

.footer-copyright {
  position: absolute;
  right: 0;
  bottom: 15px;
  left: 0;
  z-index: 2;
  width: 100%;
  margin: 0;
  padding: 0 15px;
  color: #231815;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

.footer-copyright small {
  font-size: inherit;
}

/* ==============================
   下層ページ メインビジュアル
============================== */

.page-visual {
  position:relative;
  width: 100%;
  min-height: 600px;
  aspect-ratio: 2000 / 960;
  overflow: hidden;
  background-color: #bae2f8;
  background-image: url("/wp/wp-content/themes/region80423/img/spy49.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* タイトル・パンくずの配置 */

.page-visual-content {
  position: absolute;
  top: 34%;
  left: 50%;
  z-index: 2;
  width: calc(100% - 40px);
  max-width: 1000px;
  text-align: center;
  transform: translate(-50%, -50%);
}

/* ==============================
   ページタイトル
============================== */

.page-visual-title {
  margin: 0 0 18px;
  color: #231815;
  font-size: clamp(38px, 4vw, 64px);
  font-weight: 700;
  line-height: 1.3;
}

/* ==============================
   パンくずリスト
============================== */

.breadcrumb {
  width: 100%;
}

.breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb-item {
  display: flex;
  align-items: center;
  color: #231815;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

/* 2つ目以降の前に「>」を表示 */

.breadcrumb-item:not(:first-child)::before {
  content: ">";
  margin-right: 8px;
  color: #231815;
}

/* パンくずリンク */

.breadcrumb-item a {
  color: #231815;
  text-decoration: none;
  transition: opacity 0.25s ease;
}

.breadcrumb-item a:hover {
  text-decoration: underline;
  opacity: 0.75;
}

.breadcrumb-item a:focus-visible {
  outline: 3px solid #002f7c;
  outline-offset: 3px;
}

/* 現在のページ */

.breadcrumb-item[aria-current="page"] {
  font-weight: 700;
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 1000px) {
  .page-visual {
    min-height: 500px;
  }

  .page-visual-content {
    top: 35%;
  }

  .page-visual-title {
    margin-bottom: 14px;
  }

  .breadcrumb-item {
    font-size: 16px;
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .page-visual {
    min-height: 480px;
    aspect-ratio: auto;

    /* スマホ用背景画像へ差し替えてください */
    background-image: url("/wp/wp-content/themes/region80423/img/spy36.png");

    background-position: center bottom;
    background-size: cover;
  }

  .page-visual-content {
    top: 30%;
    width: calc(100% - 30px);
  }

  .page-visual-title {
    margin-bottom: 12px;
    font-size: 32px;
  }

  .breadcrumb-list {
    gap: 5px;
  }

  .breadcrumb-item {
    font-size: 14px;
  }

  .breadcrumb-item:not(:first-child)::before {
    margin-right: 5px;
  }
}

/* ==============================
   小さいスマートフォン
============================== */

@media screen and (max-width: 400px) {
  .page-visual {
    min-height: 420px;
  }

  .page-visual-content {
    top: 28%;
  }

  .page-visual-title {
    font-size: 28px;
  }

  .breadcrumb-item {
    font-size: 13px;
  }
}

/* ==============================
   ボタン全体
============================== */

.target-button-list {
  display: flex;
  align-items: stretch;
  gap: 45px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}

/* ==============================
   各リンクボタン
============================== */

.target-button {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 18px; /* テキストと丸矢印の間隔 */
  min-width: 0;
  min-height: 130px;
  padding: 25px 50px;
  border: 3px solid #0080cb;
  border-radius: 90px;
  background-color: transparent;
  color: #0080cb;
  text-decoration: none;
}

/* ボタンの文字 */

.target-button-text {
  color: inherit;
  font-size:160%;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* 右側の丸 */

.target-button-arrow {
  position: relative;
  top: auto;
  right: auto;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  margin: 0;
  border-radius: 50%;
  background-color: #0080cb;
  transform: none;
  transition: background-color 0.25s ease;
}

/* 丸の中の矢印 */

.target-button-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 13px;
  height: 13px;
  border-top: 5px solid #ffffff;
  border-right: 5px solid #ffffff;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* マウスを載せたとき */

.target-button:hover {
  background-color: #0080cb;
  color: #ffffff;
  transform: translateY(-3px);
}

.target-button:hover .target-button-arrow {
  background-color: #ffffff;
}

.target-button:hover .target-button-arrow::before {
  border-color: #0080cb;
}

/* キーボード操作時 */

.target-button:focus-visible {
  outline: 4px solid #f5c400;
  outline-offset: 4px;
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 1000px) {
  .target-button-list {
    gap: 20px;
  }

  .target-button {
    gap: 14px;
  }

  .target-button-arrow {
    right: auto;
    width: 46px;
    height: 46px;
    margin: 0;
  }

  .target-button-text {
    font-size: 28px;
  }


  .target-button-arrow::before {
    width: 11px;
    height: 11px;
    border-top-width: 4px;
    border-right-width: 4px;
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .target-button-list {
    flex-direction: column;
    gap: 15px;
  }

 .target-button {
    gap: 12px;
    padding: 15px 25px;
  }

  .target-button-arrow {
    right: auto;
    width: 40px;
    height: 40px;
  }

  .target-button-text {
    font-size: 22px;
  }

  .target-button-arrow::before {
    width: 9px;
    height: 9px;
  }
}

/* ==============================
   FAQ全体
============================== */

.faq-list {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}

/* ==============================
   質問・回答の枠
============================== */

.faq-item {
  position: relative;
  width: 100%;
  margin: 50px 0 70px;
  padding: 50px 55px 30px;
  background-color: #f5f6f8;
  color: #231815;
}

/* 上部中央のQ */

.faq-q {
  position: absolute;
  top: 0;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: #0080cb;
  color: #ffffff;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  transform: translate(-50%, -50%);
}

/* ==============================
   質問文
============================== */

.faq-question {
  margin: 0 0 15px;
  color: #231815;
  font-size:120%;
  font-weight: 700;
  line-height: 1.6;
}

/* ==============================
   回答文
============================== */

.faq-answer {
  color: #231815;
  font-size:110%;
  font-weight: 400;
  line-height: 1.8;
}

.faq-answer p {
  margin: 0;
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .faq-item {
    margin: 40px 0 60px;
    padding: 55px 20px 30px;
  }

  .faq-q {
    width: 70px;
    height: 70px;
    font-size: 38px;
  }

  .faq-question {
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 1.6;
  }

  .faq-answer {
    font-size: 16px;
    line-height: 1.8;
  }
}

/* ==============================
   小さいスマートフォン
============================== */

@media screen and (max-width: 400px) {
  .faq-item {
    padding: 50px 15px 25px;
  }

  .faq-q {
    width: 62px;
    height: 62px;
    font-size: 34px;
  }

  .faq-question {
    font-size: 17px;
  }

  .faq-answer {
    font-size: 15px;
  }
}

/* ==============================
   ボタン配置
============================== */

.download-button-area {
  width: 100%;
  padding: 30px 0;
}

/* ==============================
   リンクボタン
============================== */

.download-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  width: 80%;
  min-height: 105px;
  margin: 0 auto;
  padding: 20px 40px;
  border: 2px solid #002f7c;
  border-radius: 60px;
  background-color: #ffffff;
  color: #002f7c;
  text-decoration: none;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease;
}

/* テキスト */

.download-button-text {
  color: inherit;
  font-size: clamp(18px, 1.7vw, 26px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

/* 丸矢印 */

.download-button-arrow {
  position: relative;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #002f7c;
  transition: background-color 0.25s ease;
}

/* 矢印 */

.download-button-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 11px;
  height: 11px;
  border-top: 4px solid #ffffff;
  border-right: 4px solid #ffffff;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* マウスを載せたとき */

.download-button:hover {
  background-color: #002f7c;
  color: #ffffff;
  transform: translateY(-2px);
}

.download-button:hover .download-button-arrow {
  background-color: #ffffff;
}

.download-button:hover .download-button-arrow::before {
  border-color: #002f7c;
}

/* キーボード操作時 */

.download-button:focus-visible {
  outline: 4px solid #f5c400;
  outline-offset: 4px;
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .download-button-area {
    padding: 20px 0;
  }

  .download-button {
    gap: 12px;
    width: 95%;
    min-height: 80px;
    padding: 15px 20px;
    border-width: 2px;
    border-radius: 45px;
  }

  .download-button-text {
    font-size: 16px;
    line-height: 1.5;
  }

  .download-button-arrow {
    width: 36px;
    height: 36px;
  }

  .download-button-arrow::before {
    width: 9px;
    height: 9px;
    border-top-width: 3px;
    border-right-width: 3px;
  }
}


.shop-archive {
  padding: 80px 20px;
}

.shop-archive__inner {
  max-width: 1150px;
  margin: 0 auto;
}

.shop-archive__title {
  margin-bottom: 40px;
  font-size: 32px;
}

.shop-list {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

.shop-card {
  padding: 30px;
  border: 1px solid #ccc;
  border-radius: 12px;
  background: #fff;
}

.shop-card__title {
  margin: 0 0 20px;
  font-size: 24px;
}

.shop-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.shop-tag {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 4px;
  background: #20c4d8;
  color: #fff;
  font-size: 13px;
}
.shop-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 20px;
}

.shop-card__meta .shop-card__tags {
  margin-bottom: 0;
}

.shop-ticket {
  flex-shrink: 0;
  display: inline-block;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}

/* AB券利用 */
.shop-ticket--ab {
  background: #002f7c;
  color: #fff;
}

/* B券のみ利用 */
.shop-ticket--b {
  border: 1px solid #002f7c;
  background: #fff;
  color: #002f7c;
}
@media screen and (max-width: 768px) {

  .shop-card__meta {
    gap: 8px;
    align-items: center;
  }

  .shop-card__meta .shop-card__tags {
    gap: 5px;
  }

  .shop-ticket {
    padding: 5px 8px;
    font-size: 11px;
    white-space: nowrap;
  }

}
.shop-card__info {
  border-top: 1px solid #ddd;
}

.shop-row {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #ddd;
}

.shop-row__label {
  font-weight: 700;
}

.shop-row__content {
  min-width: 0;
  word-break: break-word;
}

.shop-row__buttons {
  display: flex;
}

.shop-map-btn {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #002f7c;
  background: #002f7c;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.4;
  transition: 0.3s;
}
.shop-map-btn:hover {
  background: #fff;
  color: #002f7c;
}

.shop-map-btn + .shop-map-btn {
  margin-left: 8px;
}

.shop-pagination {
  margin-top: 40px;
}
.shop-address__postal,
.shop-address__text {
  line-height: 1.6;
}

@media screen and (max-width: 768px) {

  .shop-archive {
    padding: 30px 12px;
  }

  .shop-list {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .shop-card {
    padding: 22px 18px;
    border-radius: 12px;
  }

  .shop-card__title {
    font-size: 22px;
    margin-bottom: 18px;
  }

  .shop-card__tags {
    gap: 6px;
    margin-bottom: 16px;
  }

  .shop-tag {
    font-size: 12px;
    padding: 4px 9px;
  }

  .shop-row {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 0;
  }

  .shop-row__label {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
  }

  .shop-row__content {
    font-size: 14px;
    line-height: 1.6;
    word-break: break-word;
  }

  .shop-address__postal,
  .shop-address__text {
    font-size: 14px;
    line-height: 1.5;
  }

  .shop-row__buttons {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 12px;
	 gap: 10px;
    width: 100%;
  }

  .shop-map-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding: 12px 8px;
    font-size: 14px;
    border-radius: 0;
  }

  .shop-map-btn + .shop-map-btn {
    margin-left: 0;

  }

}

.shop-search {
  margin-bottom: 50px;
  padding: 30px;
  background: #f5f6f8;
  border-radius: 12px;
}

.shop-search__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.shop-search__item label {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
  font-size: 15px;
}

.shop-search__item select,
.shop-search__item input {
  width: 100%;
  height: 52px;
  padding: 0 15px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  font-size: 15px;
}

.shop-search__keyword {
  grid-column: 1 / -1;
}

.shop-search__button-wrap {
  grid-column: 1 / -1;
  text-align: center;
}

.shop-search__button {
  width: 100%;
  max-width: 500px;
  padding: 16px 30px;
  border: 0;
  border-radius: 6px;
  background: #002f7c;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}

.shop-search__button:hover {
  opacity: 0.85;
}


/* スマホ */
@media screen and (max-width: 768px) {

  .shop-search {
    padding: 20px 15px;
    margin-bottom: 35px;
  }

  .shop-search__form {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .shop-search__keyword,
  .shop-search__button-wrap {
    grid-column: auto;
  }

  .shop-search__item select,
  .shop-search__item input {
    height: 48px;
    font-size: 14px;
  }

  .shop-search__button {
    max-width: none;
    font-size: 16px;
    padding: 14px 20px;
  }

}

.shop-result-count {
  margin: 0 0 25px;
  font-size: 18px;
  font-weight: 700;
  text-align:center;
}

.shop-result-count strong {
  margin: 0 5px;
  font-size: 28px;
  color: #002f7c;
}

@media screen and (max-width: 768px) {

  .shop-result-count {
    margin-bottom: 20px;
    font-size: 15px;
  }

  .shop-result-count strong {
    font-size: 24px;
  }

}

/* ==============================
   ページ全体
============================== */

.entry-page {
  width: 100%;
  padding: 70px 0 120px;
  background-color: #ffffff;
  color: #231815;
}

.entry-container {
  width: 80%;
  max-width: 1100px;
  margin: 0 auto;
}

/* ==============================
   メイン見出し
============================== */

.entry-main-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 57%;
  min-width: 450px;
  min-height: 95px;
  margin: 0 auto 65px;
  padding: 18px 40px;
  border-radius: 55px;
  background-color: #002f7c;
}

.entry-main-heading::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 18px solid #002f7c;
  border-right: 13px solid transparent;
  border-left: 13px solid transparent;
  transform: translateX(-50%);
}

.entry-main-heading h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* ==============================
   申込方法の各セクション
============================== */

.entry-section {
  width: 100%;
  margin-bottom: 35px;
}

.entry-section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 65px;
  margin: 0;
  padding: 12px 25px;
  border-radius: 13px;
  background-color: #00a4e3;
  color: #ffffff;
  font-size: clamp(23px, 2.5vw, 34px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.entry-section-title span {
  margin-right: 10px;
  font-weight: 500;
}

.entry-section-content {
  padding: 30px 15%;
}

/* ==============================
   インターネット申込ボタン
============================== */

.entry-web-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  width: 100%;
  min-height: 75px;
  margin: 0 auto;
  padding: 15px 30px;
  border: 2px solid #002f7c;
  border-radius: 45px;
  background-color: #ffffff;
  color: #002f7c;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease;
}

/* 丸矢印 */

.entry-button-arrow {
  position: relative;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-color: #002f7c;
  transition: background-color 0.25s ease;
}

.entry-button-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 8px;
  height: 8px;
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* ホバー */

.entry-web-button:hover {
  background-color: #002f7c;
  color: #ffffff;
  transform: translateY(-2px);
}

.entry-web-button:hover .entry-button-arrow {
  background-color: #ffffff;
}

.entry-web-button:hover .entry-button-arrow::before {
  border-color: #002f7c;
}

.entry-web-button:focus-visible,
.entry-download-item:focus-visible {
  outline: 4px solid #f5c400;
  outline-offset: 4px;
}

/* ==============================
   注意文・連絡先
============================== */

.entry-notice {
  margin: 0;
  color: #e60012;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}

.entry-contact {
  margin: 20px 0 0;
  color: #002f7c;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.entry-contact a {
  color: inherit;
}

/* ==============================
   申請書ダウンロード
============================== */

.entry-download {
  width: 100%;
  margin-top: 25px;
}

.entry-download-title {
  margin: 0;
  padding: 10px 20px;
  border: 2px solid #00a4e3;
  border-radius: 10px;
  color: #00a4e3;
  font-size: clamp(19px, 2vw, 27px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.entry-download-list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 130px;
  margin-top: 30px;
}

.entry-download-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #002f7c;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.entry-download-item img {
  display: block;
  width: 90px;
  height: 110px;
  object-fit: contain;
}

.entry-download-item:hover {
  opacity: 0.75;
  transform: translateY(-3px);
}

/* ==============================
   タブレット
============================== */

@media screen and (max-width: 900px) {
  .entry-container {
    width: 90%;
  }

  .entry-main-heading {
    width: 65%;
  }

  .entry-section-content {
    padding: 55px 10%;
  }

  .entry-download-list {
    gap: 90px;
  }
}

/* ==============================
   スマートフォン
============================== */

@media screen and (max-width: 767px) {
  .entry-page {
    padding: 45px 0 80px;
  }

  .entry-container {
    width: 95%;
  }

  .entry-main-heading {
    width: 90%;
    min-width: 0;
    min-height: 75px;
    margin-bottom: 50px;
    padding: 15px 25px;
    border-radius: 45px;
  }

  .entry-main-heading h1 {
    font-size: 27px;
  }

  .entry-main-heading::after {
    bottom: -13px;
    border-top-width: 15px;
    border-right-width: 11px;
    border-left-width: 11px;
  }

  .entry-section {
    margin-bottom: 25px;
  }

  .entry-section-title {
    min-height: 58px;
    padding: 12px 15px;
    border-radius: 10px;
    font-size: 21px;
  }

  .entry-section-title span {
    margin-right: 5px;
  }

  .entry-section-content {
    padding: 20px 5px;
  }

  .entry-web-button {
    gap: 12px;
    width: 95%;
    min-height: 70px;
    padding: 12px 20px;
    font-size: 15px;
  }

  .entry-button-arrow {
    width: 32px;
    height: 32px;
  }

  .entry-notice {
    padding: 0 10px;
    font-size: 14px;
    line-height: 1.7;
  }

  .entry-contact {
    font-size: 19px;
  }

  .entry-download-title {
    padding: 9px 15px;
    font-size: 18px;
  }

  .entry-download-list {
    gap: 60px;
    margin-top: 25px;
  }

  .entry-download-item img {
    width: 70px;
    height: 85px;
  }

  .entry-download-item {
    font-size: 13px;
  }
}

/* ==============================
   小さいスマートフォン
============================== */

@media screen and (max-width: 400px) {
  .entry-main-heading h1 {
    font-size: 24px;
  }

  .entry-section-title {
    font-size: 18px;
  }

  .entry-download-list {
    gap: 40px;
  }
}

/*---　追加TOP  ---*/

.slicknav_menu {
display:none;
}

.clear{
clear:both;
}

.text_center{
text-align:center;
}
.text_center01{
text-align:center;
}
.text_right{
	text-align:right;
}
.text_left{
	text-align:left;
}

.back_text{
background-color:rgba(0,0,0,0.5);
padding:15px 30px;
border-radius:20px;
}
.hr02{
border-bottom-style:dotted;
border-bottom-width:2px;
border-bottom-color:#192d63;
padding:5px 0px;
margin-bottom:10px;
width:99%;
}

.boxwidth80{
	width:80%;
	margin:0 auto;
}
.boxwidth40{
	width:50%;
	margin:0 auto;
}
.boxwidth60{
	width:65%;
	margin:0 auto;
	text-align:center;
}
.boxwidth60 img{
		margin:0 auto;
	text-align:center;
}
.boxwidth80-1{
	width:70%;
	margin:0 auto;
	background-color:#f7f7f7;
	padding:15px;
}
.boxwidth95{
	width:85%;
	margin:0 auto;
	border-style:solid;
	border-color:#a0d5f2;
	border-left-width:5px;
	border-top-width:0px;
	border-right-width:5px;
	border-bottom-width:0px;
	padding:0px 30px;
}



 

/*----- カテゴリ ----*/


.box30-01{
	width:35%;
	float:left;
padding-right:30px;
}
.box70-01{
	width:60%;
	float:left;
padding-left:50px;
}
.text80-1{
	font-size:80%;
	color:#666666;
}
.img01{
	width:20%;
	margin:0 auto;
}
.img02{
	width:40%;
	margin:0 auto;
}

/*----- box  ------*/

.box00{
max-width:1200px;
margin:0 auto;
padding:10px 0 0 0;

}

.box000{
position:absolute;
width:65%;
margin:0 auto;
padding:25px;
box-shadow: 1px 1px 1px 1px rgba(0,0,0,0.5);
	border-radius:10px;
	top:80%;
z-index:10000000;
background-color:#ffffff;
}

.box01{
	width:80%;
	margin:0 auto;
}

.box02 {
    position: relative;
    margin: 8px 0;
    padding: 0.5em 1em;
    border: solid 3px #64a9c5;
}
.box02 .box-title {
    position: absolute;
    display: inline-block;
    top: -45px;
    left: -3px;
    padding: 10px 9px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size:110%;
    background: #64a9c5;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box02 p {
    margin: 0; 
    padding: 0;
}

.box20{
	width:20%;
	padding:10px;
	float:left;
}
.box25{
	width:25%;
	padding:10px;
	float:left;
}

.box33{
	width:31.5%;
	float:left;
	margin:5px 8px;
}
.box33 img{margin-top:20px;}
.box33-1{
	width:32%;
	float:left;
	margin:2px;
	text-align:center;
}


.box33-11{
	width:32%;
	float:left;
	margin:5px;
	text-align:center;
}
.box40{
	width:40%;
	float:left;
}
.box60{
	width:56%;
	float:left;
	padding-right:15px;
}

.box50{
	width:50%;
	float:left;
	margin:0px;
	padding:15px;
}
.box50-1{
	width:50%;
	float:left;
	margin:0px;
}


.box30{
	width:30%;
	float:left;
	padding:10px 10px 10px 10px;
	text-align:center;
}
.box70{
	width:70%;
	float:left;
	padding:10px 10px 10px 10px;
	font-weight:bold;
	line-height:1.7;
}
.box70-1{
	width:70%;
	float:left;
	padding:20px 10px 10px 10px;
	font-weight:bold;
	line-height:1.7;
}
.box_01{
width: 100%;
color:#002f7b;
border-color:#002f7b;
border-width:2px;
border-style:solid;
border-radius:30px;
padding:10px 10px;
background-color:#ffffff;
text-align:center;
	font-size:110%;
	font-weight:bold;
	margin:0px 0px;
	
}
.boxwidth25{
	margin:10px 0px;
	width:18%;
}

.box_aisa{
width:80%;
border-style:solid;
border-width:0px;
background-color:#F1F0EF;
border-radius:10px;
padding:15px;
margin:10px auto;
font-size:100%;
}

.box_aisa img{
padding-bottom:7px;
}
.box_aisa02{
width:90%;
border-style:solid;
border-width:0px;
background-color:#F1F0EF;
border-radius:10px;
padding:15px;
margin:10px auto;
font-size:100%;
}

.box_biss01{
	border-style:solid;
	border-width:2px;
	font-size:105%;
	font-weight:normal;
	text-align:left;
	padding:10px 20px;
	background-color:#ffffff;
	border-color:#de3459;
    margin:0px auto 10px auto;
	width:80%;
}
.box_biss{
	border-style:dashed;
	border-width:thin;
	padding:15px;
	background-color:#ffffff;
	border-color:#de3459;
    margin:0px auto 15px auto;
}


/*---- タイトル -----*/

.title01{
	position: relative;
	overflow: hidden;
	padding-bottom: 5px;
        margin-bottom:20px;
	font-size:110%;
	font-weight:bold;
	color:#0068b7;
	border-bottom: 3px solid #0068b7;
}

.title02{
	position: relative;
	overflow: hidden;
	padding-bottom: 5px;
    margin-bottom:20px;
	font-size:120%;
	font-weight:bold;
	color:#0068b7;
	border-bottom: 3px solid #0068b7;
}

.title03{
	position: relative;
	overflow: hidden;
	padding-bottom: 5px;
        margin-bottom:10px;
	font-size:120%;
	font-weight:bold;
}
.title03::before,
.title03::after{
	content: "";
	position: absolute;
	bottom: 0;
}
.title03:before{
	border-bottom: 3px solid #0c6794;
	width: 100%;
}
.title03:after{
	border-bottom: 3px solid #D8D8D8;
	width: 100%;
}
.title03-1 {
	margin-top:5px;
	font-size:105%;
  padding: .5em .75em;
  background-color: #f6f6f6;
  border-bottom: 1px solid #de3459;
}

/* ------------- スクロールフェードインDown用 ------------- */
.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:2s;
 -ms-animation-duration:2s;
 animation-duration:2s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(0px); }
 100% { opacity: 1; -webkit-transform: translateY(20px); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(0px); -ms-transform: translateY(0px); transform: translateY(0px); }
 100% { opacity: 1; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
}
/* ------------- スクロールフェードインDown用 END ------------- */  

/*--------テーブル------*/

.tb_01{
 width: 100%;
 border-collapse: collapse;
font-size:95%;

border-bottom:1px dotted #b9b9b9;;
 }

.tb_01 th{
 width: 35%;
 padding: 8px;
 text-align: left;
 vertical-align: top;
 color: #333;
 }

.tb_01 td{
 padding: 8px;
 }

.tb_01 td a{
text-decoration:none;
}


.tb_02{
 width: 100%;
 border-collapse: collapse;
font-size:100%;

 }

.tb_02 th{
 width: 20%;
 padding: 5px;
 text-align: left;
 vertical-align: top;
 color: #333;
 }

.tb_02 td{
 padding: 5px;
 }

.tb_02 td a{
text-decoration:none;
}
.tb_03{
 width: 100%;
 border-collapse: collapse;
font-size:100%;
 }

.tb_03 th{
 width: 4%;
 padding: 8px 5px;
 text-align: left;
 vertical-align: top;
 color: #333;
 }

.tb_03 td{
 padding: 7px 3px 3px 15px;
 }

.tb_03 td a:link{
color:#64a9c5;
text-decoration:none;
}
.tb_03 td a:visited{
color:#64a9c5;
text-decoration:none;
}
.tb_03 td a:active{
color:#666666;
text-decoration:none;
}
.tb_03 td a:hover{
color:#666666;
text-decoration:none;
}

.tb_04{
 width: 100%;
 border-collapse: collapse;
font-size:100%;
margin-top:10px;
 }

.tb_04 th{
 width: 20%;
 padding: 15px 8px;
 text-align: left;
 vertical-align: top;
 color: #333;
 background-color: #ffffff;
 border-bottom: 1px dotted #b9b9b9;
font-weight:bold;
 }

.tb_04 td{
 padding: 15px 8px;
 background-color: #fff;
 border-bottom: 1px dotted #b9b9b9;
 }

.tb_05{
 width: 100%;
 border-collapse: collapse;
font-size:100%;
margin-top:10px;
 }

.tb_05 th{
 width: 15%;
 padding: 6px;
 text-align: left;
 vertical-align: top;
 color: #333;
 background-color: #ffffff;
 border-bottom: 1px dotted #b9b9b9;
font-weight:bold;
 }

.tb_05 td{
 padding: 6px;
 background-color: #fff;
 border-bottom: 1px dotted #b9b9b9;
 }



/*------- ブロック ------*/

.back_01{
width:100%;
background-image:url(/wp/wp-content/themes/region80423/img/backimg02.jpg);
margin:0px 0px;
padding: 0;

}
.back_01_01{
max-width:1000px;
margin:0 auto;
padding:50px 0px;
}


.back_02{
width:100%;
background-color:#f5f7f9;
height:auto;
margin:-80px 0px 0px 0px;
padding: 20px 0px;
border-top-style:solid;
border-top-color:#f5f5f5;
border-top-width:thin;
}

.back_02_01{
max-width:1200px;
	margin:0px auto;
padding:40px 30px 40px 30px;
}



/*------ マウスオーバー ----*/

.fade {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
 
.fade:hover {
    opacity: 0.7;     /* 透過レベル */
    filter: alpha(opacity=60);
}

/*------　アコーディオン--------*/
.s_01 .accordion_one {
    max-width: 1024px;
    margin: 5px auto;
}
.s_01 .accordion_one .accordion_header {
    background-color: #04a9f4;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding: 20px 2%;
    text-align: left;
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition-duration: 0.2s;
}
.s_01 .accordion_one:nth-of-type(2) .accordion_header {
    background-color: #04a9f4;
}
.s_01 .accordion_one:nth-of-type(3) .accordion_header {
    background-color: #04a9f4;
}
.s_01 .accordion_one:nth-of-type(4) .accordion_header {
    background-color: #04a9f4;
}
.s_01 .accordion_one .accordion_header:hover {
    opacity: .8;
}
.s_01 .accordion_one .accordion_header .i_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 5%;
    width: 40px;
    height: 40px;
    border: 1px solid #fff;
    margin-top: -20px;
    box-sizing: border-box;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: 0.2s;
}
.s_01 .accordion_one .accordion_header .i_box .one_i {
    display: block;
    width: 18px;
    height: 18px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: 0.2s;
    position: relative;
}
.s_01 .accordion_one .accordion_header.open .i_box {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
}
.s_01 .accordion_one .accordion_header .i_box .one_i:before, .s_01 .accordion_one .accordion_header .i_box .one_i:after {
    display: flex;
    content: '';
    background-color: #fff;
    border-radius: 10px;
    width: 18px;
    height: 4px;
    position: absolute;
    top: 7px;
    left: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transform-origin: center center;
}
.s_01 .accordion_one .accordion_header .i_box .one_i:before {
    width: 4px;
    height: 18px;
    top: 0;
    left: 7px;
}
.s_01 .accordion_one .accordion_header.open .i_box .one_i:before {
    content: none;
}
.s_01 .accordion_one .accordion_header.open .i_box .one_i:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.s_01 .accordion_one .accordion_inner {
    display: none;
    padding: 10px 30px;
    border-left: 0px solid #f7f7f7;
    border-right: 0px solid #f7f7f7;
    border-bottom: 0px solid #f7f7f7;
    box-sizing: border-box;
}
.s_01 .accordion_one:nth-of-type(2) .accordion_inner {
    border-left: 0px solid #000000;
    border-right: 0px solid #000000;
    border-bottom: 0px solid #000000;
}
.s_01 .accordion_one:nth-of-type(3) .accordion_inner {
    border-left: 0px solid #000000;
    border-right: 0px solid #000000;
    border-bottom: 0px solid #000000;
}
.s_01 .accordion_one:nth-of-type(4) .accordion_inner {
    border-left: 0px solid #000000;
    border-right: 0px solid #000000;
    border-bottom: 0px solid #000000;
}
.s_01 .accordion_one .accordion_inner .box_one {
    height: auto;
}
.s_01 .accordion_one .accordion_inner p.txt_a_ac {
    margin: 0;
}
@media screen and (max-width: 1024px) {
    .s_01 .accordion_one .accordion_header {
        font-size: 18px;
    }
    .s_01 .accordion_one .accordion_header .i_box {
        width: 30px;
        height: 30px;
        margin-top: -15px;
    }
}
@media screen and (max-width: 767px) {
    .s_01 .accordion_one .accordion_header {
        font-size: 16px;
        text-align: left;
        padding: 15px 60px 15px 15px;
    }
}
 
/*-----カレンダー----*/
.googleCalendar iframe {
  width: 100%;
  height: 400px;
}
@media all and (min-width: 768px) {
  .googleCalendar iframe {
	height: 600px;
  }
}

/* ---- マップ -----*/

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*--- btn ---*/

 .btn-flat-vertical-border01 {
  position: relative;
  display: inline-block;
  font-weight: normal;
  padding: 6px 40px;
  text-decoration: none;
  border: solid 1px #ffffff;
	 border-radius:10px;
  color: #ffffff;
  background: #996b37;
  transition: .4s;
}

.btn-flat-vertical-border01:hover {
  background: #eee8aa;
  color: #444444;
}

 .btn-flat-vertical-border02 {
  position: relative;
	width:100%;
	 height:50px;
 display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  font-weight: normal;
  
  text-decoration: none;
  border: solid 1px #ffffff;
	 border-radius:10px;
  color: #ffffff;
  background: #968888;
  transition: .4s;
}

.btn-flat-vertical-border02:hover {
  background: #564949;
  color: #ffffff;
}

.link01 a:link{color: #ffffff; text-decoration: none;}
.link01 a:visited {color: #ffffff; text-decoration: none;}
.link01 a:active{color: #000000; text-decoration: none;}
.link01 a:hover {color: #000000; text-decoration: none;}

.link02{font-size:100%;}
.link02 a:link{color: #ffffff; text-decoration: none;}
.link02 a:visited {color: #ffffff; text-decoration: none;}
.link02 a:active{color: #ffffff; text-decoration: none;}
.link02 a:hover {color: #ffffff; text-decoration: none;}

.img_maru img{border-radius:150px;}
.img_wrap{
margin: 0 auto;
  overflow: hidden;
  cursor: pointer;
}
.text_pd{padding:5px 0px;}

.img_wrap img{
  width: 100%;
  transition-duration: 0.5s;
}
.img_wrap:hover img{
  transform: scale(1.2);
  transition-duration: 0.5s;
}


/*-- パララックス -- */

.back_c1{
width:100%;
border-color:#172987;
border-width:0px 0 0 0;
height:auto;
padding: 0;
}

.back_c1-2{
max-width:1100px;
margin:0 auto;
padding:50px 0px 50px 0px;
}

#backcontents01{
 background-image: url(/wp/wp-content/themes/region80423/img/s01.jpg);
}

.bgImage{
width: 100%;
min-height: 200px;
display: table;
background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.bgImage > * {
    vertical-align: middle;
    text-align: center;
    margin: 0;
    padding: 0;
}

/* ------ ペイジャー ------ */

.tablenav {
	color: #2583ad;
	background:white;
	margin: 1em auto;
	line-height:2em;
	text-align:center;

}

a.page-numbers, .tablenav .current {
	color: #00019b;
	padding: 2px .4em;
	border:solid 1px #ccc;
	text-decoration:none;
	font-size:smaller;

}

a.page-numbers:hover {
	color:white;
	background: #e7bace;
}

.tablenav .current {
	color: white;
	background: #e7bace;
	border-color: #e7bace;
	font-weight:bold;
}

.tablenav .next, .tablenav .prev {
	border:0 none;
	background:transparent;
	text-decoration:underline;
	font-size:smaller;
	font-weight:bold;
}


.tablenav li {
    display: inline-block;
}


/*--- フォーム ----*/

.style14 { 
  border: 0; 
  height: 1px; 
  background-image: -webkit-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
  background-image: -moz-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
  background-image: -ms-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
  background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0); 
margin:20px 0px;
}

.koteibox01{
border-style:solid;
border-width:1px;
background-color:#f8fdff;
padding:30px;
}

.toukou{
font-size:150%;
text-align:center;
font-weight:bold;
}

.toukou01{
font-size:120%;
text-align:center;
font-weight:bold;
}

.left502{
width:68%;
float:left;
	font-size:100%;
padding:13px 10px 0 10px;
color:#000000;
}

.left502 input {
height:30px;
font-size:100%;
background-color:#f2f2f2;
border-width:0px;
padding:0px 10px 0px 10px;
}
input[type="text"],
textarea{width:90%;border-width:0px;background-color:#f2f2f2;font-size:100%;padding:10px;}
.left502 select {
font-size:105%;
padding:5px;
	margin:3px 0px;
}
.left502-1{
width:320px;
float:left;
padding:10px 5px;
}

.left503{
width:63%;
float:left;
padding:10px 10px;
}

.left50{
width:25%;
	font-size:90%;
float:left;
margin:10px;
padding:5px;

color:#000000;
}

.left50-1{
width:30%;
float:left;
margin:10px;
padding:5px;

color:#ffffff;
}

select.size110{font-size:110%;}

/*確認画面へ進むボタン用*/
.mw_wp_form_input .btn input{
width:250px;
height:60px;
font-size:130%;

}
 
.mw_wp_form_confirm .btn input{
/*送信ボタン用*/
width:250px;
height:40px;
font-size:130%;
}
 
#submitback  input{
/*戻るボタン用*/
width:250px;
height:40px;
font-size:130%;
}

.submit-btn input {
	background: #193f6a;
	width: 60%;
	max-width: 550px;
	min-width: 220px;
	margin: 30px auto;
	display: block;
	border: 1px #00142c solid;
	text-align: center;
	padding: 15px 5px;
	color: #fff;
	transition: all 0.4s ease;
	font-size:110%;
}

.submit-btn input:hover {
	background: #fff;
	color: #00142c;
}

.youtube3 {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube3 iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ------ PC隠す --------*/

.fix_menu_smartphone{

  bottom: 5px;
  left: 0px;
  z-index: 10000;
}
.fix_menu_smartphone img{
  width:100%;
}
.fix_menu_smartphone00{
  position: fixed;
  bottom: 10px;
  left:0px;
  z-index: 100000;
}
.fix_menu_smartphone00 img{
  width:95%;
}

.fix_menu_smartphone01{
  position:fixed;
  bottom: 0px;
  left: 0px;
  z-index: 10000;
}
.fix_menu_smartphone01 img{
  width:100%;
}

.img001{width:40%;margin:0 auto;}

@media screen and (min-width: 650px){	
 .br-pc { display:block; }
 .br-sp { display:none; }
}
@media screen and (max-width: 650px){	
 .br-pc { display:none; }
 .br-sp { display:block; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 770px) {
.pc { display: none !important; }
.sp { display: block !important; }
}


/* ------ ～ 979px ------ */
@media screen and (max-width: 1024px) {
    #wrapper {min-width: 0px;}
	
	#header-inner {width: 100%;	}
	#ptitle {position: absolute; top: 20px; left: 0px; font-size: 124%; font-weight: 500; color: #FFFFFF; z-index: 30; }
#gnav nav {width: 100%; padding: 1.2em 0 0.1em; font-size:80%; }
    #mainvisual-inner {margin: 0px;}
    #mainvisual img{border-width: 0px 0 0px 0;}
	#plist .plist-inner {width: 90%; margin: 0 auto;overflow: hidden;*zoom: 1;}
	#containar {width: 100%;}
#containar02{width: 100%;margin: 0 auto;padding-top: 20px;overflow: hidden;*zoom: 1;z-index:20;}
	#contents {float: none;width: 100%;margin: 0 auto;padding-bottom: 0;}
	#top-list article p {padding: 5px 10px 0 10px;}
	#sidebar {float: none;	width: 90%;	margin: 0 auto;	*margin: 0 auto 20px;overflow: hidden;*zoom: 1;}
	#sidebar1 {float: left ; width: 48%;}
	#sidebar2 {float: right; width: 48%;}
	#footer-inner {width: 100%;}
}

/* ------ ～ 767px ------ */

@media only screen and (min-width: 768px)
{
.none01 {display:none}

 }

/* ------ ～ 767px ------ */
@media screen and (max-width: 768px) {
	
	html {*overflow-x: hidden;}
header {width: 100%;z-index:100;margin:0px 0;position:relative;}
	#wrapper { overflow: hidden;}
#mainvisual {position:relative;  width: 100%; border-bottom: 0px solid #D98392; overflow:hidden; z-index:10;}
	#gnav-btn {position: relative;display: block;	width: 100%;padding: 5px 0 4px;	background-color: #B90B50;}
	#header-inner {position: relative; width: 100%; border-bottom: 0; }
	#ptitle {position: absolute; top: -18px; left: 40px; font-size: 92%; font-weight: normal; color: #FFFFFF; z-index: 30; }
	#gnav-btn div {margin-left: 10px;}
	#gnav-btn div a {line-height: 25px; color: #FFFFFF; font-size: 22px; text-decoration: none;}
	#gnav {position: absolute;width: 250px; height: auto; top: 0;left: -250px; background-color: #999999; border: none;}
	#gnav nav {width: 100%;	margin: 35px 0 0 0;  padding: 0; border: 0;border-top: solid 1px #666666; position: static;}	
	#gnav nav > ul {float: none;	width: 100%; height: auto; border-left: none;border-right: none; background-color: #555555;}
    #gnav nav li {position: static; width: 100%; float: none; margin: 0; padding: 0; text-align: left; border-left: none;}
	#gnav nav > ul > li a {display: block;padding: 9px 20px 9px; color: #888888; font-size: 92%; line-height: 1.2em; border-left: none;border-right: none;border-bottom: solid 1px #666666; background: #555555 url("img/arrow_03.png") no-repeat right center;	*zoom: 1;}
	#gnav nav > ul > li > ul {position: static; top: 100%; left: 0; list-style: none; margin: 0; width: 100%;}
	#gnav nav > ul > li:last-child > ul {width: 100%;}
	#gnav nav > ul > li  ul li{overflow: hidden; width: 100%; height: auto ; color: #FFFFFF;}
	#gnav nav > ul > li  ul li a{height: auto; line-height: 1.2em; display: block; padding: 9px 20px 9px 30px; text-align: left; font-size: 92%; font-weight: normal; background: #555555 url("img/arrow_03.png") no-repeat right center;	*zoom: 1;}
	#gnav nav > ul > li:hover > a{background: #333333 url("img/arrow_03.png") no-repeat right center; color: #FFFFFF;}
	#gnav nav > ul > li  ul li:hover > a{background: #333333 url("img/arrow_03.png") no-repeat right center; color: #FFFFFF;}
	#gnav nav > ul > li:hover ul li{height: auto ;border-top: 0;}
	#gnav nav > ul > li:hover ul li:last-child{border-bottom: 0;}
	#gnav nav .current-menu-parent {color: #FFFFFF; background: #555555 url("img/arrow_03.png") no-repeat right center;}
    #gnav nav .current-menu-item a {color: #FFFFFF; background: #333333 url("img/arrow_03.png") no-repeat right center;}
	#plist{position: relative; width: 100%;}
	#containar{position: relative; background: #FFFFFF;padding-top: 10px;}

#containar01 {width: 100%;margin: 0 auto;padding-top:0px;overflow: hidden;*zoom: 1;z-index:20;}
	.doc {padding: 0 10px;}
	.js #menu {display:none;}
    .js .slicknav_menu {display:block;}
.none {display:none}
.text_center01{
text-align:left;
}
	.logobox{
	width:100%;
	margin:5px 0px 0px 25px;
	text-align:left;
}
.logobox img{
width:60%;
}
.menubox{
	width:0%;
	float:left;
	padding:0px 0 0 0;
}
.box33{
	width:auto;
	float:left;
	margin:5px;
}

.box33-1{
	width:47%;
	float:left;
	margin:5px;
	text-align:center;
}
.box33 img{margin-top:0px;}
	
.box33-11{
	width:auto;
	float:left;
	margin:5px;
	text-align:center;
}

.box00{
width:auto;
margin:0px 15px;
padding:10px 0 0 0;
}
.box000{
max-width:1000px;
margin:5px;
padding:0px 0 0 0;
}
.boxwidth25{
	margin:10px 0px;
	width:50%;
}

	.box20{
	width:50%;
	padding:5px;
	float:left;
}
.box25{
	width:50%;
	padding:5px;
	float:left;
}
	.tb_01{
 width: 100%;
 border-collapse: collapse;
font-size:100%;
 }

.tb_01 th{
 width: 45%;
 padding: 3px;
 text-align: left;
 vertical-align: top;
 color: #333;
 }

.tb_01 td{
 padding: 3px;
 }

.tb_01 td a{
text-decoration:none;
}

.tb_011{
 width: 100%;
 border-collapse: collapse;
font-size:95%;
border-bottom:0px dotted #b9b9b9;;
 }

.tb_011 th{
 width: 43%;
 padding: 8px;
 text-align: left;
 vertical-align: top;
 color: #333;
 }

.tb_011 td{
 padding: 3px;
 }

.tb_011 td a{
text-decoration:none;
}
.tb_012{
 width: 100%;
 border-collapse: collapse;
font-size:95%;
border-bottom:0px dotted #b9b9b9;;
 }

.tb_012 th{
 width: 43%;
 padding: 8px;
 text-align: left;
 vertical-align: top;
 color: #333;
 }

.tb_012 td{
 padding: 3px;
 }

.tb_012 td a{
text-decoration:none;
}


.tb_05{
 width: 100%;
 border-collapse: collapse;
font-size:100%;
margin-top:10px;
 }

.tb_05 th{
 width: 25%;
 padding: 6px;
 text-align: left;
 vertical-align: top;
 color: #333;
 background-color: #ffffff;
 border-bottom: 1px dotted #b9b9b9;
font-weight:bold;
 }

.tb_05 td{
 padding: 6px;
 background-color: #fff;
 border-bottom: 1px dotted #b9b9b9;
 }
.tb_chek{
 width: 100%;
 border-collapse: collapse;
font-size:105%;
margin-top:6px;
 }
.tb_chek th{
 width: 10%;
 padding: 15px 8px;
 text-align: left;
 vertical-align: top;
 color: #333;
 background-color: #ffffff;
 border-bottom: 1px dotted #b9b9b9;
font-weight:bold;
 }
.tb_chek td{
 padding: 18px 3px;
 background-color: #fff;
 border-bottom: 1px dotted #b9b9b9;

 }
	.box01{
	width:95%;
	margin:0 auto;
}
.box50{
	width:100%;
	float:left;
	margin:0px;
	padding:15px;
}
.box50-1{
	width:100%;
	float:left;
	margin:0px;
}
.box50-10{
width:50%;
padding:0px;
float:left;
text-align:left;
right:0%;
margin:2px 0px 0px 0px;
}
.box30{
	width:100%;
	float:left;
	margin-top:5px;
	text-align:center;
}
.box30 img{width:60%;}
.box70{
	width:100%;
	float:left;
	padding-left:0px;
	margin-top:5px;
}
	
.left50{
width:98%;
margin:10px 0px;
padding:0px 5px;
background-color:#ffffff;
color:#000000;
}
	
.left502{
width:98%;
float:left;
font-size:105%;
padding:10px 10px;
color:#000000;
}

.left502 input {
height:30px;
width:80%;
font-size:90%;
}

.left503{
width:98%;
float:left;
font-size:100%;
padding:10px 10px;
}
.boxwidth80{
	width:100%;
	margin:0 auto;
}
.boxwidth40{
	width:90%;
	margin:0 auto;
}
.boxwidth60{
	width:80%;
	margin:0 auto;
}
.box_aka{
width:80%;
margin:0 auto;
padding:10px 15px;
border-style:solid;
border-color:#006837;
	}
.boxwidth95{
	width:95%;
	margin:0 auto;
	border-style:solid;
	border-color:#a0d5f2;
	border-left-width:5px;
	border-top-width:0px;
	border-right-width:5px;
	border-bottom-width:0px;
	padding:0px 30px;
}

.text110{
font-size:110%;
font-weight:bold;
padding:15px 0;
}
.text200{font-size:160%;padding:15px 0;color:#4d4d4d;text-align:left;line-height:1.6;text-align:center;font-family: "Hiragino Sans";
  src: local(HiraginoSans-W8);font-weight: 700;
}
.boxwidth80-1{
	width:95%;
	margin:0 auto;
	background-color:#f7f7f7;
	padding:15px;
}

	
 .btn-flat-vertical-border01 {
  position: relative;
  display: inline-block;
  font-weight: normal;
  padding: 6px 10px;
  text-decoration: none;
  border: solid 1px #ffffff;
	 border-radius:5px;
  color: #ffffff;
  background: #996b37;
  transition: .4s;
}

.btn-flat-vertical-border01:hover {
  background: #eee8aa;
  color: #444444;
}
.box40{
	width:100%;
	float:left;
}
.box60{
	width:100%;
	float:left;
	padding-left:0px;
}
.box_biss01{
	border-style:solid;
	border-width:2px;
	font-size:100%;
	font-weight:normal;
text-align:left;
	padding:15px;
	background-color:#ffffff;
	border-color:#de3459;
    margin:0px auto 15px auto;
	width:90%;
}
.balloon001{
  position: relative;
  padding: 15px;
	background-color:#f79100;
	color:#ffffff;
text-align:center;
	font-family: "Hiragino Sans";
  src: local(HiraginoSans-W8);font-weight: 700;
	font-size:140%;
}

.balloon001::before{
  content: '';
  position: absolute;
left:45%;
  bottom: -20px;
  display: block;
  width: 0;
  height: 0;
  border-right: 20px solid transparent;
  border-top: 20px solid #f79100;
  border-left: 20px solid transparent;
}
.img01{
	width:60%;
	margin:0 auto;
}
.img02{
	width:40%;
	margin:0 auto;
}
.box300 {
    margin:10px 0;
    background: #f1f1f1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box300 .box-title {
    font-size: 1.2em;
    background: #193f6a;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box300 p {
    padding: 15px 20px;
    margin: 0;
}
.box30-03{
	width:100%;
	float:left;
	margin-top:0px;
}

.box70-03{
	width:100%;
	float:left;
	padding-right:0px;
	margin-top:5px;
}
.back_01{
width:100%;
background-image:url(/wp/wp-content/themes/region80423/img/backimg02.jpg);
margin:0px 0px;
padding: 0;

}
.back_01_01{
max-width:1000px;
margin:0 auto;
padding:30px 15px;
}
.tb_21 th{
  position: relative;
  text-align: left;
  width: 20%;
  background-color: #f79100;
  color: white;
  text-align: center;
  padding: 10px 0;
	font-weight:bold;
}
.tb_07 th{
 width: 10%;
 padding: 6px;
 text-align: left;
 vertical-align: top;
 color: #333;
 background-color: #ffffff;
 border-bottom: 1px dotted #b9b9b9;
font-weight:normal;
 }
.text200-01{font-size:140%;padding:15px 0 5px 0px;color:#000000;text-align:left;line-height:1.6;font-family: "Hiragino Sans";
  src: local(HiraginoSans-W8);font-weight: 700;
}
.back_02{
width:100%;
background-color:#eff7fd;
height:auto;
margin:0px 0px;
padding: 20px 0px;
border-top-style:solid;
border-top-color:#f5f5f5;
border-top-width:thin;
}

.back_02_01{
max-width:1100px;
	margin:0px auto;
padding:30px 10px 30px 10px;
}
	
.img001{width:95%;margin:0 auto;}
	#social{margin: 20px 0;}
	#kanren {margin: 10px 2%; padding: 0 5px;}
	#sidebar {width: 90%;}
	#sidebar1 {float: none; width: 100%;}
	#sidebar2 {float: none; width: 100%;}

}

/* ------ ～479px ------ */
@media screen and (max-width: 479px) {
	.alignleft, .alignright{float: none; margin: 5px auto;display:block;}
	#kiji-list ul li img{max-width: 300px;border: 1px solid #CFCFCF;margin: 5px auto;display:block;}
	#top-list > article{float: none; width: 100%; height: auto; margin: 10px 0; }
	.main-title, .contents-title {padding-left: 0;}
	#contents > p {padding: 0.5em;}
	.doc {padding: 0 2%;}
	.doc p {padding: 0;}
	#kanren {margin: 10px 0; }
	#kanren dl{margin: 0 0 0 10px;}
	#sidebar {*margin-bottom: 0;}
	#footer-inner {width: 100% ;margin: 0 ;padding: 0;}
	footer nav{width: 100% ; margin: 0; padding: 0;}
	footer ul li {width: 100%; text-align: left; display: block; border: none; border-bottom: solid 1px #999999;*zoom: 1;}
	footer ul li a{display: block; padding: 10px 20px 10px 10px; line-height: 1.5em; font-size: 100%; color: #CCCCCC; text-decoration: none; background: url("img/arrow_03.png") no-repeat right+15px center;}
	footer ul li a:hover{text-decoration: none; filter: alpha(opacity=80); -moz-opacity:0.80; -ms-filter: "alpha( opacity=80 )"; opacity:0.80;}
	footer ul li:last-child {border-bottom: none;}
	/* ------ ランキング------ */
	.rank {float: none; margin: 0 auto 15px auto; padding: 0; width: 90%;}
	.rank .rankinner .b_link img {max-width: 100%; margin: 0 auto; display: block;}
}

