@charset "utf-8";
/* CSS Document */
/* -----------------------------------------------------------
common-test
------------------------------------------------------------*/

@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;500;700&display=swap');




/* -----------------------------------------------------------
font-size
------------------------------------------------------------*/
@media (min-width: 751px) {
  :root {
    font-size: calc(0.5625rem + ((1vw - 7.68px) * 0.1736));
    min-height: 0vw;
  }
  p,div,span,li,i,td,th,em,dt,dd {
    font-size:1.5rem;
  }
  .sp {
    display: block;
  }
}
@media (min-width: 1344px) {
  :root {
    font-size: 10px;
  }
}
@media (max-width: 1100px) {
  @media (min-width: 751px) {
    :root {
      font-size: calc(0.52rem + ((1vw - 7.68px) * 0.1736));
      min-height: 0vw;
    }

  }
}
@media screen and (max-width:750px) {
  html {
  font-size: 62.5%;
  }
  body { font-size: 1.3rem; }
  p,div,span,li,i,td,th,em,dt,dd {
    font-size:1.36rem;
  }
  .pc,.md,.ms,
  #sub {
    display: none!important;
  }
  .sp {
    display: block;
  }
}

/* html
-------------------------------------------------*/
html {
    overflow-y: scroll;
}
/* body
------------------------------------------------- */
body {
    font-family:'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 16px;
    line-height: 1.75;
    color: #000;
    -webkit-text-size-adjust: 100%;
}

/* -----------------------------------------------------------
	common
------------------------------------------------------------*/
html,body {
height:100%;
margin:0;
}
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
font-weight: 400;
line-height:1.8;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-webkit-overflow-scrolling: touch;
}

.en {
    font-family: 'Roboto',sans-serif;
}

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
p,li,dt,dd,th,td,div,span,em {
color: #262626;
word-wrap: break-word;
}
p,div,span,em {
line-height: 1.8
}
li,dt,dd,th,td {
line-height: 1.4;
}
p {
  margin-top:0;
}

li {
line-height: 1.4;
list-style: none;
}

ul,ol,figure {
padding-left:0;
margin:0;
}
table {
width: 100%;
border-collapse: collapse;
}
a {
  word-break: break-word;
  text-decoration: none;
}
header a,
footer a {
  text-decoration: none;
}
main a {
color: #262626;
}
img {
line-height: 0;
max-width: 100%;
vertical-align: bottom;
}

article:after,main:after,
clearfix:after {
content: "";
display: block;
clear: both;
}

@media screen and ( min-width: 751px ){
  a {
  -webkit-transition: background  0.3s ease, color 0.3s ease;
  -moz-transition: background  0.3s ease, color 0.3s ease;
  -o-transition: background  0.3s ease, color 0.3s ease;
  transition: background  0.3s ease, color 0.3s ease;
}
	a:hover {
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	opacity: 0.7;
	cursor:pointer;
  transition:opacity 0.3s;
  text-decoration: none;
	}

	a:hover img {
	-ms-filter: "alpha(opacity=70)";
	filter: alpha(opacity=70);
	}
	#page-top a:hover {
  text-decoration: none;
  opacity: 0.7;
	}

}


/* -----------------------------------------------------------
common default
------------------------------------------------------------*/
.ac { margin:auto; }
.tc { text-align:center!important; }
.tl { text-align:left!important; }
.fl { float:left; }
.fr { float:right; }
.bold { font-weight:bold; }


.inline { display:inline-block; }
.block { display:block; }
.super { vertical-align: super; font-size:10px;}

dl,dt,dd,li {
  margin:0;
  padding:0;
}

/* -----------------------------------------------------------
reset
------------------------------------------------------------*/
a:focus, a:active {
outline: none;
outline-offset: 0;
text-decoration: none;
}
.btn:active, .btn.active {
box-shadow:none;
}
.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
outline:none;
}
.btn-link:hover {
  text-decoration:none;
}


