@charset "utf-8";
/* CSS Document */

/* これはいらないかも */
html,body { height:100%; }
*{ font-family: "Didact Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
/* *{ font-family: "Hind", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; } */
*, *:before, *:after {
box-sizing: border-box;  /* paddingやborderに依存しないwidth,height指定 */
}
html { font-size: 62.5%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } /* スマホで勝手に文字が大きくなるのを制御　-webkit-text-size-adjust:100% scroll-behavior:簡易的なスムーズスクロール */
body {
position: relative;
margin: 0;
padding: 0;
font-size: 1.5rem; /* 15px */
font-weight: 400;
color: #13202e;
line-height: 1.65em;
background: #fff;
letter-spacing: 0.05em;
overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  body {
  line-height: 1.6em;
  font-size: 1.4rem; /* 14px */
  }
}

/* 自動生成リンクを無効に設定 */
.tel-link-none { pointer-events: none; }

/* 	ふわっと切り替え */
a {
text-decoration: none;
color: #13202e;
transition: 0.5s;
}
a:hover {
text-decoration: none;
color:#13202e;
}

dt, dd {
line-height: 1.7em;
}
ul, ol, ul li, ol li {
list-style: none;
}
p {
margin: 0px;
padding: 0px;
}

/* Pタグで改行するとlightheightが効かないのを防ぐ */
br { line-height: 1; }
h1 { margin: 0px; }

/* パソコンで見たときは"pc"のclassがついた方が表示される */
.pc { display: block!important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた方が表示される */
@media screen and (max-width: 1099px) {
.pc { display: none !important; }
.sp { display: block!important; }
}
.br-pc { display: block; }
.br-sp { display: none; }
@media screen and (max-width: 599px) {
.br-pc { display: none; }
.br-sp { display: block; }
}

/*************************************************/
/*    header
/*************************************************/

/* sp */
@media screen and (max-width: 1099px) {
  .logo {
  margin: 16px 0px 0px 20px;
  width: 33%;
  max-width: 150px;
  }
  .logo img {
  width: 100%;
  height: auto;
  }
  a.h_contact {
  font-family: 'Didact Gothic', sans-serif;
  position: fixed;
  top: 20px;
  right: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 45px;
  height: 45px;
  background-color: white;
  border-radius: 50%;
  transition: transform 250ms ease;
  z-index: 1000;
  }
  a.h_contact img {
  width: 55%;
  height: auto;
  }
  .menu {
  position: fixed;
  top: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 45px;
  height: 45px;
  background-color: white;
  border-radius: 50%;
  transition: transform 250ms ease;
  cursor: pointer;
  z-index: 1000;
  }
  .menu span {
  position: relative;
  display: block;
  width: 50%;
  height: 2px;
  background-color: #1c4774;
  float: left;
  transform-origin: center center;
  transition: transform 250ms ease;
  z-index: 200;
  }
  .menu span:nth-of-type(1) {
  transform: translateY(-5px);
  }
  .menu span:nth-of-type(3) {
  transform: translateY(5px);
  }
  #menu {
  display: none;
  }
  #menu:checked ~ .menu {
  background-color: transparent;
  transform: rotate(360deg);
  transition: transform 250ms ease;
  }
  #menu:checked ~ .menu span {
  background-color: white;
  transition: transform 250ms ease;
  }
  #menu:checked ~ .menu span:nth-of-type(1) {
  transform: translateY(1px) rotate(45deg);
  }
  #menu:checked ~ .menu span:nth-of-type(2) {
  display: none;
  }
  #menu:checked ~ .menu span:nth-of-type(3) {
  transform: translateY(-1px) rotate(-45deg);
  }
  #menu:checked ~ .nav {
  right: -50px;
  transition: right 500ms ease;
  }
  #menu:checked ~ main {
  transform: translateX(250px);
  transition: transform 500ms ease;
  }
  .nav {
  position: fixed;
  top: 0;
  right: -310px;
  width: 300px;
  height: 100vh;
  margin: 0;
  padding: 0;
  background-color: #1c4774;
  transition: right 500ms ease;
  z-index: 200;
  }
  .nav ul.head {
  position: relative;
  list-style-type: none;
  margin: 70px 0;
  padding: 0;
  }
  .nav ul.head li {
  position: relative;
  display: block;
  border-bottom: 1px solid white;
  }
  .nav ul.head li a {
  font-family: 'Didact Gothic', sans-serif;
  position: relative;
  display: block;
  margin: 0;
  padding: 15px 20px;
  color: white;
  font-size: 1.45rem;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
  }
  .nav ul.head li a:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: width 250ms ease;
  z-index: -1;
  }
  .nav ul.head li a:hover {
  color: #444;
  }
  .nav ul.head li a:hover:before {
  width: 100%;
  height: 100%;
  background-color: white;
  transition: width 250ms ease;
  }
}

