@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap');


* {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
   /* font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;
    */
   font-family: 'Noto Sans JP', sans-serif;

}

body {
   margin: 0;
}

@media screen and (max-width: 980px) {
   #wrapper {
      width: 100%;
      overflow: hidden;
   }
}

#wrapper {
   width: 100%;
   overflow: hidden;
}

.suggestH5br {
   display: none;
   /* 普通は表示しない */
}



p {
   font-size: 16px;
   line-height: 28px;
   text-align: left;
}

h3 {
   font-size: 46px;
   text-align: center;
   color: #0D6DC0;
   position: relative;
   z-index: 2;
}

h5 {
   font-size: 22px;
   line-height: 30px;
}

@media screen and (max-width: 980px) {
   h3 {
      font-size: 20px;
   }

   h5 {
      font-size: 17px;
   }

   p {
      font-size: 14px;
      line-height: 22px;
   }
}

.relative {
   position: relative;
}

/*　ハンバーガーボタン　*/
.hamburger {
   display: block;
   position: fixed;
   z-index: 300;
   right: 0px;
   top: 0px;
   width: 56px;
   height: 56px;
   cursor: pointer;
   text-align: center;
   background-color: #0D6DC0;
}

.hamburger span {
   display: block;
   position: absolute;
   width: 23px;
   height: 3.5px;
   left: 16px;
   background: #fff;
   transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
   top: 17px;
}

.hamburger span:nth-child(2) {
   top: 23px;
}

.hamburger span:nth-child(3) {
   top: 29px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
   top: 17px;
   left: 16px;
   transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
   top: 17px;
   transform: rotate(45deg);
}

nav.globalMenuSp {
   position: fixed;
   z-index: 200;
   top: 0;
   left: 0;
   color: #fff;
   background: #0D6DC0;
   text-align: left;
   transform: translateX(100%);
   width: 100%;
   padding: 50px 6%;
   height: 100vh;
}

nav.globalMenuSp ul {
   background: #0D6DC0;
   margin: 0 auto;
   padding: 0;
   width: 100%;
}

nav.globalMenuSp ul li {
   list-style-type: none;
   padding: 0;
   width: 100%;
   border-bottom: 1px solid #fff;
}

nav.globalMenuSp ul li:last-child {
   padding-bottom: 0;
   border-bottom: none;
}

nav.globalMenuSp ul li:hover {
   background: #fff;
}

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

.scrollable {
   overflow: initial
}

.btn,
a.btn,
button.btn {
   position: relative;
   display: inline-block;
   cursor: pointer;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
   -webkit-transition: all 0.3s;
   transition: all 0.3s;
   text-align: center;
   vertical-align: middle;
   text-decoration: none;
   letter-spacing: 0.1em;
   color: #212529;
   border-radius: 0.5rem;
}

.btn--orange,
a.btn--orange {
   color: #fff;
   background-color: #FF9900;
}

.btn--orange:hover,
a.btn--orange:hover {
   color: #fff;
   background: #FF9900;
}

a.btn--radius {
   border-radius: 100vh;
}

/* Header  */
header {
   background-color: #fff;
   padding: 15px 19%;
   position: fixed;
   width: 100%;
   z-index: 100;
   margin: 0;
   box-shadow: 0px 0px 6px #0000005D;
}

header a:not(.h-logo) {
   padding: 12px 35px;
   float: right;
   font-size: 16px;
}

.h-logo:hover {
   cursor: pointer;
}

@media screen and (max-width: 980px) {
   header {
      padding: 15px;
      height: 56px;
   }

   header img {
      width: 119px;
   }

   .burgerSpan {
      display: inline-block;
      position: absolute;
      width: 100%;
      height: 3px;
      background-color: #ffffff;
   }

   header {
      justify-content: space-between;
      align-items: center;
   }

   nav {
      display: inline;
   }

   .menu__box {
      display: flex;
      flex-direction: row;
      list-style-type: none;
      flex-direction: column;
      position: fixed;
      visibility: hidden;
      top: 0;
      left: 0;
      width: 100%;
      height: 15em;
      margin: -600px 0 0 0;
      padding: 0.6em 0;
      text-align: center;
      background-color: #2d303a;
      box-shadow: 1px 0 6px rgba(0, 0, 0, .2);
      z-index: 1;
      transition-duration: 0.5s;
   }
}