/* font
------------------------------------------------- */
@media only screen and (min-width:751px){
.fo09 { font-size: 9px; }
.fo10 { font-size: 10px; }
.fo11 { font-size: 11px; }
.fo12 { font-size: 12px; }
.fo13 { font-size: 13px; }
.fo14 { font-size: 14px; }
.fo15 { font-size: 15px; }
.fo16 { font-size: 16px; }
.fo17 { font-size: 17px; }
.fo18 { font-size: 18px; }
.fo19 { font-size: 19px; }
.fo20 { font-size: 20px; }
.fo21 { font-size: 21px; }
.fo22 { font-size: 22px; }
.fo23 { font-size: 23px; }
.fo24 { font-size: 24px; }
.fo25 { font-size: 25px; }
.fo26 { font-size: 26px; }
.fo27 { font-size: 27px; }
.fo28 { font-size: 28px; }
.fo30 { font-size: 30px; }
.fo35 { font-size: 35px; }
.fo36 { font-size: 36px; }
.fo40 { font-size: 40px; }
.fo42 { font-size: 42px; }
}
@media only screen and (min-width:751px) and (max-width:1024px){
.fo09 { font-size: 0.8789062vw; }
.fo10 { font-size: 0.9765624vw; }
.fo11 { font-size: 1.0742186vw; }
.fo12 { font-size: 1.171875vw; }
.fo13 { font-size: 1.2695312vw; }
.fo14 { font-size: 1.3671875vw; }
.fo15 { font-size: 1.4648437vw; }
.fo16 { font-size: 1.5625vw; }
.fo17 { font-size: 1.6601562vw; }
.fo18 { font-size: 1.7578125vw; }
.fo19 { font-size: 1.8554687vw; }
.fo20 { font-size: 1.953125vw; }
.fo21 { font-size: 2.0507812vw; }
.fo22 { font-size: 2.1484375vw; }
.fo23 { font-size: 2.2461vw; }
.fo24 { font-size: 2.34375vw; }
.fo25 { font-size: 2.4414061vw; }
.fo26 { font-size: 2.5390624vw; }
.fo27 { font-size: 2.6554687vw; }
.fo28 { font-size: 2.734375vw; }
.fo30 { font-size: 2.9296875vw; }
.fo35 { font-size: 3.4179687vw; }
.fo36 { font-size: 3.515625vw; }
.fo40 { font-size: 3.90625vw; }
.fo42 { font-size: 4.1015625vw; }
}
/* -----------------------------------------------------------
共通ボックス
------------------------------------------------------------*/
.pb10 { padding-bottom:10px; }
.pb15 { padding-bottom:15px; }
.pb20 { padding-bottom:20px; }
.pb30 { padding-bottom:30px; }
.pb40 { padding-bottom:40px; }
.pb50 { padding-bottom:50px; }
.pb60 { padding-bottom:60px; }
.pb80 { padding-bottom:80px; }
.pb100 { padding-bottom:100px; }

.pt60 { padding-top:60px; }
.pt70 { padding-top:70px; }
.pt80 { padding-top:80px; }
.pt5 { padding-top:3px; }
.pl10 { padding-left:10px; }
.pl20 { padding-left:20px; }
.mt80 { margin-top:80px; }
.mt100 { margin-top:100px; }
.mt120 { margin-top:120px; }
.mt140 { margin-top:140px; }

.mb5 { margin-bottom:5px; }
.mb10 { margin-bottom:10px; }
.mb15 { margin-bottom:15px; }
.mb20 { margin-bottom:20px; }
.mb30 { margin-bottom:30px; }
.mb40 { margin-bottom:40px; }
.mb50 { margin-bottom:50px; }
.mb60 { margin-bottom:60px; }
.mb70 { margin-bottom:70px; }
.mb80 { margin-bottom:80px; }
.mb100 { margin-bottom:100px; }
.mb110 { margin-bottom:110px; }
.mb120 { margin-bottom:120px; }

.mr20 { margin-right:20px; }

.pt30 { padding-top: 30px; }
.pb20 { padding-bottom:20px; }

