@charset "UTF-8";
/* font */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,600&display=swap");
/*Variable
－－－－－－－*/
/*
ブレークポイント

基本  1920px
ipad 1050px
sp   767px;

コンテンツ幅1000px

*/
/* 1, Elements  */
/*
* {
    outline: 1px solid magenta;
}
*/
html body {
  color: #505050;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

.row {
  display: flex;
  align-items: flex-start;
}

.row-between {
  justify-content: space-between;
}

.row-wrap {
  flex-wrap: wrap;
}

.col-2 {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .col-2 {
    width: 100%;
  }
}

.col-3 {
  width: 33.33%;
}
@media screen and (max-width: 767px) {
  .col-3 {
    width: 100%;
  }
}

.col-4 {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .col-4 {
    width: 100%;
  }
}

.text-center {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .text-left-sp {
    text-align: left;
  }
}

.tel {
  text-decoration: none;
  color: inherit;
}
.tel:hover {
  opacity: 1;
}

/* 2, Contents */
/* 基本 */
.l-container {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/*　ヘッダー用　*/
.l-container--header {
  width: 1900px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 0 0 35px;
}
@media screen and (max-width: 1050px) {
  .l-container--header {
    width: 100%;
    padding: 0 15px;
  }
}

/* 小さい幅 */
.l-container-large {
  width: 1390px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.l-container-small {
  width: 1040px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* margin top */
.u-mt10 {
  margin-top: 10px;
}

.u-mt15 {
  margin-top: 15px;
}

.u-mt20 {
  margin-top: 20px;
}

.u-mt30 {
  margin-top: 30px;
}

.u-mt40 {
  margin-top: 40px;
}

/* margin bottom */
.u-mb0 {
  margin-bottom: 0px;
}

.u-mb5 {
  margin-bottom: 5px;
}

.u-mb10 {
  margin-bottom: 10px;
}

.u-mb15 {
  margin-bottom: 15px;
}

.u-mb20 {
  margin-bottom: 20px;
}

.u-mb25 {
  margin-bottom: 25px;
}

.u-mb30 {
  margin-bottom: 30px;
}

.u-mb35 {
  margin-bottom: 35px;
}

.u-mb40 {
  margin-bottom: 40px;
}

.u-mb45 {
  margin-bottom: 45px;
}

.u-mb50 {
  margin-bottom: 50px;
}

.u-mb55 {
  margin-bottom: 55px;
}

.u-mb60 {
  margin-bottom: 60px;
}

.u-mb65 {
  margin-bottom: 65px;
}

.u-mb70 {
  margin-bottom: 70px;
}

.u-mb75 {
  margin-bottom: 75px;
}

.u-mb80 {
  margin-bottom: 80px;
}

.u-mb85 {
  margin-bottom: 85px;
}

.u-mb90 {
  margin-bottom: 90px;
}

.u-mb95 {
  margin-bottom: 95px;
}

.u-mb100 {
  margin-bottom: 100px;
}

.u-mb110 {
  margin-bottom: 110px;
}

.u-mb120 {
  margin-bottom: 120px;
}

.u-mb130 {
  margin-bottom: 130px;
}

.u-mb140 {
  margin-bottom: 140px;
}

.u-mb150 {
  margin-bottom: 150px;
}

@media screen and (max-width: 767px) {
  .u-mb0--sp {
    margin-bottom: 0px;
  }
  .u-mb5--sp {
    margin-bottom: 5px;
  }
  .u-mb10--sp {
    margin-bottom: 10px;
  }
  .u-mb15--sp {
    margin-bottom: 15px;
  }
  .u-mb20--sp {
    margin-bottom: 20px;
  }
  .u-mb25--sp {
    margin-bottom: 25px;
  }
  .u-mb30--sp {
    margin-bottom: 30px;
  }
  .u-mb35--sp {
    margin-bottom: 35px;
  }
  .u-mb40--sp {
    margin-bottom: 40px;
  }
  .u-mb45--sp {
    margin-bottom: 45px;
  }
  .u-mb50--sp {
    margin-bottom: 50px;
  }
  .u-mb55--sp {
    margin-bottom: 55px;
  }
  .u-mb60--sp {
    margin-bottom: 60px;
  }
  .u-mb65--sp {
    margin-bottom: 65px;
  }
  .u-mb70--sp {
    margin-bottom: 70px;
  }
  .u-mb75--sp {
    margin-bottom: 75px;
  }
  .u-mb80--sp {
    margin-bottom: 80px;
  }
  .u-mb85--sp {
    margin-bottom: 85px;
  }
  .u-mb90--sp {
    margin-bottom: 90px;
  }
  .u-mb95--sp {
    margin-bottom: 95px;
  }
  .u-mb100--sp {
    margin-bottom: 100px;
  }
}
.u-mr10 {
  margin-right: 10px;
}

.u-mr20 {
  margin-right: 20px;
}

/* padding top */
.u-pt0 {
  padding-top: 0px;
}

.u-pt10 {
  padding-top: 10px;
}

.u-pt15 {
  padding-top: 15px;
}

.u-pt20 {
  padding-top: 20px;
}

.u-pt30 {
  padding-top: 30px;
}

.u-pt40 {
  padding-top: 40px;
}

.u-pt50 {
  padding-top: 40px;
}

@media screen and (max-width: 767px) {
  .u-pt0-sp {
    padding-top: 0;
  }
}
/* text align */
.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .u-text-left-sp {
    text-align: left;
  }
}
/* レスポンシブの改行 */
.u-pc-none {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-pc-none {
    display: block;
  }
}

.u-tb-show {
  display: none;
}
@media screen and (max-width: 1050px) {
  .u-tb-show {
    display: block;
  }
}

.u-tb-none {
  display: block;
}
@media screen and (max-width: 1050px) {
  .u-tb-none {
    display: none;
  }
}

.u-sp-none {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-sp-none {
    display: none;
  }
}

.u-sp-show {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp-show {
    display: block;
  }
}

/* Color */
.u-color-white {
  color: #fff;
}

/* Btn */
.c-btn01 {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 320px;
  padding: 23px 25px 22px 10px;
  border: 1px solid #999999;
  background-color: #fff;
  color: #505050;
  transition: all 0.2s linear;
  box-sizing: border-box;
  line-height: 1.4;
  text-align: center;
  text-decoration: none !important;
}
.c-btn01:hover {
  background-color: #505050;
  color: #fff;
}
.c-btn01:hover > span {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.c-btn01 > span {
  display: inline-block;
  position: relative;
  top: -1.5px;
  left: 15px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #999;
  border-right: 2px solid #999;
  transform: rotate(45deg);
}

.c-btn02 {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 394px;
  padding: 20px 50px 20px 74px;
  border: 1px solid #f08630;
  border-radius: 24px;
  color: #fff;
  background: url(../img/arrow-left-white.png) no-repeat calc(100% - 25px) 50%, url(../img/icon_mail.png) no-repeat 20px 50%;
  background-size: 22px auto, 36px auto;
  background-color: #f08630;
  transition: all 0.2s linear;
  box-sizing: border-box;
  line-height: 1.4;
  text-decoration: none !important;
}
@media screen and (max-width: 767px) {
  .c-btn02 {
    padding: 20px 44px 20px 64px;
    background-size: 22px auto, 30px auto;
    background-position: calc(100% - 15px) 50%, 20px 54%;
  }
}
.c-btn02--center {
  padding: 20px 50px 20px 30px;
  background: none;
  background: url(../img/arrow-left-white.png) no-repeat calc(100% - 25px) 50%;
  background-size: 22px auto;
  background-color: #f08630;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .c-btn02--center {
    padding: 20px 40px 20px 15px;
    background-position: calc(100% - 15px) 50%;
  }
}
.c-btn02:hover {
  opacity: 0.7;
}