@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');
@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css');

/* html5 reset*/
html{overflow-y:scroll;}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:middle;background:transparent;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
h1, h2, h3, h4, h5, h6,address,caption,cite,code,dfn,em,strong,th,var,span{font-style:normal;font-weight:normal;}
li{list-style:none;}
article, aside, dialog, figure, footer, header,hgroup, nav, section {display:block;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
img{vertical-align:bottom;}

/* original reset */
html {
  overflow-x: hidden;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
  color: #1d1d1d;
  word-break: break-all;
}
a:link {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a:active {
  text-decoration: none;
}
a[href^="tel:"] {
  cursor: default;
}
/* html5 reset +alpha */
html {
  font-size: 62.5%; /* (14px) */
  line-height: 1.0;
  overflow-x: hidden;
}
main p {
  line-height: 1.7;
}
/* common item */
.clrfx:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
}
.clrfx {
  zoom: 1;
}
.clr {
  clear: both;
}
.fltl {
  float: left;
}
.fltr {
  float: right;
}
.leftAdjust {
  text-align: left;
}
.rightAdjust {
  text-align: right;
}
.centerAdjust {
  text-align: center;
}
.topAdjust {
  vertical-align: top;
}
.middleAdjust {
  vertical-align: middle;
}
.bottomAdjust {
  vertical-align: bottom;
}
.rlt {
  position: relative;
}
.abs {
  position: absolute;
}
strong {
  font-weight: bold;
}
em {
  font-style: italic;
}
del {
  text-decoration: line-though;
}
img {
  max-width: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  height: auto;
}
a img {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
iframe {
  max-width: 100%;
  line-height: 1;
}
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: alpha(opacity=70);
}
a:hover img.opa100 {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -ms-filter: alpha(opacity=100);
}
/*動画*/
.main_wrap video {
  width: 100%;
  height: 100%;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 0 auto 20px auto;
  ;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/* body style */
body {
  font-family: "M PLUS 1", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-style: normal;
  color: #FFFFFF;
  background: #000000;
  -webkit-text-size-adjust: 100%;
  font-size: 1.8em;
  font-weight: 500;
}
@media screen and (max-width:768px) {
  body {
    font-size: 1.6em;
  }
}
/* common */
/*-------------------------------------*/
/*	その他	*/
/*-------------------------------------*/
hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 3px solid #F6F6F6;
}
#wrapper {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}
.content {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}
.w900 {
  max-width: 900px;
  margin: 0 auto;
}
.w800 {
  max-width: 800px;
  margin: 0 auto;
}
.w640 {
  max-width: 640px;
  margin: 0 auto;
}
.section {
  padding-top: 100px;
  padding-bottom: 100px;
}
.section_t {
  padding-top: 100px;
}
.section_b {
  padding-bottom: 100px;
}
@media print, screen and (min-width: 769px) {
  .sp_view {
    display: none !important;
  }
}
@media screen and (max-width:768px) {
  .pc_view {
    display: none !important;
  }
  .section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .section_t {
    padding-top: 60px;
  }
  .section_b {
    padding-bottom: 60px;
  }
}
/*--------------*/
/*	ページトップへ*/
#pagetop {
  position: fixed;
  bottom: 3%;
  right: 5%;
  z-index: 1;
}
@media screen and (max-width:768px) {
  #pagetop {
    width: 50px;
  }
}
@media print {
  .sp_view {
    display: none;
  }
}
/*-------------------------------------*/
/*	ヘッダー関連	*/
/*-------------------------------------*/
header h1 {
text-align: center;
padding: 10px 15px;
line-height: 1.5;
}
header {
  width: 100%;
}
header .inner {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
  height: 100px;
  align-items: center;
  padding: 0 15px;
}

 /*ハンバーガーメニュー*/
 .menu {
  width: 70px;
  height: 70px;
  z-index: 100;
  cursor: pointer;
  display: block;
  transition: .5s;
  position: relative;
  background-color: #000000;
  position: fixed;
  right: 20px;
  top: 0;
}
.menu.open {

}
.menu__line {
  background:#FFFFFF;
  width: 60%;
}
.menu__line {
  display: block;
  height: 2px;
  position: absolute;
  transition: transform .3s;
  left: 40%;
  margin-left: -20%;
}
.menu__line--top {
  top: 25px;
}
.menu__line--center {
  top: 35px;
}
.menu__line--bottom {
  top: 45px;
}
.menu__line--top.open {
  top: 35px;
  transform: rotate(45deg);
  background: #FFFFFF;
}
.menu__line--center.open {
  transform: scaleX(0);
}
.menu__line--bottom.open {
  top: 35px;
  transform: rotate(135deg);
  background: #FFFFFF;
}
/*gnav*/
.gnav {
  background-color: #000000;
  display: none;
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 98;
  top: 0;
  left: 0;
}
.gnav__wrap {
  display: flex;
  align-items: center;
  height: 100%;
  position: absolute;
  width: 100%;
}
.gnav__inner {
  width: 70%;
  margin: 0 auto;
  max-width: 700px;
}
.gnav__inner nav > ul > li {
  border-bottom: 1px solid #EEEEEE;
}