/* MV  */
.mv {
   width: 100vw;
   height: 667px;
   background-image: url(../img/mv.png);
   background-size: cover;
   background-repeat: no-repeat;
   text-align: center;
}

.mv>div {
   padding-top: 173px;
}

.mv>div>div {
   margin-top: 28px;
}

.mv a,
.flow a {
   padding: 25px 80px;
   font-size: 24px;
}

@media screen and (max-width: 980px) {
   .mv {
      background-image: url(../img/mv_sp.png);
      background-size: cover;
      width: 100vw;
      background-repeat: no-repeat;
      text-align: center;
      height: 195px;
   }

   .mv>div {
      margin-top: 56px;
   }

   .mv>div>div:nth-of-type(1) {
      width: 322px;
      margin: 0 auto;
   }

   .mv>div>div:nth-of-type(1) img {
      position: absolute;
      width: 100%;
      top: -80px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      background-color: #fff;
      border-radius: 6px;
      height: 154px;

   }

   .mv a {
      padding: 15px 50px;
      font-size: 14px;
      margin-top: 64px;
   }
}

.bk_blue {
   background-color: #0D6DC0;
   color: #fff;
   z-index: -100;
}

.bk_mizu {
   background-color: #E8F7FF;
   text-align: center;
   color: #0D6DC0;
   z-index: -100;
}

.contents {
   padding: 0 24%;
}

@media screen and (max-width: 980px) {
   .contents {
      padding: 0 4%;
   }
}

.about img {
   margin: 70px 0;
}

.about .relative div:first-child {
   position: absolute;
   left: 0;
   top: -300px;
}

.aboutP {
   padding-top: 85px;
   width: 60%;
   /* width: 596px; */
}

.aboutP h3 {
   font-size: 42px;
   text-align: left;
   color: #fff;
}
.flex {
   display: flex;
}

@media screen and (max-width: 980px) {
   .aboutPsp {
      padding-top: 137px;
      width: 100%;
      padding-bottom: 27px;
   }

   .aboutPsp h3 {
      text-align: center;
      color: #fff;
   }

   .about img {
      margin: 0;
   }

   .about .pc-none .relative div {
      position: absolute;
      top: -60px;
      left: 0;
   }

}


/* MERIT */
.merit .flex{
   width: 1190px;
   margin: 0 auto;
   padding: 0;
}

.merit {
   padding-top: 0px;
   padding-bottom: 128px;
}

/* Meritの文字 */
.merit .relative div:first-child {
   position: absolute;
   right: 60px;
   top: 0px;
   z-index: 0;
   height: 0;
}

.merit>.flex>div {
   width: 33%;
   background-color: #fff;
   margin: 15px;
   padding: 44px 29px;
}

.merit p {
   color: #231F20;
}

.merit .flex>div:nth-of-type(1) img {
   width: 100%;
   height: auto;
   padding-top: 59px;
   padding-bottom: 52px;
}
.merit .flex>div:nth-of-type(2) img {
   width: 50%;
   height: auto;
   padding-top: 32px;
   padding-bottom: 42px;
}
.merit .flex>div:nth-of-type(3) img {
   width: 50%;
   height: auto;
   padding-top: 25px;
   padding-bottom: 52px;
}

