@charset "UTF-8";
/*日本語*/
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url("https://fonts.googleapis.com/css?family=Teko:400,500,700"); */
/*@import url('https://fonts.googleapis.com/css?family=Teko:400,500,700');*/
/* @import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); */

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-Thin.ttf') format("truetype");
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-Extra Light.ttf') format("truetype");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-Light.ttf') format("truetype");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-Medium.ttf') format("truetype");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-SemiBold.ttf') format("truetype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-ExtraBold.ttf') format("truetype");
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-Black.ttf') format("truetype");
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-Thin.ttf') format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-Light.ttf') format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-Medium.ttf') format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-Black.ttf') format("truetype");
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-ThinItalic.ttf') format("truetype");
  font-weight: 100;
  font-style: italic;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-LightItalic.ttf') format("truetype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-Italic.ttf') format("truetype");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-MediumItalic.ttf') format("truetype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-BoldItalic.ttf') format("truetype");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'Roboto';
  src: url('./fonts/Roboto-BlackItalic.ttf') format("truetype");
  font-weight: 900;
  font-style: italic;
}

@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-Thin.ttf') format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-Light.ttf') format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-Black.ttf') format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-ThinItalic.ttf') format("truetype");
  font-weight: 100;
  font-style: italic;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-LightItalic.ttf') format("truetype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-Italic.ttf') format("truetype");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-BoldItalic.ttf') format("truetype");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-BlackItalic.ttf') format("truetype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: 'Teko';
  src: url('./fonts/Teko-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Teko';
  src: url('./fonts/Teko-Medium.ttf') format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Teko';
  src: url('./fonts/Teko-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
}

/*日本語*/
html {
  width: 100%;
}

body {
  width: 100%;
  -webkit-text-size-adjust: none;
  color: #454545;
  font-size: 16px;
  margin: 0;
  padding: 0;
  background-color: #fff;
  font-family: "Noto Sans JP", "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", YuGothic, "Yu Gothic", "游ゴシック", Osaka, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  word-break: normal;
  word-wrap: break-word;
  overflow-x: hidden;
}

* {
  margin: 0;
  padding: 0;
  line-height: 1.1;
}

ul,
li,
dl,
dt {
  list-style-type: none;
}

img {
  vertical-align: middle;
  border: none;
}

/*p,dt,dd,li{text-align:justify;text-justify:inter-ideograph;}*/
.alignCenter {
  text-align: center;
}

img.fitImg {
  max-width: 100%;
  height: auto;
}

br {
  line-height: 1;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: hidden;
  /* Firefoxで、下マージン設定しているのに上にもアキができるバグ対策。追加 */
}

.qs_r {
  font-family: 'Quicksand', sans-serif;
  font-weight: 400;
}

.qs_m {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
}

.qs_b {
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
}

.serif {
  font-family: "ヒラギノ明朝 Pro W6", "HiraMinPro-W6", YuMincho, "Yu Mincho", "游明朝", serif;
}

.sans_serif {
  font-family: "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", YuGothic, "Yu Gothic", "游ゴシック", Osaka, "ＭＳ Ｐゴシック", sans-serif;
}

a,
a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
  color: #464646;
}

p.img {
  margin: 5px 0;
}

input[type="text"],
input[type="email"] {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.inner1440 {
  width: 1440px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 1440px) {
  .inner1440 {
    /*		overflow:hidden;*/
    width: 100%;
  }
}

.inner1400 {
  max-width: 90%;
  width: 1400px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 1400px) {
  .inner1400 {
    /*		overflow:hidden;*/
    width: 100%;
  }
}

.inner1200 {
  width: 1200px;
  margin: 0 auto;
  position: relative;
  /*	overflow:hidden;*/
}

@media screen and (max-width: 1200px) {
  .inner1200 {
    width: 100%;
  }
}

.inner1000 {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  /*	overflow:hidden;*/
}

@media screen and (max-width: 1000px) {
  .inner1000 {
    width: 100%;
  }
}

.inner1080 {
  max-width: 90%;
  width: 1080px;
  margin: 0 auto;
  position: relative;
  /*	overflow:hidden;*/
}

@media screen and (max-width: 1080px) {
  .inner1080 {
    width: 90%;
  }
}

@media screen and (max-width: 1000px) {
  .pc_br {
    display: none;
  }
}

.sp_br {
  display: none;
}

@media screen and (max-width: 1000px) {
  .sp_br {
    display: block;
    line-height: 0;
  }
}

.isSP {
  display: none;
}

@media screen and (max-width: 1000px) {
  .isSP {
    display: block;
  }
}

/*
	flex-wrap:wrap;
	justify-content:space-between;
	justify-content:space-around;
	align-items: center;
	align-content: center;
	align-items: flex-start;
*/
/*途中の共通コンバージョン*/
.inter_conversion {
  width: 100%;
  background: #1f006e;
}

@media screen and (max-width: 1400px) {
  .inter_conversion {
    min-width: 0;
  }
}

.inter_conversion_box {
  width: 100%;
  padding: 90px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 1200px) {
  .inter_conversion_box {
    width: 96%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 1000px) {
  .inter_conversion_box {
    width: 100%;
    padding: 8vw 0 0;
    display: block;
  }
}

/*左*/
.inter_conversion_text {
  width: 560px;
}

@media screen and (max-width: 1200px) {
  .inter_conversion_text {
    width: 46.66%;
  }
}

@media screen and (max-width: 1000px) {
  .inter_conversion_text {
    width: 90%;
    margin: 0 auto;
  }
}

.inter_conversion_sub {
  font-size: 60px;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 400;
  font-family: 'Teko', sans-serif;
}

@media screen and (max-width: 1000px) {
  .inter_conversion_sub {
    font-size: 11vw;
    text-align: center;
  }
}

.inter_conversion_sub:first-letter {
  color: #fc9e20;
}

.inter_conversion_catch {
  width: 492px;
  border: 4px solid #fc9e20;
  margin: 0 auto 0 0;
  margin-top: 5px;
  padding: 10px 0;
  font-size: 20px;
  color: #fc9e20;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1200px) {
  .inter_conversion_catch {
    width: 87.85%;
  }
}

@media screen and (max-width: 1000px) {
  .inter_conversion_catch {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    margin-top: 4vw;
    padding: 2vw 0;
    font-size: 3.7vw;
  }
}

.inter_conversion_headline {
  width: 500px;
  margin: 0 auto 0 0;
  padding-top: 10px;
  font-size: 40px;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

@media screen and (max-width: 1200px) {
  .inter_conversion_headline {
    width: 89.28%;
  }
}

@media screen and (max-width: 1000px) {
  .inter_conversion_headline {
    width: 100%;
    margin: 0;
    padding-top: 4vw;
    font-size: 5.2vw;
    text-align: center;
  }
}

/*右*/
.inter_conversion_btn {
  width: 640px;
}

@media screen and (max-width: 1200px) {
  .inter_conversion_btn {
    width: 53.34%;
  }
}

@media screen and (max-width: 1000px) {
  .inter_conversion_btn {
    width: 100%;
  }
}

.inter_conversion_annotation {
  text-align: center;
  color: #fff;
  font-weight: 500;
  font-size: 26px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1000px) {
  .inter_conversion_annotation {
    padding-top: 2vw;
    padding-bottom: 4vw;
    font-size: 3.8vw;
  }
}

.inter_conversion_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 20px;
}

@media screen and (max-width: 1000px) {
  .inter_conversion_list {
    display: block;
  }
}

.inter_conversion_item {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 180px;
  position: relative;
}

@media screen and (max-width: 1000px) {
  .inter_conversion_item {
    width: 100%;
    display: block;
    height: auto;
  }
}

/*黒*/
.inter_conversion_item.left {
  background: #000;
}

.inter_phone_message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  height: 100%;
}

@media screen and (max-width: 1000px) {
  .inter_phone_message {
    display: block;
    height: auto;
    padding: 9vw 0 7vw;
  }
}

.inter_phone_message dt {
  width: 100%;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1000px) {
  .inter_phone_message dt {
    font-size: 3.9vw;
  }
}

.inter_phone_message dd {
  width: 100%;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 1000px) {
  .inter_phone_message dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding-top: 2vw;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.inter_phone_number {
  display: inline-block;
  padding: 10px 0 0px 40px;
  background: url(../img/common/icon_freedial.png) no-repeat left 70%;
  background-size: 30px auto;
  font-size: 36px;
  font-weight: 400;
  font-family: 'Teko', sans-serif;
  letter-spacing: 0.16em;
}

@media screen and (max-width: 1000px) {
  .inter_phone_number {
    padding: 0 0 0px 8vw;
    background: url(../img/common/icon_freedial.png) no-repeat 0 center;
    background-size: 7vw auto;
    font-size: 11vw;
    letter-spacing: 0.1em;
  }
}

.inter_phone_number a {
  color: #fff;
}

.inter_phone_time {
  padding-left: 10px;
  text-align: center;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 1000px) {
  .inter_phone_time {
    padding-left: 2vw;
    font-size: 3vw;
  }
}

/*オレンジ*/
.inter_conversion_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  background: #fc9e20;
  -webkit-transition: background ease 0.4s;
  -o-transition: background ease 0.4s;
  transition: background ease 0.4s;
}

@media screen and (max-width: 1000px) {
  .inter_conversion_item a {
    height: auto;
  }
}

.inter_conversion_item a:hover {
  background: #ffbe66;
}

.inter_conversion_link p {
  /*	display:inline-block;*/
  padding: 20px 0 20px 90px;
  background: url(../img/common/icon_letter.png) no-repeat 40px center;
  background-size: 30px auto;
  font-size: 18px;
  line-height: 1.4;
}

@media screen and (max-width: 1000px) {
  .inter_conversion_link p {
    width: 100%;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 13vw 0 13vw 10vw;
    background-size: 7vw auto;
    font-size: 4.4vw;
  }
}

.simple_text_box {
  width: 100%;
}

.simple_text_box .inner1200 {
  margin: 58px auto;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}

@media screen and (max-width: 1200px) {
  .simple_text_box .inner1200 {
    width: 100%;
  }
}

/*日本語*/
/*------------------------------------------------------------------------------

header

------------------------------------------------------------------------------*/
header {
  width: 100%;
}

.header {
  position: fixed;
  width: 1400px;
  left: calc(50% - 700px);
  top: 0;
  z-index: 990;
  -webkit-box-shadow: 0px 6px 4px -4px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 6px 4px -4px rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 1400px) {
  .header {
    width: 100%;
    left: 0;
  }
}

.header_contents {
  width: 100%;
  height: 90px;
  background: #1f006e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 1040px) {
  .header_contents {
    height: 13vw;
  }
}

.header_logo {
  /* width: 110px;  */
}

@media screen and (max-width: 1040px) {
  .header_logo {
    width: 18.6vw;
  }
}

.header_logo a {
  display: block;
}

.header_logo img {
  display: inline-block;
  margin-left: 20px;
  width: 74px;
}

@media screen and (max-width: 1120px) {
  .header_logo img {
    width: 54px;
  }
}

@media screen and (max-width: 1040px) {
  .header_logo img {
    width: auto;
    max-width: 13vw;
    margin-left: 5vw;
  }
}

.header_sp_switch {
  position: absolute;
  right: 0;
  top: 0;
  text-indent: -9999px;
  overflow: hidden;
  width: 13vw;
  height: 13vw;
  display: none;
}

@media screen and (max-width: 1040px) {
  .header_sp_switch {
    display: block;
  }
}

.header_sp_switch:after,
.header_sp_switch:before {
  content: "";
  display: block;
  position: absolute;
  left: 25%;
  width: 50%;
  height: 2px;
  background: #fff;
  -webkit-transition: -webkit-transform ease 0.4s;
  transition: -webkit-transform ease 0.4s;
  -o-transition: transform ease 0.4s;
  transition: transform ease 0.4s;
  transition: transform ease 0.4s, -webkit-transform ease 0.4s;
}

.header_sp_switch:after {
  top: 40%;
}

.header_sp_switch:before {
  top: 60%;
}

.header_sp_switch.isOpen:after {
  top: 50%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.header_sp_switch.isOpen:before {
  top: 50%;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.header_menu {
  width: calc(100% - 110px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 5px;
}

@media screen and (max-width: 1120px) {
  .header_menu {
    width: calc(100% - 90px);
  }
}

@media screen and (max-width: 1040px) {
  .header_menu {
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
    display: none;
    position: absolute;
    left: 0;
    top: 13vw;
    background: #1f006e;
    padding-top: 3vw;
  }
}

@media screen and (max-width: 1040px) {
  .header_sp_switch.isOpen+.header_menu {
    display: block;
  }
}

.header_menu_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: calc(100% - 410px);
}

@media screen and (max-width: 1040px) {
  .header_menu_list {
    width: 100%;
    display: block;
  }
}

.header_menu_item>a {
  display: block;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 1em;
  height: 90px;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
  background: #1f006e;
  -webkit-transition: background ease 0.4s;
  -o-transition: background ease 0.4s;
  transition: background ease 0.4s;
  position: relative;
}

@media screen and (max-width: 1200px) {
  .header_menu_item>a {
    padding: 0 0.8vw;
  }
}

@media screen and (max-width: 1040px) {
  .header_menu_item>a {
    padding: 0;
    height: auto;
    padding: 3.5vw 8vw;
    font-size: 4.6vw;
    font-weight: 700;
  }
}

.header_menu_item>a.isOpen,
.header_menu_item>a.this_page {
  color: #fc9e20;
  /*	background:$main-blue-hover;*/
}

.header_menu_item>a:hover {
  background: #65509b;
}

.header_menu_item>a.isOpen:hover,
.header_menu_item>a.this_page:hover {
  background: #1f006e;
}

@media screen and (min-width: 1041px) {
  #header_service>a {
    padding: 0 2.2em 0 0;
  }
}

@media screen and (max-width: 1040px) {
  #header_service>a {
    position: relative;
  }
}

#header_service>a:before {
  content: "";
  display: block;
  position: absolute;
  right: 8px;
  top: calc(50% - 9px);
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  z-index: 900;
}

@media screen and (max-width: 1040px) {
  #header_service>a:before {
    display: none;
  }
}