/* pc */
@media screen and (min-width: 1100px) {
  header {
  margin: 0px auto;
  width: 90%;
  max-width: 1190px;
  }
  .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  }
  .logo {
  padding-top: 13px;
  width: 20%;
  max-width: 150px;
  }
  ul.nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 80%;
  }
  ul.nav li {
  padding-right: 3%;
  }
  ul.nav li a {
  font-family: 'Didact Gothic', sans-serif;
  display: flex;
  font-size: 2.0rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.07em;
  align-items: center;
  transition: .3s;
  position: relative;
  padding: 10px 10px 10px;
  }
  ul.nav li:nth-last-child(2) {
  padding-right: 50px;
  }
  ul.nav li:last-child {
  padding-right: 0px;
  }
  ul.nav li a.navi:after {
  content: '';
  display: block;
  height: 2px;
  width: 0%;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 10%;
  transition: .3s;
  }
  ul.nav li a.navi:hover:after {
  width: 80%;
  }
  /* banner */
  ul.nav a.h_contact,
  .bn_news a,
  a.t_contact_bn,
  a.f_contact {
  padding: 9px 45px 10px;
  font-size: 2.0rem;
  font-weight: bold;
  color: #1c4774;
  background: #fff;
  border-radius: 100px;
  overflow: hidden;
  position: relative;
  transition-duration: .4s;
  z-index: 2;
  }
  ul.nav a.h_contact:after,
  .bn_news a:after,
  a.t_contact_bn:after,
  a.f_contact:after {
  background: #225992;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  padding-top: 100%;
  height: 0;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  transition: opacity .5s, transform 0s;
  transition-delay: 0s, .4s;
  }
  ul.nav a.h_contact:hover,
  .bn_news a:hover,
  a.t_contact_bn:hover,
  a.f_contact:hover {
  color: #fff;
  }
  ul.nav a.h_contact:hover:after,
  .bn_news a:hover:after,
  a.t_contact_bn:hover:after,
  a.f_contact:hover:after {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity .8s, transform .6s ease-in-out;
  }
}

/*************************************************/
/*    visual
/*************************************************/

.visual {
padding: 1px;
background: #f5fafd;
width: 100%;
height: 500px;
background-image: url("../images/visual_sp.jpg");
background-repeat: no-repeat;
background-size: cover;
overflow: hidden;
}
.visual_cont {
position: relative;
display: flex;
justify-content: center;
flex-direction: column;
height: 75%;
}
.visual_txt {
margin: 0px;
padding: 0px 30px 10px;
font-size: 2.6rem;
font-weight: bold;
color: #fff;
text-align: center;
}
h1.h1_visual {
font-family: 'Didact Gothic', sans-serif;
margin: 0px;
padding: 0px 30px;
font-size: 5.0rem;
font-weight: bold;
line-height: 120%;
color: #fff;
text-align: center;
letter-spacing: 0.02em;
}
@media screen and (max-width: 425px) {
  .visual_cont {
  height: 75%;
  }
  .visual_txt {
  font-size: 2.0rem;
  line-height: 130%;
  }
  h1.h1_visual {
  font-size: 4.2rem;
  }
}
@media screen and (min-width: 426px) and (max-width: 833px) {
  .visual_cont {
  height: 60%;
  }
}
@media screen and (min-width: 834px) {
  .visual {
  height: 750px;
  background-image: url("../images/visual.jpg");
  }
}
@media screen and (min-width: 834px) and (max-width: 1024px) {
  .visual_txt {
  font-size: 2.4rem;
  }
  h1.h1_visual {
  font-size: 5.4rem;
  }
}
@media screen and (min-width: 1025px) {
  .visual_txt {
  padding: 0px 30px 30px;
  font-size: 2.6rem;
  }
  h1.h1_visual {
  font-size: 7.4rem;
  }
}