@media screen and (max-width: 1190px) {
   .merit {
      /* padding-top: 60px; */
      padding-bottom: 0px;
   }
   .merit h3{
      padding-top: 60px;
      margin: 0;
   }

   .merit hr {
      background-color: #0D6DC0;
      height: 1px;
      color: #0D6DC0;
      border: none;
   }

   .merit .flex {
      margin: 0 auto;
      padding: 11px 7% 28px 7%;
      margin-bottom: 20px;
      border-radius: 15px;
      display: block;
      height: auto;
      width: 100%;
   }
   .merit>.flex>div {
      width: 100%;
      margin: 15px 0;
   }

   .merit .flex>div:nth-of-type(1) img {
      width: auto;
      padding-top: 31px;
      padding-bottom: 28px;
   }

   .merit .flex>div:nth-of-type(2) img {
      width: auto;
      padding-top: 17px;
      padding-bottom: 13px;
   }

   .merit .flex>div:nth-of-type(3) img {
      width: auto;
      padding-top: 13px;
      padding-bottom: 18px;
   }

   .merit>.flex img {
      padding: 28px 0;
      height: 140px;
   }

   .merit h5 {
      margin: 0;
   }

   /* Meritの文字 */
   .merit .relative div:first-child {
      position: absolute;
      right: 0px;
      top: -10px;
      /* z-index: 5; */
   }
}


/* SUGGEST */
.suggest .contents {
   padding-top: 127px;
   padding-bottom: 126px;

   padding-left: 0;
   padding-right: 0;
}

.suggest .contents .bk_mizu {
   margin-left: auto;
   margin-right: auto;
}

.suggest .relative div:first-child {
   position: absolute;
   top: 40px;
   /* padding-left: 65px; */
   z-index: -1;

}

.suggestH5 h5 {
   color: #fff;
   background-color: #0D6DC0;
   margin: 0 30px;
   border-radius: 30px;
   font-size: 25px;
   padding-top: 17px;
   padding-bottom: 17px;
   margin-bottom: 39px;

}

.suggest .bk_mizu {
   margin: 25px;
   padding-top: 31px;
   padding-bottom: 40px;
   border-radius: 15px;
   width: 1190px;
   margin: 50 auto;
}


.suggest .bk_mizu .flex div:nth-of-type(1) {
   width: 50%;
   padding-left: 6%;
}

.suggest .bk_mizu .flex div:nth-of-type(1) img {
   width: 100%;
}

/* suggestのp */
.suggest .bk_mizu .flex div:nth-of-type(2) {
   width: 50%;
   padding: 0 6%
}

.suggest .bk_mizu .flex div:nth-of-type(2) p {
   width: 100%;
   color: #231F20;
}

.tenkaiP div:nth-of-type(2) {
   width: 100%;
   padding: 0 6%;
}

.tenkaiP div:nth-of-type(2) img {
   width: 100%;
}

.tenkaiP p {
   padding: 24px 5%;
   color: #231F20;
   letter-spacing: 0px;
}


@media screen and (max-width: 1190px) {
   .suggest .bk_mizu {
      width: 100%;
   }

   .suggest .contents {
      padding-left: 26px;
      padding-right: 26px;
   }
}

@media screen and (max-width: 980px) {
   .suggest .contents {
      padding-bottom: 75px;
      padding-top: 64px;
      padding-left: 26px;
      padding-right: 26px;
   }

   .suggest .flex {
      display: block;
      margin: 0;
      padding: 0;
   }

   .suggest .bk_mizu {
      margin: 0;
      padding-top: 27px;
      padding-bottom: 27px;
      margin-bottom: 20px;
      width: 100%;
   }

   .suggest .bk_mizu .flex {
      padding-left: 0;
   }

   .suggest h3 {
      line-height: 30px;
   }

   .suggestH5 h5 {
      letter-spacing: -0.48px;
      margin: 0 7%;
      padding-top: 8px;
      padding-bottom: 8px;
      margin-bottom: 16px;
      font-size: 16px;
   }

   /* suggestのp */
   .suggest .bk_mizu .flex div:nth-of-type(2) {
      width: 100%;
      padding: 21px 7% 0 7%;
   }

   .suggest .bk_mizu .flex div {
      width: 100%;
      margin: 0;
      padding: 21px 4% 0px 4%;
   }

   .suggest .relative div:first-child {
      padding-left: 0px;
      top: 0;
   }

   .suggestImg4 {
      padding-top: 16px;
   }
}

@media screen and (max-width: 500px) {
   .suggestH5.font h5 {
      font-size: 14px;
      line-height: normal;
   }

   .suggestH5br {
      display: block;
   }
}