.gnav__inner nav ul > li > a {
  display: block;
  padding: 1em 0;
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  color: #FFFFFF;
}
.gnav__inner nav ul > li > a:hover {
color: #ED710E;;
}
.gnav__inner nav ul > li > ul li{
  padding-left: 2em;
  border-top: 1px dashed #EEEEEE;
}
.gnav__inner nav ul > li > ul li a{
  font-size: 1.8rem;
}
.sns_link{
text-align: center;
display: flex;
justify-content: end;
gap: 20px 20px;
margin-top: 30px;
}
@media print {
.gnav {
  display: none;
}
}
@media screen and (min-width:1001px) {
}
@media screen and (max-width:1000px) {
  header h1 {
    text-align: left;
    padding: 10px 100px 10px 15px;
    line-height: 1.5;
    font-size: 1.2rem;

    }
}
@media screen and (max-width:767px) {
.gnav__wrap {
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  overflow-y: scroll;
}
  .gnav__inner {
  padding-top: 70px;
    padding-bottom: 100px;
}	
}
@media screen and (max-width:550px) {
.gnav__inner {
  width: 80%;
}
.gnav__inner nav ul > li > a {
  font-size: 1.6rem;
}
.gnav__inner nav ul > li > ul li a{
  font-size: 1.6rem;
}
}
/*-------------------------------------*/
/*	フッター関連	*/
/*-------------------------------------*/
/*フッター*/
footer {
  padding: 60px 0;
}
footer a{
}
.bt_site{
  background-color: #FFFFFF;
  padding: 0.8em 1.5em;
  line-height: 1.5;
  border-radius: 50px;
  display: inline-block;
  color: #0366B2;
  background-color: #FFFFFF;
  border: 1px solid #0366B2;
}
.bt_site:hover{
  color: #FFFFFF;
  background-color: #0366B2;
}
footer h5 {
  text-align: center;
  margin-bottom: 40px;
}
footer p {
  line-height: 1.7;
}
.copy {
  height: 60px;
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 400;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
}
.copy span {
  display: block;
  margin: 0 auto;
}
@media screen and (max-width:1000px) {}
@media screen and (max-width:767px) {}
@media screen and (max-width:550px) {
  .bt_site{
    font-size: 1.4rem;
  }
}
/*----------------------------------------------------------
【font-size】フォントサイズの設定
----------------------------------------------------------*/

.b{ font-weight: bold!important; }/*太字*/
.normal{ font-weight: normal!important; }/*太字を解除*/