#header_service>a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 5px;
  height: 5px;
  border-right: 2px solid #1f006e;
  border-bottom: 2px solid #1f006e;
  -webkit-transform: rotate(45deg) translateY(-2px);
  -ms-transform: rotate(45deg) translateY(-2px);
  transform: rotate(45deg) translateY(-2px);
  -webkit-transform-origin: right 50% 0;
  -ms-transform-origin: right 50% 0;
  transform-origin: right 50% 0;
  z-index: 900;
}

@media screen and (max-width: 1040px) {
  #header_service>a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5vw;
    width: 3vw;
    height: 3vw;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-2px);
    -ms-transform: rotate(45deg) translateY(-2px);
    transform: rotate(45deg) translateY(-2px);
    -webkit-transform-origin: right 50% 0;
    -ms-transform-origin: right 50% 0;
    transform-origin: right 50% 0;
    -webkit-transition: -webkit-transform ease 0.4s;
    transition: -webkit-transform ease 0.4s;
    -o-transition: transform ease 0.4s;
    transition: transform ease 0.4s;
    transition: transform ease 0.4s, -webkit-transform ease 0.4s;
  }
}

#header_service>a.isOpen:before {
  background: #fc9e20;
}

#header_service>a.isOpen:after {
  border-left: 2px solid #000;
  border-top: 2px solid #000;
  border-right: none;
  border-bottom: none;
}