/* NO BURDEN */
.noBurden .contents{
   padding: 132px 26px 128px 26px;
}
.noBurden .contentsPC {
   padding: 21px 0 0 0;
   width: 1190px;
   margin: 0 auto;
}

.noBurdenContents {
   background-color: #fff;
   padding: 21px 30% 41px 30%;
}

.noBurdenContents {
   position: relative;
}

.noburdenimg {
   position: absolute;
   bottom: 0;
   left: -30%;
}

.zindex2 {
   position: relative;
   z-index: 2;
}

.noBurdenContents span {
   border-bottom: 1px solid #CCCCCC;
}

.noBurden h3 {
   line-height: 80px;
   width: 100%;
   padding-top: 132px;
}
@media screen and (max-width: 1250px){
   .noBurden .contentsPC{
      padding-left: 26px;
      padding-right: 26px;
   }
   .noBurden h3{
      padding-top: 0;
   }
   .noBurden .contentsPC{
      width: 100%;

   }
}
.noBurdenContents p {
   color: #231F20;
   line-height: 30px;
   width: 475px;
   margin: 0 auto;
}

.noBurdenContents h5 {
   padding-top: 46px;
   margin: 0;
   padding-bottom: 35px;
}

@media screen and (max-width: 980px) {
   .noBurden .contents {
      padding-top: 132px;
      padding-bottom: 156px;
   }

   .noBurden h3 {
      line-height: 35px;
   }

   .noBurdenContents {
      padding: 21px 4% 41px 4%;
   }

   .noBurdenContents h5 {
      padding-top: 35px;
      margin: 0;
      padding-bottom: 35px;
      z-index: 100;
   }
   .noBurdenContents p{
      width: 100%;
   }
}

.noBurden .relative div:nth-of-type(1) {
   position: absolute;
   top: 131px;
   right: -1%;
   /* z-index: -5; */
}

.noBurden .relative div:nth-of-type(2) {
   position: absolute;
   top: 406px;
   /* z-index: -1; */
   right: -25%;
}

.noBurden .relative div:nth-of-type(3) {
   position: absolute;
   top: -100px;
   z-index: -1;
   left: -50px;
}

.noBurden .relative div:nth-of-type(4) {
   position: absolute;
   top: -50px;
   z-index: -1;
   left: 50px;
}

.noBurden>div:nth-of-type(2) {
   position: absolute;
   top: 800px;
   opacity: 0.8;
   z-index: -1;
}
.noBurdenContents p:last-child {
   padding-bottom: 41px;
}

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

   .noBurden .relative.pc-none{
      width: 331px;
      margin: 0 auto;
   }
   .noBurden .relative div:nth-of-type(1) {
      position: absolute;
      top: -160px;
      left: -200px;
      right: 0;
   }

   .noBurden .relative div:nth-of-type(2) {
      position: absolute;
      top: -160px;
      right: -10px;
   }

   .noBurden .hito div:nth-of-type(1) {
      position: absolute;
      top: -30px;
      left: 100px;
   }

   .noBurden .hito div:nth-of-type(2) {
      position: absolute;
      top: -50px;
      right: 0px;
   }

   .noBurden .hito div:nth-of-type(3) {
      position: absolute;
      top: 50px;
      left: 80px;
      opacity: 0.8;
   }
}





/* AGENCY */
.agency {
   background-image: url(../img/bg_agency.png);
   background-size: 23px auto;
}

.agency .contents {
   padding-top: 228px;
   padding-bottom: 268px;
   position: relative;
   z-index: 2;
}

.agency .relative div:first-child {
   position: absolute;
   right: 60px;
   top: 90px;
   /* z-index: -1; */
}