/*************************************************/
/*    cont
/*************************************************/

.cont_waku {
margin: 0px auto;
width: 85%;
max-width: 1190px;
}

/*************************************************/
/*    message
/*************************************************/

.message_bg {
margin: 30px auto;
width: 85%;
max-width: 1190px;
background: #f1f3f6;
}
.message_wrp {
display: flex;
flex-direction: column;
}
h2.h2_message {
padding: 25px 20px 10px;
font-size: 4.2rem;
font-weight: bold;
line-height: 130%;
color: #1c4774;
text-align: center;
}
h2.h2_message span {
font-family: 'Didact Gothic', sans-serif;
position: relative;
}
h2.h2_message span:after {
content: "";
position: absolute;
display: block;
left: 0;
right: 0;
bottom: 2px;
margin: auto;
width: 100%;
height: 3px;
background: #1c4774;
}
.message_txt {
padding: 10px 30px 20px;
font-size: 1.65rem;
}
@media screen and (min-width: 600px) and (max-width: 833px) {
  h2.h2_message {
  font-size: 5.0rem;
  }
  .br_mess {
  display: none;
  }
  .message_txt {
  padding: 10px 40px 30px;
  }
}
@media screen and (min-width: 834px) {
  .message_bg {
  margin-top: 80px;
  }
  .message_wrp {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  }
  h2.h2_message {
  padding: 65px 26px 85px 0px;
  width: 50%;
  font-size: 7.0rem;
  font-weight: normal;
  text-align: right;
  line-height: 100%;
  }
  h2.h2_message span:after {
  bottom: 5px;
  height: 4px;
  }
  .message_txt {
  padding: 10px 13% 20px 26px;
  width: 50%;
  font-size: 2.0rem;
  line-height: 155%;
  }
}

/*************************************************/
/*    H2
/*************************************************/

/* h2 */
h2.h2_normal {
font-family: 'Didact Gothic', sans-serif;
width: 80%;
max-width: 1190px;
font-size: 4.4rem;
font-weight: bold;
color: #1c4774;
line-height: 90%;
letter-spacing: 0.03em;
}
h2.h2_normal.inline {
padding-bottom: 25px;
width: auto;
}
h2.h2_normal.white {
color: #fff;
text-shadow: 0px 0px 10px #383838;
}
.h2_txt {
font-size: 1.7rem;
}
.h2_txt.white {
color: #fff;
font-weight: 500;
text-shadow: 0px 0px 4px #666, 0px 0px 4px #000;
}
.h2_wrp {
margin: 0px auto;
padding: 50px 0px 0px;
width: 80%;
max-width: 1190px;
}
@media screen and (min-width: 834px) {
  h2.h2_normal {
  padding-right: 85px;
  font-size: 6.5rem;
  }
  h2.h2_normal.white {
  padding-right: 57px;
  }
  h2.h2_normal.inline {
  padding-right: 57px;
  }
  .h2_txt {
  width: 60%;
  font-size: 2.1rem;
  line-height: 130%;
  }
  .h2_txt.white {
  width: 44%;
  font-size: 2.2rem;
  }
  .h2_wrp {
  display: flex;
  align-items: flex-start;
  padding: 85px 0px 30px;
  max-width: 1190px;
  }
  .h2_wrp.normal {
  padding: 130px 0px 80px;
  }
}
@media screen and (min-width: 1190px) {
  .h2_wrp {
  width: 100%;
  }
}


/*************************************************/
/*    strong
/*************************************************/