@media screen and (max-width: 1040px) {
  #header_service>a.isOpen:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5vw;
    width: 3vw;
    height: 3vw;
    border-right: none;
    border-bottom: none;
    border-left: 1px solid #fff;
    border-top: 1px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-2px);
    -ms-transform: rotate(45deg) translateY(-2px);
    transform: rotate(45deg) translateY(-2px);
    -webkit-transform-origin: right 50% 0;
    -ms-transform-origin: right 50% 0;
    transform-origin: right 50% 0;
  }
}

/*サービスサブメニュー*/
.header_sub_box {
  display: none;
  position: absolute;
  left: 0;
  top: 90px;
  width: 100%;
  height: 290px;
  -webkit-box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.1);
  background: #000;
}

@media screen and (max-width: 1040px) {
  .header_sub_box {
    position: relative;
    top: auto;
    height: auto;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
  }
}

.header_sub_service {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1040px) {
  .header_sub_service {
    display: block;
  }
}

.header_sub_left {
  width: 34%;
}

@media screen and (max-width: 1040px) {
  .header_sub_left {
    display: none;
  }
}

.header_sub_headline {
  padding-top: 70px;
  padding-left: 65px;
  color: #fc9e20;
  font-family: 'Teko', sans-serif;
  font-weight: 500;
  font-size: 60px;
  letter-spacing: 0.1em;
}