.agencyContents div {
   background: -moz-linear-gradient(left, #fff, #E0E1E1);
   background: -webkit-linear-gradient(left, #fff, #E0E1E1);
   background: linear-gradient(to right, #fff, #E0E1E1);
   padding: 35px 22%;
   text-align: center;
   margin: 33px 0;
   box-shadow: 0px 3px 6px #0000003B;
   /* border-radius: 49px; */
   border-radius: 1000px;
   font-size: 26px;
   max-width: 993px;
}

.agencyP {
   padding: 31px 8%;
   font-size: 16px;
}

@media screen and (max-width: 980px) {
   .agency .contents {
      padding-top: 56px;
      padding-bottom: 111px;
   }

   .agencyContents div {
      font-size: 17px;
      padding: 28px 0 26px 0;
      margin: 20px 0;
   }

   .agencyP {
      padding: 17px 6%;
   }

   .agency .relative div:first-child {
      position: absolute;
      left: 0px;
      top: -10px;
      z-index: -1;
   }
}


/* FLOW */
.flow {
   text-align: center;
}

.flow h3 {
   color: #fff;
   padding-top: 145px;
   font-size: 46px;
}

.flowContents {
   background-color: #fff;
   color: #0D6DC0;
   padding: 66px 0;
   border-radius: 15px;
   margin: 40px 0;
}

.flowContents p {
   text-align: center;
   color: #231F20;
   max-width: 860px;
   padding: 32px 32px 0;
   margin: 0 auto;
}

.flow a {
   margin: 76px 0;
}

@media screen and (max-width: 980px) {
   .flow h3 {
      font-size: 20px;
      line-height: 35px;
      padding-top: 65px;
   }

   .flowContents {
      padding: 0;
      margin: 0 6% 23px 6%;
      padding-top: 70px;
   }

   .flowContents p {
      padding: 0 26px 22px 26px;
      text-align: left;
      /* width: 227px; */
      margin: 0 auto;
   }

   .flowContents .last p {
      padding: 0 54px 22px 54px;
      margin: 0 auto;
   }

   .flow a {
      margin: 32px 0 33px 0;
      padding: 16px 50px;
      font-size: 14px;
   }


}

.flow>.relative.relative--01 {
   max-width: 1000px;
   margin-left: auto;
   margin-right: auto;
}


.flow>.relative--01 div:nth-of-type(1) {
   position: absolute;
   top: -150px;
   left: 0;
   transform: translateX(-50%);
   -webkit-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
}

.flow>.relative--01 div:nth-of-type(2) img {
   position: absolute;
   top: -200px;
   left: 50%;
   transform: translateX(-50%);
   -webkit-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
}

.flow>.relative--02 div:nth-of-type(1) {
   position: absolute;
   top: 800px;
   left: 50px;
}

.flow>.relative--02 div:nth-of-type(2) {
   position: absolute;
   top: 800px;
   right: 50px;
}





.flowContents>.relative div:first-child {
   position: absolute;
   top: -80px;
}

@media screen and (max-width: 980px) {
   .flow>.relative.pc-none {
      width: 331px;
      margin-left: auto;
      margin-right: auto;
}
   .flow>.relative div:nth-of-type(1) {
      position: absolute;
      top: -80px;
      left: -20px;
   }

   .flow>.relative div:nth-of-type(2) img {
      position: absolute;
      top: -70px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
   }

   .flowContents .pc-none img {
      position: absolute;
      top: -80px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
   }

   .flow>.relative div:nth-of-type(3) {
      position: absolute;
      top: 0px;
      left: 0px;
   }

   .flow .contents .hito div:nth-of-type(1) {
      position: absolute;
      top: -200px;
      left: -10px;
   }

   .flow .contents .hito div:nth-of-type(2) {
      position: absolute;
      top: -180px;
      right: -10px;
   }
}

footer {
   background-color: #fff;
   width: 100%;
   text-align: center;
   padding: 25px 0;
}

@media screen and (max-width: 980px) {
   footer {
      font-size: 10px;
      padding: 15px 0;
   }
}

@media screen and (min-width: 981px) {
   .sp-br {
      display: none;
      /* SPの改行をPCで隠す */
   }

   .pc-none {
      display: none;
      /* PCでは表示しない */
   }
}

@media screen and (max-width: 980px) {
   .sp-none {
      display: none;
      /* SPでは表示しない */
   }

   .pc-br {
      display: none;
      /* SPの改行をPCで隠す */
   }
}
@media screen and (max-width: 1190px) and (min-width: 980px){
   .tb-br{
      display: block;
   }
}