.strong_bg {
position: relative;
margin: 30px 0px 0px;
width: 100%;
background-image: url("../images/strength_bg_sp.jpg");
background-repeat: no-repeat;
background-size: 100%;
background-position: top center;
background-color: #1c4774;
}
h3.h3_strong {
font-family: 'Didact Gothic', sans-serif;
margin-bottom: 20px;
font-size: 4.0rem;
font-weight: bold;
color: #1c4774;
line-height: 100%;
}
.strong_point_wrp {
margin: 0px auto;
padding: 45px 0px 50px;
width: 100%;
}
.strong_point {
margin-bottom: 50px;
padding: 40px 35px 35px;
width: 90%;
background: #fff;
}
.strong_point:nth-child(2) {
margin-left: auto;
argin-right: 0;
}
.strong_point:last-child {
margin-bottom: 0px;
}
.strong_txt02 {
font-size: 1.7rem;
}
@media screen and (min-width: 600px) {

}
@media screen and (min-width: 834px) {
  h3.h3_strong {
  margin-bottom: 30px;
  font-size: 6.0rem;
  }
  .strong_bg {
  margin: 85px 0px 0px;
  background-image: url("../images/strength_bg.jpg");
  }
  .strong_point_wrp {
  max-width: 1190px;
  padding-bottom: 80px;
  }
  .strong_point {
  margin-right: auto;
  margin-bottom: 65px;
  padding: 55px;
  max-width: 700px;
  }
  .strong_point:nth-child(2) {
  margin-left: auto;
  margin-right: 0;
  }
  .strong_txt02 {
  font-size: 1.8rem;
  line-height: 160%;
  }
}

/*************************************************/
/*    service
/*************************************************/

h3.h3_title {
padding: 7px 0px 5px;
font-size: 2.4rem;
font-weight: bold;
color: #1c4774;
line-height: 115%;
}
ul.service_list {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 30px auto 0px;
padding: 0px;
width: 80%;
max-width: 1190px;
}
ul.service_list li {
display: table;
width: 100%;
margin: 0px 0px 40px;
padding: 0px;
overflow: hidden;
}
ul.service_list li:last-child {
margin-bottom: 10px;
}
ul.service_list li a {
display: table-cell;
overflow: hidden;
}
ul.service_list li a:hover {
opacity: 0.8;
transition: 0.3s;
}
ul.service_list li img {
display: block;
width: 100%;
height: auto;
}
.service_img {
overflow: hidden;
width: 100%;
}
.service_img img {
height: auto;
transition: transform .6s ease; /* ホバーでゆっくり変化させる */
width: 100%;
}
.service_img:hover img {
opacity: 0.8;
transform: scale(1.15); /* 拡大 */
transition: 0.3s;
}
.service_txt {
font-size: 1.65rem;
line-height: 130%;
}

@media screen and (min-width: 834px) {
  h3.h3_title {
  padding: 15px 0px 10px;
  font-size: 2.5rem;
  line-height: 120%;
  }
  ul.service_list {
  justify-content: space-between;
  margin: 0px auto 0px;
  }
  ul.service_list li {
  width: 48%;
  margin-bottom: 30px;
  padding: 0px;
  }
  .service_txt {
  font-size: 1.7rem;
  line-height: 135%;
  }
}
@media screen and (min-width: 1189px) {
  h3.h3_title {
  font-size: 2.4rem;
  }
}
@media screen and (min-width: 1190px) {
  ul.service_list {
  width: 100%;
  }
  ul.service_list li {
  width: 32.1%;
  margin-bottom: 65px;
  }
  ul.service_list li:nth-last-child(-n+3) {
  margin-bottom: 45px;
  }
  .service_txt {
  font-size: 1.8rem;
  }
}

/*************************************************/
/*    News
/*************************************************/