.vt { vertical-align: top; }
.tr { text-align :right; }
.bgfff { background: #fff!important; }
.fs10 { font-size: 10px; }
.fs11 { font-size: 11px; }
.fs12 { font-size: 12px; }
.fs13 { font-size: 13px; }
.fs14 { font-size: 1.4rem; }
.fs16 { font-size: 1.6rem; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 2rem; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fs26 { font-size: 26px; }
.fs28 { font-size: 28px; }
.fs29 { font-size: 29px; }
.fs30 { font-size: 30px; }
.fs32 { font-size: 32px; }
.fs34 { font-size: 34px; }
.fs36 { font-size: 36px; }
.fs38 { font-size: 38px; }
.fs40 { font-size: 40px; }

/* -----------------------------------------------------------
btn
------------------------------------------------------------*/

button {
width: auto;
padding: 0;
margin: 0;
background: none;
border: 0;
font-size: 0;
line-height: 0;
overflow: visible;
cursor: pointer;
}
button:focus {
outline: none;
appearance: none;
}


/* -----------------------------------------------------------
section
------------------------------------------------------------*/

@media screen and (min-width: 751px) {

/* section
----------------------------------------------- */
.section1 {
  padding:1rem 0;
}
.section2 {
  padding:2rem 0;
}
.section3 {
  padding:3rem 0;
}
.section4 {
  padding:4rem 0;
}
.section5 {
    padding:5rem 0;
  }
  .section6 {
    padding:6rem 0;
  }
  .section7 {
    padding:7rem 0;
  }
  .section8 {
    padding:8rem 0;
  }
  .section9 {
    padding:9rem 0;
  }
  .section10 {
    padding:10rem 0;
  }
  .section11 {
    padding:11rem 0;
  }
  .section12 {
    padding:12rem 0;
  }
  .sect3 {
    padding-top:3rem;
  }
  .sect8 {
    padding-top:8rem;
  }
  .secb4 {
    padding-bottom:4rem;
  }
  .secb6 {
    padding-bottom:6rem;
  }
  .secb8 {
    padding-bottom:8rem;
  }
  .secb10 {
    padding-bottom:10rem;
  }
  .secb12 {
    padding-bottom:12rem;
  }
  .secb3 {
    padding-bottom:3rem;
  }
}
@media screen and (max-width: 750px) {
/* section
----------------------------------------------- */
  .section5 {
    padding:2.5rem 0;
  }
  .section6 {
    padding:9vw 0;
  }
  .section7 {
    padding:3.5rem 0;
  }
  .section8 {
    padding:4rem 0;
  }
  .section9 {
    padding:4.5rem 0;
  }
  .section10 {
    padding:5rem 0;
  }
  .section11 {
    padding:5.5rem 0;
  }
  .section12 {
    padding:6rem 0;
  }
  .sp-in {
    padding-left:calc(40/750*100vw);
    padding-right:calc(40/750*100vw);
  }
  .secb3 {
    padding-bottom:2rem;
  }
  .secb4 {
    padding-bottom:2rem;
  }
  .secb8 {
    padding-bottom:5rem;
  }
  .secb10 {
    padding-bottom:5rem;
  }
}


/* -----------------------------------------------------------
container
------------------------------------------------------------*/
#page {
    margin:0 auto;
      overflow-x: hidden;
  }
  .full {
      width:100vw;
      margin:0 calc(50% - 50vw);
  }
  .container {
      margin: 0 auto;
      max-width:940px;
      width:95%;
      position: relative;
  }
  .container.big {
    max-width:1280px;
  }
  .container.large {
      max-width:1200px;
  }
  .container.medium {
    max-width:1100px;
  }
  .container.base {
    max-width:980px;
  }
  .container.short {
    max-width:820px;
  }
  .container.mini {
    max-width:880px;
  }
  .in {
    margin:0 auto;
    max-width:90%;
  }
  
/* -----------------------------------------------------------
container
------------------------------------------------------------*/


@media screen and (min-width: 751px) {
 
    
}

@media screen and (min-width: 751px) and (max-width: 1340px) {

}




@media screen and (max-width: 750px) {
    /* container
    ----------------------------------------------- */
    .container {
      width:100%;
        padding-left:calc(25/750*100vw);
        padding-right:calc(25/750*100vw);
    }
}




/* -----------------------------------------------------------
breadcrumb
------------------------------------------------------------*/
#breadcrumb {
  width: 100%;
}
.breadcrumbs {
  padding:1rem 0;
}
.breadcrumbs a:after, #kv #bread_crumb li a:after {
  content: " ";
  color: transparent;
  display: inline-block;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border: solid #8c8c8c;
  border-width: 0 1px 1px 0px;
  width: 7px;
  height: 7px;
  margin: 0 5px;
  top: -2px;
  position: relative;
}
.bread-crombs * {
  color:#8c8c8c;
}