.header_sub_subhead {
  padding-top: 1px;
  padding-left: 65px;
  color: #fff;
  font-weight: 500;
  font-size: 24px;
}

.header_sub_link {
  padding-top: 50px;
  padding-left: 65px;
}

.header_sub_link a {
  position: relative;
  display: inline-block;
  padding-left: 25px;
  color: #fff;
}

.header_sub_link a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 9px);
  width: 18px;
  height: 18px;
  background: #fc9e20;
  border-radius: 50%;
  z-index: 900;
}

.header_sub_link a:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  width: 5px;
  height: 5px;
  border-right: 2px solid #000;
  border-top: 2px solid #000;
  -webkit-transform: rotate(45deg) translateY(-2px);
  -ms-transform: rotate(45deg) translateY(-2px);
  transform: rotate(45deg) translateY(-2px);
  -webkit-transform-origin: right 50% 0;
  -ms-transform-origin: right 50% 0;
  transform-origin: right 50% 0;
  z-index: 900;
}

.header_sub_list {
  width: 66%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 1040px) {
  .header_sub_list {
    width: 100%;
    display: block;
  }
}

.header_sub_item {
  width: 33.33%;
  height: 50%;
  line-height: 1.4;
}

@media screen and (max-width: 1040px) {
  .header_sub_item {
    width: 80%;
    margin: 0 0 0 auto;
    height: auto;
  }
}

.header_sub_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 10;
}

@media screen and (max-width: 1040px) {
  .header_sub_item a {
    display: block;
    padding: 3vw 0;
    font-size: 4.5vw;
    text-align: left;
  }
}

.header_sub_item.service01 a {
  background: url(../img/common/header_service01BG.jpg) no-repeat center center;
}

.header_sub_item.service02 a {
  background: url(../img/common/header_service02BG.jpg) no-repeat center center;
}

.header_sub_item.service03 a {
  background: url(../img/common/header_service03BG.jpg) no-repeat center center;
}

.header_sub_item.service04 a {
  background: url(../img/common/header_service04BG.jpg) no-repeat center center;
}

.header_sub_item.service05 a {
  background: url(../img/common/header_service05BG.jpg) no-repeat center center;
}

.header_sub_item.service06 a {
  background: url(../img/common/header_service06BG.jpg) no-repeat center center;
}

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

  .header_sub_item.service01 a,
  .header_sub_item.service02 a,
  .header_sub_item.service03 a,
  .header_sub_item.service04 a,
  .header_sub_item.service05 a,
  .header_sub_item.service06 a {
    background: none;
  }
}

.header_sub_item a:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: background ease 0.4s;
  -o-transition: background ease 0.4s;
  transition: background ease 0.4s;
  z-index: 9;
}

@media screen and (max-width: 1040px) {
  .header_sub_item a:after {
    display: none;
  }
}

.header_sub_item a:hover:after {
  background: rgba(0, 0, 0, 0.2);
  z-index: 9;
}

.header_sp_link {
  display: none;
}

@media screen and (max-width: 1040px) {
  .header_sp_link {
    display: block;
    width: calc(100% - 16vw);
    margin: 0 auto;
    margin-top: 6vw;
    padding: 4vw 0;
    letter-spacing: -.40em;
    border-top: 1px solid #634d9a;
    border-bottom: 1px solid #634d9a;
  }
}

.header_sp_link p {
  display: inline-block;
  letter-spacing: 0;
  margin-right: 6vw;
}

.header_sp_link a {
  padding: 6vw 0;
  display: inline-block;
  color: #fff;
  font-size: 3.6vw;
  font-weight: 700;
  letter-spacing: 0.1em;
}

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

  .header_sp_link a {
    padding: 4vw 0;
  }
}

.header_sp_link a.this_page {
  color: #fc9e20;
}

.header_conversion {
  /* width: 460px; */
  height: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 1040px) {
  .header_conversion {
    width: 100%;
    height: auto;
    display: block;
  }
}

.header_conversion:after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 70px;
  left: 0;
  top: calc(50% - 35px);
  background: rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 1040px) {
  .header_conversion:after {
    display: none;
  }
}

.header_sp_catch {
  display: none;
}

@media screen and (max-width: 1040px) {
  .header_sp_catch {
    display: block;
    width: calc(100% - 16vw);
    margin: 0 auto;
    padding-top: 6vw;
    color: #fff;
    font-size: 3.4vw;
    letter-spacing: 0.075em;
  }
}

.header_conversion_phone {
  width: 200px;
  background: url(../img/common/icon_freedial.png) no-repeat 16px center;
  background-size: 26px auto;
}

@media screen and (max-width: 1040px) {
  .header_conversion_phone {
    width: calc(100% - 16vw);
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2vw 0 5vw 0;
    background: url(../img/common/icon_freedial.png) no-repeat 0 4vw;
    background-size: 4.6vw auto;
  }
}

.header_phone {
  color: #fff;
  padding-left: 32px;
  font-family: 'Teko', sans-serif;
  font-weight: 400;
  font-size: 26px;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1040px) {
  .header_phone {
    padding-left: 6vw;
    font-size: 8.5vw;
  }
}

.header_phone a {
  color: #fff;
}

.header_phone_annotation {
  padding-left: 32px;
  font-size: 12px;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  color: #fff;
}

@media screen and (max-width: 1040px) {
  .header_phone_annotation {
    padding-left: 2vw;
    letter-spacing: 0.1em;
    font-size: 3vw;
    margin-top: -0.5em;
  }
}

.header_conversion_form {
  width: 204px;
  text-align: center;
}

@media screen and (max-width: 1040px) {
  .header_conversion_form {
    width: 100%;
    margin-bottom: 100px;
  }
}

