@charset "UTF-8";

/*@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap'); */

/* =================================================== *

   基本設定

 * =================================================== */
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline;
  outline: none;
  word-break: break-all;
}
html {
  width: 100%;
  height: 100%;
  font-size: 10px;
}
body {
  margin: 0;
  position: relative;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;

  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

}
article, aside, dialog, figure, footer, header, main, menu, nav, section {
  display: block;
}
ol, ul {
  list-style: none;
}
ol, ul, li, dt, dd {
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  table-layout: fixed;
}
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}
.inblock-wrap {
  width: 100%;
  position: relative;
  font-size: 0;
}
.inblock-wrap > * {
  font-size: 1.4rem;
  position: relative;
  vertical-align: top;
  display: inline-block;
}
.flex-wrap {
  display: flex;
  flex-wrap: wrap;
  width:100%;
  position:relative;
}
.flex-wrap > * {
  position:relative;
}

a.bl {
  display: block;
}
.inline-block { display: inline-block; }

/* =================================================== *

   フォント

 * =================================================== */
body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HiraKakuProN-W3",  'メイリオ','Meiryo', "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #333333;
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
}

p {
  margin-bottom: 0.75em;
}
a {
  text-decoration: none;
}
strong, .strong, .bold {
  font-weight: 700 !important;
}
.slim {
  font-weight: 200 !important;
}
.ul {
  text-decoration: underline !important;
}
.big {
  font-size: 110%;
}
.small {
  font-size: 90%;
}
h1{
  font-size:300%;
  line-height: 1.3;
  margin:0;
}
h2 {
  font-size:150%;
  line-height: 1.3;
  margin:0 0 0.5em 0;
}

h3, h4, h5, h6 {
  line-height: 1.5;
}

/* =================================================== *

   画像

 * =================================================== */
 img{
  vertical-align:top;
 }
.pic {
  position: relative;
}
.text-pic {
  position: relative;
  text-align: center;
}
.pic a {
  display:block;
  outline:none;
}
.pic img, .text-pic img {
  width: 100%;
  height: auto;
}
/* =================================================== *

   位置

 * =================================================== */
 
.float-right {
  float: right !important;
}
.float-left {
  float: left !important;
}
.left {
  text-align: left !important;
}
.center {
  text-align: center !important;
}
.right {
  text-align: right !important;
}
.c-l-text {
  text-align: center !important;
}
.abs {
  position: absolute;
}

.fixed {
  position: fixed;
}

/* margin */
.m-auto { margin: 0 auto !important;}

.mb-0 { margin-bottom: 0px !important; }
.mb-5 { margin-bottom: 5px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-15 { margin-bottom: 15px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-25 { margin-bottom: 25px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-35 { margin-bottom: 35px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-45 { margin-bottom: 45px !important; }
.mb-50 { margin-bottom: 50px !important; }
.mb-55 { margin-bottom: 55px !important; }
.mb-60 { margin-bottom: 60px !important; }
.mb-70 { margin-bottom: 70px !important; }
.mb-80 { margin-bottom: 80px !important; }
.mb-90 { margin-bottom: 90px !important; }
.mb-100 { margin-bottom: 100px !important; }

.mb05em { margin-bottom: 0.5em !important; }
.mb1em { margin-bottom: 1em !important; }
.mb1hem { margin-bottom: 1.5em !important; }
.mb2em { margin-bottom: 2em !important; }

.ml-auto { margin-left: auto !important; }
.ml-0 { margin-left: 0px !important; }
.ml-5 { margin-left: 5px !important; }
.ml-10 { margin-left: 10px !important; }
.ml-15 { margin-left: 15px !important; }
.ml-20 { margin-left: 20px !important; }
.ml-25 { margin-left: 25px !important; }
.ml-30 { margin-left: 30px !important; }
.ml-35 { margin-left: 35px !important; }

.mr-auto { margin-right: auto !important; }
.mr-0 { margin-right: 0px !important; }
.mr-5 { margin-right: 5px !important; }
.mr-10 { margin-right: 10px !important; }
.mr-15 { margin-right: 15px !important; }
.mr-20 { margin-right: 20px !important; }
.mr-25 { margin-right: 25px !important; }
.mr-30 { margin-right: 30px !important; }
.mr-35 { margin-right: 35px !important; }

.mt-0 { margin-top: 0 !important; }
.mt-5 { margin-top: 5px !important;}
.mt-10 { margin-top: 10px !important; }
.mt-15 { margin-top: 15px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-25 { margin-top: 25px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-35 { margin-top: 35px !important; }
.mt-40 { margin-top: 40px !important; }
.mt-50 { margin-top: 50px !important; }
.mt-60 { margin-top: 60px !important; }
.mt-70 { margin-top: 70px !important; }

.last-para { margin-bottom: 50px !important; }
.last-para2 { margin-bottom: 110px !important; }

/* padding */
.pt-0 { padding-top: 0 !important; }
.pt-10 { padding-top: 10px !important; }
.pb-0 { padding-bottom: 0 !important; }
.pb-10 { padding-bottom: 10px !important; }
.pb-20 { padding-bottom: 20px !important; }
.pb-30 { padding-bottom: 30px !important; }
.pb-40 { padding-bottom: 40px !important; }
.pb-50 { padding-bottom: 50px !important; }
.pb-60 { padding-bottom: 60px !important; }
.pb-70 { padding-bottom: 70px !important; }
.pb-80 { padding-bottom: 80px !important; }
.pb-90 { padding-bottom: 90px !important; }
.pb-100 { padding-bottom: 100px !important; }
.pl-0 { padding-left: 0 !important; }
.pr-0 { padding-right: 0 !important; }

/* width */
.wd-100p { width: 100% !important; }
.wd-90p { width: 90% !important; }
.wd-85p { width: 85% !important; }
.wd-80p { width: 80% !important; }
.wd-75p { width: 75% !important; }
.wd-70p { width: 70% !important; }
.wd-65p { width: 65% !important; }
.wd-60p { width: 60% !important; }
.wd-50p { width: 50% !important; }
.wd-40p { width: 40% !important; }
.wd-30p { width: 30% !important; }
.wd-25p { width: 25% !important; }
.wd-20p { width: 20% !important; }
.wd-15p { width: 15% !important; }
.wd-auto { width: auto !important; }


@media screen and (max-width: 767px) {
  
  .sp-left {
    text-align: left !important;
  }
  
  .sp-center {
    text-align: center !important; 
  }
  
  .sp-right {
    text-align: right !important;
  }
  
  .c-l-text {
    text-align: left !important;
  }

	/* margin */
	.mb-0-sp { margin-bottom: 0px !important; }

	/* width */
	.wd-100p-sp { width: 100% !important; }
	.wd-90p-sp { width: 90% !important; }
	.wd-85p-sp { width: 85% !important; }
	.wd-80p-sp { width: 80% !important; }
	.wd-75p-sp { width: 75% !important; }
	.wd-70p-sp { width: 70% !important; }
	.wd-65p-sp { width: 65% !important; }
	.wd-60p-sp { width: 60% !important; }
	.wd-50p-sp { width: 50% !important; }
	.wd-40p-sp { width: 40% !important; }
	.wd-30p-sp { width: 30% !important; }
	.wd-25p-sp { width: 25% !important; }
	.wd-20p-sp { width: 20% !important; }
	.wd-15p-sp { width: 15% !important; }
	
}

.animated {
    -webkit-animation-duration: 1s !important;
    animation-duration: 1s !important;
}