h3.h3_news {
margin: 0px;
padding: 0px 0px 10px 2px;
font-size: 1.8rem;
font-weight: bold;
border-bottom: 2px solid #13202e;
width: 100%;
}
.news_wrp {
display: block;
margin: 20px auto;
width: 80%;
max-width: 1190px;
}
.news_blk {
width: 100%;
}
.news_area {
display: flex;
align-items: center;
flex-wrap: wrap;
width: 100%;
}
.news_cont {
display: flex;
align-items: center;
padding: 13px 0px 13px 5px;
width: 100%;
min-height: 100px;
border-bottom: 1px solid #c9ced3;
}
.news_date {
margin-top: -12px;
width: 27%;
}
.news_day01,
.news_day02 {
display: block;
width: 100%;
font-size: 1.3rem;
font-weight: bold;
line-height: 100%;
}
.news_day01 {
padding-left: 2px;
letter-spacing: 0.13em;
}
.news_day02 {
padding-top: 4px;
font-size: 2.5rem;
letter-spacing: 0.05em;
}
.news_detail {
width: 73%;
}
.news_detail a {
display: block;
padding-top: 7px;
font-size: 1.8rem;
line-height: 130%;
}
.news_detail a:hover {
opacity: 0.7;
text-decoration: underline;
}
.update_detail {
display: flex;
align-items: center;
flex-wrap: wrap;
width: 73%;
}
.update_detail a {
display: block;
padding-top: 3px;
font-size: 1.8rem;
line-height: 130%;
}
.update_detail a:hover {
opacity: 0.7;
text-decoration: underline;
}
.update_cate {
display: flex;
align-items: center;
margin: 7px 10px 0px 0px;
padding: 4px 12px 5px;
height: 100%;
background: #1c4774;
border-radius: 100px;
}
.update_cate span {
font-size: 1.4rem;
color: #fff;
line-height: 100%;
white-space: nowrap;
}
.bn_news {
display: flex;
justify-content: center;
margin: 20px 0px 40px;
width: 100%;
}
.bn_news a {
padding: 9px 0px;
width: 50%;
font-size: 1.6rem;
font-weight: bold;
color: #1c4774;
text-align: center;
line-height: 100%;
background: #fff;
border: 1px solid #1c4774;
border-radius: 120px;
transition: all .3s ease-in;
}
@media screen and (min-width: 834px) {
  h3.h3_news {
  padding: 0px 0px 15px 0px;
  font-size: 2.2rem;
  }
  .news_wrp,
  .bn_news {
  display: flex;
  justify-content: space-between;
  }
  .news_wrp {
  margin: 20px auto 0px;
  } 
  .news_blk {
  display: flex;
  flex-wrap: wrap;
  align-self: flex-start;
  width: 48%;
  }
  .news_date {
  width: 23%;
  }
  .news_day02 {
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  }
  .news_detail {
  width: 77%;
  }
  .bn_news {
  justify-content: flex-end;
  width: 100%;
  margin-top: 28px;
  }
  .update_detail {
  flex-wrap: nowrap;
  width: 77%;
  }
}
@media screen and (min-width: 1300px) {
  .news_date {
  width: 18%;
  }
  .news_detail,
  .update_detail {
  width: 82%;
  }
}

/*************************************************/
/*    partnership
/*************************************************/