.header_conversion_form span,
.header_conversion_form a {
  display: block;
  width: 100%;
  height: 90px;
  background: #fc9e20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  line-height: 1.5;
  color: #151515;
  font-weight: bold;
  -webkit-transition: background ease 0.4s;
  -o-transition: background ease 0.4s;
  transition: background ease 0.4s;
}

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

  .header_conversion_form span,
  .header_conversion_form a {
    height: auto;
    padding: 4vw 0;
    font-size: 4.5vw;
    background: #fc9e20 url(../img/common/icon_letter.png) no-repeat 4vw center;
    background-size: 6vw auto;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
  }
}

.header_conversion_form span {
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

.header_conversion_form a:hover {
  background: #ffbe66;
}

@media screen and (max-width: 1040px) {
  .header_conversion_form a:hover {
    background: #fc9e20 url(../img/common/icon_letter.png) no-repeat 4vw center;
    background-size: 6vw auto;
  }
}

/*------------------------------------------------------------------------------

メインビジュアル

------------------------------------------------------------------------------*/
.board {
  width: 100%;
  min-width: 1400px;
  min-height: 510px;
  background-color: #1f006e;
  position: relative;
  padding-top: 90px;
}

@media screen and (max-width: 1400px) {
  .board {
    min-width: 0;
  }
}

@media screen and (max-width: 1000px) {
  .board {
    padding-top: 13vw;
    min-height: 0;
    height: 120vw;
  }
}

/*以下、各ページのメインビジュアル設定*/
/*会社概要*/
.board.company {
  background: #1f006e url(../img/company/board_company.jpg) no-repeat center top;
}

@media screen and (max-width: 1000px) {
  .board.company {
    background: #1f006e url(../img/company/board_sp_company.jpg) no-repeat center 13vw;
    background-size: auto 100%;
  }
}

/*プライバシーポリシー*/
.board.privacy {
  background: #1f006e url(../img/privacy/board_privacy.jpg) no-repeat center top;
}

@media screen and (max-width: 1000px) {
  .board.privacy {
    background: #1f006e url(../img/privacy/board_sp_privacy.jpg) no-repeat center 13vw;
    background-size: auto 100%;
  }
}

/* クッキーポリシー */
.board.cookie {
  background: #1f006e url(../img/privacy/board_privacy.jpg) no-repeat center top;
}

@media screen and (max-width: 1000px) {
  .board.cookie {
    background: #1f006e url(../img/privacy/board_sp_privacy.jpg) no-repeat center 13vw;
    background-size: auto 100%;
  }
}

/*フォーム*/
.board.contact {
  background: #1f006e url(../img/contact/board_contact.jpg) no-repeat center top;
}

@media screen and (max-width: 1000px) {
  .board.contact {
    background: #1f006e url(../img/contact/board_sp_contact.jpg) no-repeat center 13vw;
    background-size: auto 100%;
  }
}

/*サービスTOP*/
.board.service {
  background: #1f006e url(../img/service/board_service.jpg) no-repeat center top;
}

@media screen and (max-width: 1000px) {
  .board.service {
    background: #1f006e url(../img/service/board_sp_service.jpg) no-repeat center 13vw;
    background-size: auto 100%;
  }
}

.board_title {
  margin: 0 auto 0 0;
  padding-left: 100px;
  width: calc(100% - 100px);
  height: 510px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
}

@media screen and (max-width: 1400px) {
  .board_title {
    padding-left: 8vw;
    width: calc(100% - 8vw);
  }
}

@media screen and (max-width: 1000px) {
  .board_title {
    padding-left: 0;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 30vw;
  }
}

@media screen and (max-width: 767px) {
  .board_title {
    height: 96vw;
  }
}

.board_headline {
  width: 100%;
  font-size: 108px;
  font-family: 'Teko', sans-serif;
  font-weight: 400;
  color: #fff;
}

@media screen and (max-width: 1000px) {
  .board_headline {
    font-size: 25vw;
    text-align: center;
  }
}

.board_headline b {
  display: inline-block;
  font-weight: 400;
  position: relative;
}

.board_headline b:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 86%;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 1000px) {
  .board_headline b:after {
    display: none;
  }
}

.board_headline span {
  /*	margin-left:10px;*/
  color: #fc9e20;
}

.board_subhead {
  width: 100%;
  color: #fff;
  font-weight: 700;
  font-size: 28px;
}

@media screen and (max-width: 1000px) {
  .board_subhead {
    text-align: center;
    font-size: 4.6vw;
    padding-top: 2vw;
  }
}

.board_catch {
  padding-top: 26px;
  width: 100%;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
}

@media screen and (max-width: 1000px) {
  .board_catch {
    text-align: center;
    font-size: 2.6vw;
    padding-top: 4vw;
  }
}

/*------------------------------------------------------------------------------

メインビジュアル左下側のscroll文字

------------------------------------------------------------------------------*/
.board_scroll {
  position: absolute;
  left: 100px;
  bottom: 4.4em;
}

@media screen and (max-width: 1000px) {
  .board_scroll {
    left: 3vw;
    bottom: auto;
    top: 50vw;
    display: none;
  }
}

.board_scroll span {
  display: inline-block;
  position: relative;
  font-size: 20px;
  font-family: 'Teko', sans-serif;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.2em;
  padding-right: 3em;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: left bottom;
  -ms-transform-origin: left bottom;
  transform-origin: left bottom;
  z-index: 10;
}

@media screen and (max-width: 1000px) {
  .board_scroll span {
    font-size: 3vw;
  }
}

.board_scroll span:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
}

/*------------------------------------------------------------------------------

第二階層のメイン画像下のブルー帯領域。ここでは帯色のみ定義

------------------------------------------------------------------------------*/
.board_under {
  width: 100%;
  min-width: 1400px;
  padding: 70px 0;
  position: relative;
  z-index: 1;
  background-color: #1f006e;
}