@media screen and (min-width: 751px) {
/* breadcrumb
----------------------------------------------- */
  .breadcrumbs li {
    font-size: 1.3rem;
    padding: 8px 0;
    display: inline-block;
    margin: 0;
  }
  .breadcrumbs li a {
    font-size: 1.3rem;
    font-weight: normal;
    text-decoration: none;
    position: relative;
  }

}
@media screen and (max-width: 750px) {
/* breadcrumb
----------------------------------------------- */
  .breadcrumbs  {
  display: flex;
  overflow: hidden;
  overflow-x: scroll;
  width:100%;
  height: 38px;
  justify-content: flex-start;
  }
  .breadcrumbs li {
  font-size: 1.3rem;
  white-space: nowrap;
  }
  .breadcrumbs li *, .breadcrumbs li a, .breadcrumbs li {
      font-size: 11px;
  }
  #breadcrumb {
    padding:2rem 0 0;
  }

}

/* -----------------------------------------------------------
pager
------------------------------------------------------------*/

/*---------------------------
pager
-------------------------------- */
.pager-wrap {
  text-align: center;
}
.wp-pagenavi {
    display: flex;
    justify-content: center;
    /* flex-wrap: wrap; */
}
.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    color: #808080;
}
.wp-pagenavi a.page:hover, .wp-pagenavi span.current {
    background: #ff8c00;
    color: #fff;
}
.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    padding: 0 0 2px;
    margin: 0.8em;
    width: 2.2em;
    height: 2.2em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
}
.wp-pagenavi a {
  border:1px solid #D4D4D4;
}
/* .wp-pagenavi a:first-of-type,
.wp-pagenavi a:last-of-type,
.wp-pagenavi a:hover {
  border:none;
} */
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a:hover {
  border:none; 
}


@media screen and (min-width: 751px) {
/* pager
----------------------------------------------- */
.pager-wrap {
  margin:0 auto;
}
.pager {
  padding:8rem 0;
}
}
@media screen and (max-width: 750px) {
/* pager
----------------------------------------------- */
.wp-pagenavi a, .wp-pagenavi span{
  font-size: 1.4rem;
}
.pager-wrap {
  margin: 3em auto;
}
.wp-pagenavi a, .wp-pagenavi span {
  font-size:1.5rem;
  margin:0.65em;
  width:2.4em;
  height:2.4em;
}
.wp-pagenavi a {
  border:1px solid #D4D4D4;
}
.wp-pagenavi a:first-of-type,
.wp-pagenavi a:last-of-type {
  border:none;
}

.pager {
  padding:2rem 0;
}
#page {
  margin-bottom:3rem;
}
}



/* -----------------------------------------------------------
table
------------------------------------------------------------*/
table.type01 {
  border-collapse: collapse;
  margin-bottom:1em;
}
table.type01 th {
  background-color: #e9e9e9;
  text-align: center;
  font-weight: bold;
  border-bottom:1px solid #969696;
}
table.type01 th {
  border-left:1px solid #969696; 
}
table.type01 th:first-of-type {
  border-left:none;
}
table.type01 tr:first-of-type th {
  border-top:1px solid #969696; 
}
table.type01 td {
  border-bottom:1px solid #969696;
  border-left:1px solid #969696;
  background-color: #fff;
}
table.type01 td:first-of-type {
  border-top:1px solid #969696;
}
table.type01 th:first-of-type {
  text-align: left;
}
table .tl {
  text-align: left;
}


@media screen and (min-width: 751px) {
  /* table
  ----------------------------------------------- */
  table.type01 th,
  table.type01 td {
    padding:2.5rem 3.5rem;
  }
  table.type01 th {
    width:25%;
  }
}
@media screen and (max-width: 750px) {
  /* table
  ----------------------------------------------- */
  table.type01 th,
  table.type01 td {
    padding:1.5rem 1rem;
  }
  table.type01 th {
    width:160px;
  }
}