.f08{ font-size: 8px; font-size: 0.8rem; }
.f09{ font-size: 9px; font-size: 0.9rem; }
.f10{ font-size: 10px; font-size: 1.0rem; }
.f11{ font-size: 11px; font-size: 1.1rem; }
.f12{ font-size: 12px; font-size: 1.2rem; }
.f13{ font-size: 13px; font-size: 1.3rem; }
.f14{ font-size: 14px; font-size: 1.4rem; }
.f15{ font-size: 15px; font-size: 1.5rem; }
.f16{ font-size: 16px; font-size: 1.6rem; }
.f17{ font-size: 17px; font-size: 1.7rem; }
.f18{ font-size: 18px; font-size: 1.8rem; }
.f19{ font-size: 19px; font-size: 1.9rem; }
.f20{ font-size: 20px; font-size: 2.0rem; }
.f21{ font-size: 21px; font-size: 2.1rem; }
.f22{ font-size: 22px; font-size: 2.2rem; }
.f23{ font-size: 23px; font-size: 2.3rem; }
.f24{ font-size: 24px; font-size: 2.4rem; }
.f25{ font-size: 25px; font-size: 2.5rem; }
.f26{ font-size: 26px; font-size: 2.6rem; }
.f27{ font-size: 27px; font-size: 2.7rem; }
.f28{ font-size: 28px; font-size: 2.8rem; }
.f29{ font-size: 29px; font-size: 2.9rem; }
.f30{ font-size: 30px; font-size: 3.0rem; }
.f31{ font-size: 31px; font-size: 3.1rem; }
.f32{ font-size: 32px; font-size: 3.2rem; }
.f33{ font-size: 33px; font-size: 3.3rem; }
.f34{ font-size: 34px; font-size: 3.4rem; }
.f35{ font-size: 35px; font-size: 3.5rem; }
.f36{ font-size: 36px; font-size: 3.6rem; }


/*----------------------------------------------------------
【color】フォントカラーの設定
----------------------------------------------------------*/