@media screen and (max-width: 1400px) {
  .board_under {
    min-width: 0;
  }
}

@media screen and (max-width: 1000px) {
  .board_under {
    padding: 0;
    border-top: 1px solid #1f006e;
  }
}

/*------------------------------------------------------------------------------

第二階層のメイン画像下のブルー帯領域。見出しとリード文のセット。汎用

------------------------------------------------------------------------------*/
.board_under_lead {
  padding: 40px 0;
  width: 600px;
  margin: 0 auto;
  color: #fff;
}

@media screen and (max-width: 1000px) {
  .board_under_lead {
    padding: 10vw 0 15vw;
    width: 90%;
  }
}

.board_under_lead dt {
  text-align: center;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1000px) {
  .board_under_lead dt {
    font-size: 4.4vw;
    line-height: 1.4;
    text-align: left;
  }
}

.board_under_lead dd {
  padding-top: 20px;
}

@media screen and (max-width: 1000px) {
  .board_under_lead dd {
    padding-top: 2vw;
  }
}

.board_under_lead p {
  line-height: 1.8;
  text-align: justify;
}

@media screen and (max-width: 1000px) {
  .board_under_lead p {
    font-size: 3.2vw;
  }
}

/*------------------------------------------------------------------------------

第二階層のメインビジュアルに食い込む黒矩形メッセージボックス

------------------------------------------------------------------------------*/
.board_message_box {
  max-width: 720px;
  width: 100%;
  background: #000;
  padding: 50px 0;
  position: absolute;
  bottom: calc(100% - 70px);
  right: 0;
  z-index: 10;
  color: #fff;
}

/* @media screen and (max-width: 1400px) {
    .board_message_box {
      width: 51.4285%; } } */
@media screen and (max-width: 1000px) {
  .board_message_box {
    position: relative;
    width: 90%;
    margin: 0 auto;
    margin-top: -24vw;
    bottom: auto;
    padding: 8vw 0;
  }
}

/*------------------------------------------------------------------------------

黒矩形内コンテンツ。フォームなどで使用する汎用の連絡先情報
ページごとに異なる場合は、各ページのcssに記載

------------------------------------------------------------------------------*/
.board_phone_message {
  width: 460px;
  margin: 0 auto;
}

@media screen and (max-width: 1000px) {
  .board_phone_message {
    width: 90%;
  }
}

.board_phone_message dt {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
}

@media screen and (max-width: 1000px) {
  .board_phone_message dt {
    font-size: 4vw;
  }
}

.board_phone_text {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 10px;
}

.board_phone_text span {
  display: inline-block;
}

.board_phone_number {
  padding-left: 55px;
  padding-top: 10px;
  background: url(../img/common/icon_freedial.png) no-repeat left center;
  background-size: 40px auto;
  font-size: 52px;
  font-weight: 400;
  font-family: 'Teko', sans-serif;
  letter-spacing: 0.13em;
}

@media screen and (max-width: 1000px) {
  .board_phone_number {
    padding-left: 10vw;
    padding-top: 2vw;
    background-size: 7vw auto;
    font-size: 10vw;
  }
}

@media screen and (max-width: 414px) {
  .board_phone_number {
    letter-spacing: 0.075em;
  }
}

.board_phone_time {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 1000px) {
  .board_phone_time {
    font-size: 2.4vw;
  }
}

.board_phone_time em {
  display: inline-block;
  margin-left: -0.7em;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.3em;
}

.board_phone_annotation {
  width: 100%;
  margin-top: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 5px 0;
  font-size: 15px;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1000px) {
  .board_phone_annotation {
    margin-top: 3vw;
    padding: 2vw 0;
    font-size: 3.4vw;
  }
}

/*日本語*/
/*------------------------------------------------------------------------------

フッターコンバージョン

------------------------------------------------------------------------------*/
.footer_conversion {
  width: 100%;
  background: #1f006e;
}

.footer_conversion_text {
  padding-top: 110px;
  position: relative;
  text-align: center;
  z-index: 10;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_text {
    padding-top: 8vw;
  }
}

.footer_conversion_headline {
  position: absolute;
  width: 100%;
  left: 0;
  top: 50px;
  z-index: -1;
  text-align: center;
  font-size: 160px;
  font-family: 'Teko', sans-serif;
  font-weight: 400;
  color: rgba(246, 246, 246, 0.05);
  letter-spacing: 0.3em;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_headline {
    position: relative;
    left: auto;
    top: auto;
    z-index: 1;
    font-size: 12vw;
    color: #fff;
    letter-spacing: 0.25em;
  }
}

@media screen and (max-width: 1000px) {
  .footer_conversion_headline:first-letter {
    color: #fc9e20;
  }
}

.footer_conversion_catch {
  display: inline-block;
  color: #fff;
  line-height: 1.8;
  font-size: 15px;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_catch {
    font-size: 2.6vw;
  }
}

.footer_conversion_catch:before {
  content: 'CONTACT';
  position: absolute;
  width: 100%;
  left: 0;
  top: -20px;
  z-index: -1;
  text-align: center;
  font-size: 160px;
  font-family: 'Teko', sans-serif;
  font-weight: 400;
  color: rgba(246, 246, 246, 0.05);
  letter-spacing: 0.3em;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_catch:before {
    top: -8px;
    left: 50%;
    z-index: 1;
    font-size: 16vw;
    letter-spacing: 0.25em;
    transform: translateX(-50%);
  }
}

.footer_conversion_subhead {
  padding-top: 20px;
  text-align: center;
  color: #fff;
  font-weight: 900;
  font-size: 35px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_subhead {
    font-size: 5.2vw;
    letter-spacing: 0.05em;
  }
}