.h2_wrp.partship {
padding-top: 15px;
}
h3.h3_partship {
padding: 0px 20px 20px 13%;
font-size: 2.5rem;
line-height: 130%;
}
.partship_bg {
position: relative;
margin: 40px 0px 0px 0px;
padding-bottom: 50px;
width: 100%;
}
.partship_bg:before {
content: "";
position: absolute;
display: block;
width: calc(50% + 59.5rem);
height: 50.3rem;
background-image: url("../images/partnership_bg_sp.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: right top;
top: 10px;
right: 0;
}
.partship_wrp {
position: relative;
margin: -10px 0px 0px;
padding: 0px;
width: 80%;
max-width: 1190px;
}
.partship_txt {
padding: 0px 0px 30px 0px;
width: 100%;
background: #fff;
}
.partship_txt p {
font-size: 1.7rem;
line-height: 150%;
padding: 0px 40px 20px 13%;
}
@media screen and (max-width: 425px) {
  .partship_bg {
  padding-bottom: 0px;
  }
  .partship_txt {
  padding: 0px;
  }
}
@media screen and (min-width: 600px) {
  .partship_bg:before {
  height: 41.0rem;
  }
}
@media screen and (min-width: 834px) {
  .h2_wrp.partship {
  padding-top: 85px;
  padding-bottom: 25px;
  }
  h3.h3_partship {
  padding: 0px 0px 30px 13%;
  font-size: 3.3rem;
  }
  .partship_bg {
  margin: 30px 0px 0px 0px;
  padding-bottom: 100px;
  }
  .partship_bg:before {
  height: 53.0rem;
  top: 15px;
  background-image: url("../images/partnership_bg.jpg");
  }
  .partship_wrp {
  margin: 0px auto;
  width: 100%;
  }
  .partship_txt {
  width: 70%;
  }
  .partship_txt p {
  padding: 0px 65px 30px 13%;
  font-size: 1.9rem;
  line-height: 160%;
  }
}
@media screen and (min-width: 1190px) {
  h3.h3_partship {
  padding: 0px 0px 30px 0px;
  font-size: 3.3rem;
  line-height: 120%;
  }
  .partship_bg:before {
  height: 57.5rem;
  }
  .partship_txt {
  width: 50%;
  }
  .partship_txt p {
  padding: 0px 65px 50px 0px;
  }
}

/*************************************************/
/*    contact
/*************************************************/

/* h2 */
h2.h2_contact {
font-family: 'Didact Gothic', sans-serif;
font-size: 4.4rem;
font-weight: bold;
text-align: center;
color: #fff;
line-height: 90%;
letter-spacing: 0.03em;
}
.contact_bg {
margin: 45px auto 30px;
padding: 50px 40px;
width: 100%;
max-width: 1190px;
background-image: url("../images/t_contact_bg_sp.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: bottom right;
}
.t_cont_txt {
padding-top: 20px;
font-size: 1.8rem;
text-align: center;
color: #fff;
}
.t_c_banner {
display: flex;
justify-content: center;
}
a.t_contact_bn {
margin-top: 20px;
padding: 10px 0px;
width: 60%;
max-width: 275px;
color: #1c4774;
font-size: 2.2rem;
font-weight: bold;
text-align: center;
background: #fff;
border-radius: 100px;
}
/* recaptcha */
.recaptcha_bg {
font-family: 'Didact Gothic', sans-serif;
margin: 0px auto 20px;
padding: 10px 15px;
width: 85%;
max-width: 450px;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
line-height: 150%;
color: #787878;
background: #fff;
border-radius: 5px;
}
.recaptcha_bg a {
font-family: 'Didact Gothic', sans-serif;
color: #397dbe;
text-decoration: underline;
}
.recaptcha_bg a:hover {
color: #18558e;
text-decoration: none;
}
/* rechaptureロゴ非表示 */
.grecaptcha-badge { visibility: hidden; }

@media screen and (min-width: 600px) {
  .contact_bg {
  margin: 100px auto 45px;
  padding: 80px 20px;
  background-image: url("../images/t_contact_bg.jpg") !important;
  }
  .t_cont_txt {
  padding-top: 25px;
  font-size: 2.0rem;
  line-height: 170%;
  }
  a.t_contact_bn {
  padding: 15px 0px;
  font-size: 2.5rem;
  }
  .recaptcha_bg {
  margin: 0px auto 30px;
  padding: 15px 15px;
  font-size: 1.5rem;
  }
}
@media screen and (min-width: 834px) {
  h2.h2_contact {
  font-size: 6.5rem;
  }
  .contact_bg {
  margin: 145px auto 120px;
  padding: 85px 20px;
  line-height: 130%;
  }
}

/*************************************************/
/*    payment
/*************************************************/

h2.h2_payment {
padding: 40px 0px 30px;
font-size: 3.0rem;
font-weight: bold;
text-align: center;
}
h3.h3_payment {
padding-bottom: 15px;
font-size: 2.1rem;
font-weight: bold;
}
h3.h3_payment .paycoron {
display: none;
}
.payment {
width: 100%;
margin: 0px;
padding: 0px 0px 30px;
background: #f0f1f3;
}
.pay_waku {
margin: 0px auto;
width: 80%;
max-width: 1150px;
}
.pay_cont {
padding: 25px 0px;
text-align: center;
background: #fff;
border-radius: 5px;
}
.pay_cont:first-child {
margin-bottom: 20px;
}
.pay_txt {
font-size: 2.3rem;
font-weight: bold;
color: #1c4774;
}
@media screen and (min-width: 1100px) {
  h2.h2_payment {
  padding: 60px 0px 45px;
  font-size: 3.8rem;
  font-weight: normal;
  }
  h3.h3_payment {
  padding: 0px 30px 0px 0px;
  font-size: 2.7rem;
  }
  h3.h3_payment .paycoron {
  display: inline-block;
  padding: 0px 0px 0px 15px;
  }
  .payment {
  padding: 0px 0px 75px;
  }
  .pay_waku {
  display: flex;
  justify-content: space-around;
  height: 145px;
  }
  .pay_cont {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 55%;
  height: 100%;
  padding: 0px 20px;
  border-radius: 0px;
  }
  .pay_cont:first-child {
  margin: 0px;
  width: 45%;
  }
  .pay_cont:first-child:after {
  content: "";
  position: absolute;
  top: 37px;
  right: 0px;
  height: 73px;
  border-right: 1px solid #778196;
  }
  .pay_cont img {
  margin-left: 20px;
  }
  .pay_txt {
  font-size: 2.7rem;
  }
}

/*************************************************/
/*    company
/*************************************************/

.comp_waku {
margin: 20px auto;
padding-bottom: 10px;
width: 90%;
max-width: 970px;
background: #fff;
border: 5px solid #f3f3f3;
border-radius: 15px;
}
.comp_waku.last {
margin-bottom: 30px;
}
dl.company {
display: flex;
flex-wrap: wrap;
width: 90%;
margin: 0px auto 0px;
padding: 5px 0px 0px;
}
dl.company dt {
margin: 0px 0px 5px 0px;
padding: 10px 15px 15px 10px;
width: 30%;
font-size: 1.4rem;
font-weight: 500;
line-height: 170%;
border-bottom: 1px solid #d7d7d7;
}
dl.company dd {
margin: 0px 0px 5px 0px;
padding: 10px 15px 15px 0px;
width: 70%;
font-size: 1.4rem;
line-height: 150%;
border-bottom: 1px solid #d7d7d7;
}
dl.company02 {
display: flex;
flex-wrap: wrap;
width: 90%;
margin: 0px auto 0px;
padding: 10px 0px 0px;
}
dl.company02 dt {
margin: 0px 0px 5px 0px;
padding: 10px 15px 15px 10px;
width: 35%;
font-size: 1.4rem;
font-weight: 700;
color: #176794;
line-height: 170%;
border-bottom: 1px dashed #b1b0b0;
}
dl.company02 dd {
margin: 0px 0px 5px 0px;
padding: 10px 15px 15px 0px;
width: 65%;
font-size: 1.4rem;
line-height: 150%;
border-bottom: 1px dashed #b1b0b0;
}
dl.company02 dt.last,
dl.company02 dd.last {
padding-bottom: 0px;
line-height: 160%;
border: none;
}
.comp_syo_waku {
margin: 10px auto;
padding: 15px 0px 0px;
width: 90%;
max-width: 955px;
background: #f3f3f3;
border-radius: 10px;
}
dl.comp_syo {
display: flex;
flex-wrap: wrap;
width: 90%;
margin: 0px auto;
}
dl.comp_syo dt {
margin: 0px 0px 10px 0px;
padding: 0px;
width: 100%;
font-size: 1.35rem;
font-weight: 500;
line-height: 170%;
color: #fff;
text-align: center;
background: #167a99;
border-radius: 3px;
}
dl.comp_syo dd {
margin: 0px 0px 15px 0px;
width: 100%;
font-size: 1.4rem;
line-height: 150%;
}
@media screen and (min-width: 834px) {
  .comp_waku {
  margin-top: 60px; 
  }
  .comp_waku.last {
  margin-bottom: 100px;
  }
  dl.company {
  margin: 20px auto 25px;
  padding: 0px;
  }
  dl.company dt {
  padding: 20px 0px 20px 20px;
  width: 15%;
  font-size: 1.7rem;
  }
  dl.company dd {
  padding: 20px 30px 20px 20px;
  width: 85%;
  font-size: 1.7rem;
  }
  dl.company02 {
  margin: 50px auto 0px;
  }
  .comp_syo_waku {
  margin: 0px auto 20px;
  }
  dl.comp_syo {
  justify-content: space-between;
  width: 94%;
  padding: 15px 0px;
  }
  dl.comp_syo dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20%;
  margin-bottom: 20px;
  padding: 3px 0px;
  font-size: 1.5rem;
  }
  dl.comp_syo dd {
  display: flex;
  align-items: center;
  width: 77%;
  margin: 0px;
  padding-bottom: 20px;
  font-size: 1.5rem;
  }
  dl.company02 {
  margin-top: 0px;
  padding: 10px 0px;
  }
  dl.company02 dt {
  padding: 18px 15px 18px 10px;
  width: 30%;
  font-size: 1.6rem;
  }
  dl.company02 dd {
  padding: 18px 15px 18px 0px;
  width: 70%;
  font-size: 1.6rem;
  }
}

/*************************************************/
/*    footer
/*************************************************/

footer {
position: relative;
width: 100%;
margin: 0px;
padding: 40px 0px 30px;
background: #1c4774;
}
footer:before {
content: "";
position: absolute;
top: 25px;
left: 0px;
width: 100%;
border-top: 1px solid #8493a2;
}
.f_wrp {
display: block;
margin: 0px auto;
width: 90%;
max-width: 1190px;
}
.f_address {
display: flex;
justify-content: center;
flex-wrap: wrap;
margin: 0px auto;
width: 80%;
}
.f_address .f_logo {
width: 100%;
max-width: 156px;
}
.f_address .f_txt {
padding-top: 15px;
width: 100%;
font-size: 1.6rem;
color: #fff;
text-align: center;
line-height: 130%;
}
.f_logo a {
display: flex;
}
.f_logo a:hover {
opacity: 0.5;
}
.f_right {
display: block;
width: 100%;
}
.f_contact,
.f_nav {
display: none;
}
.copyright {
width: 100%;
font-size: 1.1rem;
text-align: center;
line-height: 150%;
padding-top: 15px;
color: #fff;
letter-spacing: 0.1em;
}

@media screen and (min-width: 1190px) {
  footer {
  padding: 60px 0px 55px;
  }
  .f_wrp {
  display: flex;
  justify-content: space-between;
  }
  .f_left {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 45%;
  margin-top: 5px;
  }
  .f_address {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin: inherit;
  width: 100%;
  }
  .f_address .f_logo {
  margin-right: 7%;
  }
  .f_address .f_txt {
  padding-top: 0px;
  width: 60%;
  font-size: 1.8rem;
  text-align: left;
  }
  .f_contact {
  display: flex;
  align-items: center;
  width: 80%;
  max-width: 162px;
  }
  .f_contact a {
  display: block;
  }
  a.f_contact {
  margin-top: 20px;
  }
  .f_right {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-right: 40px;
  width: 55%;
  max-width: 420px;
  }
  .f_navi_waku {
  width: 33.333%;
  }
  ul.f_nav {
  margin: 0px;
  padding: 0px;
  display: inherit;
  width: 100%;
  }
  ul.f_nav li a {
  position: relative;
  padding: 0px;
  font-size: 1.8rem;
  color: #fff;
  line-height: 170%;
  }
  ul.f_nav li a:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  background: #fff;
  bottom: -2px;
  left: 0;
  transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
  transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
  transition: transform 0.3s; /*変形の時間*/
  }
  ul.f_nav li a:hover:after {
  transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
  }
  .copyright {
  font-size: 1.2rem;
  padding-top: 15px;
  text-align: right;
  line-height: 140%;
  }
}