.red{ color: #ed1c24!important; }
.maroon{ color: #800000!important; }
.fuchsia{ color: #ff00ff!important; }
.purple{ color: #660099!important; }
.lime{ color: #00ff00!important; }
.green{ color: #008000!important; }
.yellow{ color: #ffff00!important; }
.olive{ color: #808000!important; }
.blue{ color: #0000dd!important; }
.navy{ color: #000080!important; }
.aqua{ color: #00ffff!important; }
.teal{ color: #008080!important; }
.white{ color: #fff!important; }
.silver{ color: #c0c0c0!important; }
.gray{ color: #808080!important; }
.black{ color: #000!important; }
.orange{ color: #ffa500!important; }
.pink{ color: #ffc0c8!important; }


/*----------------------------------------------------------
【box】蛍光ペンのような文字背景の設定
----------------------------------------------------------*/

.glow-red{ padding:2px; background-color: #ff0000!important; }
.glow-lime{ padding:2px; background-color: #00ff00!important; }
.glow-yellow{ padding:2px; background-color: #ffff00!important; }
.glow-aqua{ padding:2px; background-color: #00ffff!important; }
.glow-gray{ padding:2px; background-color: #808080!important; }
.glow-black{ padding:2px; background-color: #000!important; }


/*----------------------------------------------------------
【line-height】行間の設定
----------------------------------------------------------*/

.lh10{ line-height: 1.0!important; }
.lh11{ line-height: 1.1!important; }
.lh12{ line-height: 1.2!important; }
.lh13{ line-height: 1.3!important; }
.lh14{ line-height: 1.4!important; }
.lh15{ line-height: 1.5!important; }
.lh20{ line-height: 2.0!important; }


/*----------------------------------------------------------
下線や取消線の設定
----------------------------------------------------------*/

.underline{ text-decoration: underline!important; }
.del{ text-decoration:line-through;}


/*----------------------------------------------------------
【align】文字や画像の横位置設定
----------------------------------------------------------*/

.al-c{ text-align: center; }
.al-r{ text-align: right; }
.al-l{ text-align: left; }


/*----------------------------------------------------------
ボックスの角を丸くする設定
----------------------------------------------------------*/

.radius1 { border-radius: 1px; }
.radius2 { border-radius: 2px; }
.radius3 { border-radius: 3px; }
.radius4 { border-radius: 4px; }
.radius5 { border-radius: 5px; }
.radius6 { border-radius: 6px; }
.radius7 { border-radius: 7px; }
.radius8 { border-radius: 8px; }
.radius9 { border-radius: 9px; }
.radius10 { border-radius: 10px; }


/*----------------------------------------------------------
ボックスの枠線サイズ設定
----------------------------------------------------------*/

.box-bd2 { border-width: 2px; }
.box-bd3 { border-width: 3px; }
.box-bd4 { border-width: 4px; }
.box-bd5 { border-width: 5px; }


/*----------------------------------------------------------
ボックスの枠線色設定
----------------------------------------------------------*/

.box-c-black { border-color: #1d1d1d; }
.box-c-red { border-color: #ff0000; }
.box-c-blue { border-color: #0000ff; }
.box-c-yellow { border-color: #ffff00; }
.box-c-white { border-color: #fff; }


/*----------------------------------------------------------
【margin】周りのブロックからの距離設定
----------------------------------------------------------*/

.m0{ margin: 0!important; }
.m0-t{ margin-top: 0!important; }
.m0-r{ margin-right: 0!important; }
.m0-b{ margin-bottom: 0!important; }
.m0-l{ margin-left: 0!important; }

.m5{ margin: 5px!important; }
.m5-t{ margin-top: 5px!important; }
.m5-r{ margin-right: 5px!important; }
.m5-b{ margin-bottom: 5px!important; }
.m5-l{ margin-left: 5px!important; }

.m10{ margin: 10px!important; }
.m10-t{ margin-top: 10px!important; }
.m10-r{ margin-right: 10px!important; }
.m10-b{ margin-bottom: 10px!important; }
.m10-l{ margin-left: 10px!important; }

.m15{ margin: 15px!important; }
.m15-t{ margin-top: 15px!important; }
.m15-r{ margin-right: 15px!important; }
.m15-b{ margin-bottom: 15px!important; }
.m15-l{ margin-left: 15px!important; }

.m20{ margin: 20px!important; }
.m20-t{ margin-top: 20px!important; }
.m20-r{ margin-right: 20px!important; }
.m20-b{ margin-bottom: 20px!important; }
.m20-l{ margin-left: 20px!important; }

.m25{ margin: 25px!important; }
.m25-t{ margin-top: 25px!important; }
.m25-r{ margin-right: 25px!important; }
.m25-b{ margin-bottom: 25px!important; }
.m25-l{ margin-left: 25px!important; }

.m30{ margin: 30px!important; }
.m30-t{ margin-top: 30px!important; }
.m30-r{ margin-right: 30px!important; }
.m30-b{ margin-bottom: 30px!important; }
.m30-l{ margin-left: 30px!important; }

.m35{ margin: 35px!important; }
.m35-t{ margin-top: 35px!important; }
.m35-r{ margin-right: 35px!important; }
.m35-b{ margin-bottom: 35px!important; }
.m35-l{ margin-left: 35px!important; }

.m40{ margin: 40px!important; }
.m40-t{ margin-top: 40px!important; }
.m40-r{ margin-right: 40px!important; }
.m40-b{ margin-bottom: 40px!important; }
.m40-l{ margin-left: 40px!important; }

.m45{ margin: 45px!important; }
.m45-t{ margin-top: 45px!important; }
.m45-r{ margin-right: 45px!important; }
.m45-b{ margin-bottom: 45px!important; }
.m45-l{ margin-left: 45px!important; }

.m50{ margin: 50px!important; }
.m50-t{ margin-top: 50px!important; }
.m50-r{ margin-right: 50px!important; }
.m50-b{ margin-bottom: 50px!important; }
.m50-l{ margin-left: 50px!important; }

.m55{ margin: 55px!important; }
.m55-t{ margin-top: 55px!important; }
.m55-r{ margin-right: 55px!important; }
.m55-b{ margin-bottom: 55px!important; }
.m55-l{ margin-left: 55px!important; }

.m60{ margin: 60px!important; }
.m60-t{ margin-top: 60px!important; }
.m60-r{ margin-right: 60px!important; }
.m60-b{ margin-bottom: 60px!important; }
.m60-l{ margin-left: 60px!important; }


/*----------------------------------------------------------
【padding】ブロック内の距離設定
----------------------------------------------------------*/

.p0{ padding: 0!important; }
.p0-t{ padding-top: 0!important; }
.p0-r{ padding-right: 0!important; }
.p0-b{ padding-bottom: 0!important; }
.p0-l{ padding-left: 0!important; }

.p5{ padding: 5px!important; }
.p5-t{ padding-top: 5px!important; }
.p5-r{ padding-right: 5px!important; }
.p5-b{ padding-bottom: 5px!important; }
.p5-l{ padding-left: 5px!important; }

.p10{ padding: 10px!important; }
.p10-t{ padding-top: 10px!important; }
.p10-r{ padding-right: 10px!important; }
.p10-b{ padding-bottom: 10px!important; }
.p10-l{ padding-left: 10px!important; }

.p15{ padding: 15px!important; }
.p15-t{ padding-top: 15px!important; }
.p15-r{ padding-right: 15px!important; }
.p15-b{ padding-bottom: 15px!important; }
.p15-l{ padding-left: 15px!important; }

.p20{ padding: 20px!important; }
.p20-t{ padding-top: 20px!important; }
.p20-r{ padding-right: 20px!important; }
.p20-b{ padding-bottom: 20px!important; }
.p20-l{ padding-left: 20px!important; }

.p25{ padding: 25px!important; }
.p25-t{ padding-top: 25px!important; }
.p25-r{ padding-right: 25px!important; }
.p25-b{ padding-bottom: 25px!important; }
.p25-l{ padding-left: 25px!important; }

.p30{ padding: 30px!important; }
.p30-t{ padding-top: 30px!important; }
.p30-r{ padding-right: 30px!important; }
.p30-b{ padding-bottom: 30px!important; }
.p30-l{ padding-left: 30px!important; }

.p35{ padding: 35px!important; }
.p35-t{ padding-top: 35px!important; }
.p35-r{ padding-right: 35px!important; }
.p35-b{ padding-bottom: 35px!important; }
.p35-l{ padding-left: 35px!important; }

.p40{ padding: 40px!important; }
.p40-t{ padding-top: 40px!important; }
.p40-r{ padding-right: 40px!important; }
.p40-b{ padding-bottom: 40px!important; }
.p40-l{ padding-left: 40px!important; }

.p45{ padding: 45px!important; }
.p45-t{ padding-top: 45px!important; }
.p45-r{ padding-right: 45px!important; }
.p45-b{ padding-bottom: 45px!important; }
.p45-l{ padding-left: 45px!important; }

.p50{ padding: 50px!important; }
.p50-t{ padding-top: 50px!important; }
.p50-r{ padding-right: 50px!important; }
.p50-b{ padding-bottom: 50px!important; }
.p50-l{ padding-left: 50px!important; }

.p55{ padding: 55px!important; }
.p55-t{ padding-top: 55px!important; }
.p55-r{ padding-right: 55px!important; }
.p55-b{ padding-bottom: 55px!important; }
.p55-l{ padding-left: 55px!important; }

.p60{ padding: 60px!important; }
.p60-t{ padding-top: 60px!important; }
.p60-r{ padding-right: 60px!important; }
.p60-b{ padding-bottom: 60px!important; }
.p60-l{ padding-left: 60px!important; }