.footer_conversion_sub {
  padding: 25px 0;
  margin-top: 30px;
  border-top: 1px solid #634d9a;
  color: #fff;
  font-size: 22px;
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_sub {
    padding: 4vw 0 8vw;
    margin-top: 0;
    border-top: none;
    font-size: 3.6vw;
  }
}

.footer_conversion_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_list {
    display: block;
  }
}

.footer_conversion_item {
  width: 50%;
  background: #000;
  height: 300px;
  position: relative;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_item {
    width: 100%;
    height: auto;
  }
}

.footer_conversion_english {
  position: absolute;
  left: 0;
  bottom: 25px;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  font-family: 'Teko', sans-serif;
  letter-spacing: 0.13em;
}

.footer_conversion_english.color {
  color: #151515;
}

.footer_phone_message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  height: 100%;
}

@media screen and (max-width: 1000px) {
  .footer_phone_message {
    display: block;
    height: auto;
    padding: 9vw 0 7vw;
  }
}

.footer_phone_message dt {
  width: 100%;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}

@media screen and (max-width: 1000px) {
  .footer_phone_message dt {
    font-size: 3.6vw;
  }
}

.footer_phone_message dd {
  width: 100%;
  color: #fff;
}

.footer_phone_text {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 10px;
}

@media screen and (max-width: 1000px) {
  .footer_phone_text {
    padding-top: 0;
  }
}

.footer_phone_text span {
  display: inline-block;
}

.footer_phone_number {
  padding-left: 55px;
  padding-top: 10px;
  background: url(../img/common/icon_freedial.png) no-repeat left center;
  background-size: 40px auto;
  font-size: 52px;
  font-weight: 400;
  font-family: 'Teko', sans-serif;
  letter-spacing: 0.13em;
}

@media screen and (max-width: 1000px) {
  .footer_phone_number {
    padding-left: 10vw;
    padding-top: 2vw;
    background-size: 7vw auto;
    font-size: 10vw;
  }
}

.footer_phone_number a {
  color: #fff;
  background: #000 !important;
}

.footer_phone_time {
  padding-left: 10px;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 1000px) {
  .footer_phone_time {
    padding-left: 2vw;
    font-size: 3vw;
  }
}

.footer_phone_time em {
  display: inline-block;
  margin-left: -0.7em;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.3em;
}

.footer_conversion_item a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fc9e20;
  -webkit-transition: background ease 0.4s;
  -o-transition: background ease 0.4s;
  transition: background ease 0.4s;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_item a {
    height: auto;
  }
}

.footer_conversion_item a:hover {
  background: #ffbe66;
}

.footer_conversion_link p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #151515;
  font-size: 25px;
  font-weight: 500;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_link p {
    display: block;
    height: auto;
    font-size: 4.2vw;
    text-align: center;
  }
}

.footer_conversion_link span {
  display: inline-block;
  padding: 20px 0 20px 70px;
  background: url(../img/common/icon_letter.png) no-repeat left center;
  background-size: 45px auto;
}

@media screen and (max-width: 1000px) {
  .footer_conversion_link span {
    padding: 13vw 0 13vw 10vw;
    background-size: 7vw auto;
  }
}

/*------------------------------------------------------------------------------

パンくずリスト

------------------------------------------------------------------------------*/
.breadcrumb {
  width: 100%;
  padding: 28px 0;
  background: #fff;
}

.breadcrumb_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justfy-content: start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 1200px) {
  .breadcrumb_list {
    width: 90%;
    margin: 0 auto;
  }
}

.breadcrumb_list li {
  padding-right: 0.5em;
}

.breadcrumb_list a,
.breadcrumb_list span {
  font-size: 13px;
  font-weight: 300;
  color: #727686;
}

.breadcrumb_list a {
  text-decoration: none;
  position: relative;
}

.breadcrumb_list a:after {
  content: ">";
  display: inline-block;
  margin-left: 0.5em;
}

.breadcrumb_list a:hover {
  text-decoration: underline;
}

/*------------------------------------------------------------------------------

footer

------------------------------------------------------------------------------*/
.footer {
  width: 100%;
  min-width: 1400px;
  background: #f6f6f6;
  padding: 40px 0 35px;
  position: relative;
}

@media screen and (max-width: 1400px) {
  .footer {
    width: 100%;
    min-width: 0;
  }
}

.footer_about {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 1200px) {
  .footer_about {
    width: 90%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 1000px) {
  .footer_about {
    display: block;
    position: relative;
  }
}

.footer_logo {
  width: 170px;
  text-align: left;
}

@media screen and (max-width: 1000px) {
  .footer_logo {
    width: 22vw;
  }
}

.footer_logo img {
  width: 139px;
}

@media screen and (max-width: 1000px) {
  .footer_logo img {
    width: auto;
    max-width: 100%;
  }
}

.footer_infomation {
  width: calc(100% - 170px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 1000px) {
  .footer_infomation {
    width: 100%;
    display: block;
    padding-top: 3vw;
  }
}

.footer_address p {
  font-size: 13px;
  font-weight: 300;
  text-align: left;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1000px) {
  .footer_address p {
    font-size: 3.6vw;
  }
}

.footer_address b {
  font-weight: 900;
}

.footer_address p+p {
  padding-top: 12px;
}

@media screen and (max-width: 1000px) {
  .footer_address p+p {
    font-size: 3.2vw;
    line-height: 1.6;
  }
}

.footer_sns {
  text-align: right;
}

@media screen and (max-width: 1000px) {
  .footer_sns {
    position: absolute;
    right: 0;
    top: 0;
  }
}

.footer_sns img {
  width: 40px;
  opacity: 1;
  -webkit-transition: opacity ease 0.4s;
  -o-transition: opacity ease 0.4s;
  transition: opacity ease 0.4s;
}

.footer_sns a:hover img {
  opacity: 0.7;
}

.footer_banner {
  width: 100%;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  padding: 30px 0;
  margin-top: 40px;
}

@media screen and (max-width: 1000px) {
  .footer_banner {
    padding: 0;
  }
}

.footer_banner_list {
  /* width: 87.42%; */
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  gap: 12px;
}

@media screen and (max-width: 1200px) {
  .footer_banner_list {
    /* width: 90%; */
    margin: 0 auto;
  }
}

@media screen and (max-width: 1000px) {
  .footer_banner_list {
    width: 100%;
    padding: 8vw 0;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
}

@media screen and (max-width: 767px) {
  .footer_banner_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.footer_banner_item {
  text-align: center;
  width: 20%;
}

@media screen and (max-width: 1000px) {
  .footer_banner_item {
    /* -webkit-box-flex: 0;
      -ms-flex: 0 0 40%;
      flex: 0 0 40%; */
    display: table-cell;
    width: 46%;
  }
}

.footer_banner_item a {
  width: 100%;
}

.footer_banner_item img {
  width: 100%;
  opacity: 1;
  -webkit-transition: opacity ease 0.4s;
  -o-transition: opacity ease 0.4s;
  transition: opacity ease 0.4s;
  /*	max-width:90%;*/
}

/* @media screen and (max-width: 1200px) {
    .footer_banner_item img {
      max-width: 90%; } } */

.footer_banner_item a:hover img {
  opacity: 0.7;
}

.footer_link_list {
  width: 100%;
  display: flex;
  justify-content: start;
  gap: 16px;
  padding-top: 20px;
}

@media screen and (max-width: 1200px) {
  .footer_link_list {
    width: 90%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 1000px) {
  .footer_link_list {
    gap: 0;
    padding-top: 2vw;
    flex-wrap: wrap;
  }
}

.footer_link_item {
  width: 20%;
}

@media screen and (max-width: 1200px) {
  .footer_link_item {
    width: 24%;
  }
}

@media screen and (max-width: 1000px) {
  .footer_link_item {
    width: 100%;
    padding-top: 6vw;
  }
}

.footer_link_item.has_sub_list {
  width: 35%;
}

@media screen and (max-width: 1000px) {
  .footer_link_item.has_sub_list {
    width: 100%;
    padding-top: 3vw;
  }
}

.footer_link_item.privacy {
  width: 90px;
  margin-left: auto;
  padding-top: 15px;

  @media screen and (max-width: 1000px) {
    width: 100%;
    margin-top: 9vw;
    padding-block: 6vw;
    border-block: 1px solid #dadada;
    text-align: center;
  }

  a {
    display: block;
    width: 100%;
    transition: all .3s;

    @media screen and (max-width: 1000px) {
      width: 25%;
      margin-inline: auto;
    }

    img {
      width: 100%;
      height: auto;
    }

    &:hover {
      opacity: .7;
    }
  }
}

.footer_link_item.last {
  width: 210px;
  text-align: right;
}

@media screen and (max-width: 1000px) {
  .footer_link_item.last {
    width: 100%;
    text-align: left;
  }
}

.footer_link_item p {
  padding-top: 0;
}

@media screen and (max-width: 1000px) {
  .footer_link_item p {
    padding-top: 0;
  }
}

.footer_link_item a {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.15em;
  -webkit-transition: color ease 0.4s;
  -o-transition: color ease 0.4s;
  transition: color ease 0.4s;
  display: inline-block;
  padding: 12px 0;
}

@media screen and (max-width: 1000px) {
  .footer_link_item a {
    font-size: 3vw;
  }
}

.footer_link_item a:hover {
  color: #1f006e;
}

.footer_link_item a.this_page {
  color: #1f006e;
}

.footer_sub_link {
  width: 100%;
  /* display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 16px; */
  padding-top: 15px;

  @media screen and (max-width: 1000px) {
    gap: 0;
    padding-top: 0;
  }
}

.footer_sub_link p {
  padding-top: 0;
}

@media screen and (max-width: 1000px) {
  .footer_sub_link p {
    width: 50%;
    padding-top: 0;
    letter-spacing: 0em;
  }
}

.footer_sub_link a {
  font-weight: 400;
  letter-spacing: 0;
}

.footer_global_link {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.footer_global_link p {
  width: 50%;
}

@media screen and (max-width: 1000px) {
  .footer_global_link p {
    width: 33.33%;
  }
}

.footer_global_link p {
  padding-top: 0;
}

.footer_cp {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 13px;
  color: #151515;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1200px) {
  .footer_cp {
    right: 3%;
  }
}

@media screen and (max-width: 1000px) {
  .footer_cp {
    width: 90%;
    margin: 0 auto;
    padding-top: 0;
    right: auto;
    position: relative;
    font-size: 3vw;
  }
}

/*------------------------------------------------------------------------------

footer上のTOPへ戻る

------------------------------------------------------------------------------*/
.back_to_top {
  position: absolute;
  right: 20px;
  top: -45px;
  z-index: 990;
}

.back_to_top a {
  display: block;
  width: 30px;
  height: 30px;
}

.back_to_top a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  width: 8px;
  height: 8px;
  border-left: 2px solid #151515;
  border-top: 2px solid #151515;
  -webkit-transform: rotate(45deg) translateY(-2px);
  -ms-transform: rotate(45deg) translateY(-2px);
  transform: rotate(45deg) translateY(-2px);
  -webkit-transform-origin: right 50% 0;
  -ms-transform-origin: right 50% 0;
  transform-origin: right 50% 0;
}

.back_to_top span {
  display: inline-block;
  text-indent: -9999px;
  overflow: hidden;
}