@charset "UTF-8";
/*************************************************
	全体
**************************************************/
*,
::before,
::after {
  margin: 0;
  padding: 0;
  border: 0;
  /*Safari*/
  /*Firefox*/
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

/*
* 1. デバイスの向きを変えた後にユーザーの文字サイズ調整を防ぐ
* 2. remの基準となるフォントサイズ
*/
html {
  font-size: 62.5%;
  /*2*/
  -ms-text-size-adjust: 100%;
  /*1*/
  -webkit-text-size-adjust: 100%;
  /*1*/
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*リストスタイルを消去*/
ul,
ol {
  list-style: none;
}

/*デフォルトでcollapse*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
  * IE9+用に、displayプロパティを定義。
  * 1. Edge, IE, Firefox用、details要素とsummary要素に「display: block;」を定義。
  * 2. IE, Firefox用、main要素に「display: block;」を定義。
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/*************************************************
	フォーム類のスタイルをリセットする
**************************************************/
input,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  /*Chromeのフォーカス時アウトラインを削除*/
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  resize: none;
}

select {
  /*Firefoxのセレクト矢印を削除*/
  text-indent: .01px;
  text-overflow: "";
}

select::-ms-expand {
  /*IEのセレクト装飾を非表示*/
  display: none;
}

textarea {
  overflow: auto;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  border: 0;
  cursor: pointer;
}

[disabled] {
  cursor: default;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

button:-moz-focusring,
input:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*************************************************
	テキスト・イメージ類スタイル
**************************************************/
a {
  background-color: transparent;
  /*IE10のリンクバックグラウンドカラーを透明にする*/
  text-decoration: none;
}

a:active,
a:hover {
  outline: 0;
}

b,
strong {
  font-weight: bold;
}

img {
  border-style: none;
  /*リンク内画像のborderを消去*/
  vertical-align: bottom;
  /*画像下のスキマを消去*/
}

svg:not(:root) {
  overflow: hidden;
}

body {
  padding-top: 70px;
  color: #333;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, Arial, sans-serif;
}

@media screen and (max-width: 1024px) {
  body {
    padding: 60px 0 50px;
  }
}

@media screen and (min-width: 1025px) {
  .is-pc.is-tab,
  .is-pc {
    display: inherit !important;
  }
  .is-tab {
    display: none !important;
  }
  .is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .is-pc {
    display: none !important;
  }
  .is-pc.is-tab,
  .is-tab {
    display: inherit !important;
  }
  .is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 480px) {
  .is-pc {
    display: none !important;
  }
  .is-pc.is-tab,
  .is-tab {
    display: none !important;
  }
  .is-sp {
    display: inherit !important;
  }
}

.header {
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
}



.hd-nav {
	margin:auto;
	width:1000px;
}

.hd-nav-list {
  display: flex;

}

.hd-nav-item:first-child {
  margin-right: auto;
  padding: 1em 0;
}

.hd-nav-logo {
  height: 46px;
}

.hd-nav-img {
  height: 70px;
}

.textarea_box {
	width:100%;
	height:200px;
     padding: .75em;
    border: 2px solid #ccc;
    font-size: 1.6rem;
}


@media screen and (max-width: 1024px) {
  .hd-nav-item:first-child {
    width: 100%;
    padding: 1.45em 0;
    text-align: center;
  }
  .hd-nav-logo {
    height: 32px;
  }
}

@media screen and (max-width: 480px) {
  .hd-nav-item:first-child {
    width: 480px;
    padding: 1.45em 105px ;
    text-align: left;
  }
  .hd-nav-logo {
    height: 32px;
  }
}

.footer {
  padding: .75em 1em;
  background: #0058a3;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}

.ft-link {
  margin:5px 0 15px;
  color: #fff;
}
.ft-link a{
  color: #fff;
}
.ft-copyright {
  color: #fff;
}


.ft-nav {
  display: none;
  justify-content: space-between;
  z-index: 10;
  position: fixed;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 480px) {
  .ft-nav {
    display: flex;
  }
}

.ft-nav-item {
  display: block;
  width: 50%;
}

.ft-nav-item img {
  width: 100%;
}

.sec-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.sec-ttl {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}

.strong {
  color: #b01c46;
}

@media screen and (max-width: 480px) {
  .sec-ttl {
    font-size: 1.9rem;
    letter-spacing: -.05em;
  }
  .sec-inner {
    padding: 0 5%;
  }
}

@media screen and (max-width: 1024px) {
  .sec-inner {
    padding: 0 5%;
  }
}

.visual {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  max-height: 580px;
  background-image: url(../img/sec1_bg.jpg);
  background-size: cover;
  background-position: center top;
}

@media screen and (max-width: 480px) {
.visual {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  max-height: 540px;
  background-image: url(../img/sec1_sp_bg.jpg);
  background-size: cover;
  background-position: center top;
}
}

.visual_txt {
  width: 90%;
  max-width: 580px;
}

.sec2 .sec-inner {
  margin-top: -40px;
  padding: 6em 10em;
  background-image: url(../img/sec2_bg.png);
  background-size: 100%;
  background-position: top center;
  background-repeat: no-repeat;
}

.sec2-ttl {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  letter-spacing: .05em;
}

.sec2-ttl .strong {
  font-size: 3.6rem;
}

.sec2-list {
  margin-top: 3em;
}

.sec2-item {
  position: relative;
  padding: 1em 0 1em 2.5em;
  border-top: 1px solid #cdcdcd;
  font-size: 2rem;
  line-height: 1.5;
}

.sec2-item::before {
  position: absolute;
  top: 1em;
  left: 0;
  width: 3rem;
  height: 3rem;
  background-image: url(../img/ico_check.png);
  background-size: cover;
  content: "";
}

@media screen and (max-width: 480px) {
  .sec2 .sec-inner {
    padding: 4em 5%;
  }
  .sec2-ttl {
    font-size: 2.2rem;
  }
  .sec2-ttl .strong {
    font-size: 2.6rem;
  }
  .sec2-item {
    padding: 1em 0 1em 2em;
    font-size: 1.6rem;
  }
  .sec2-item::before {
    width: 2.4rem;
    height: 2.6rem;
  }
}

.sec3 {
  position: relative;
  padding: 5em 0;
  border-top: 4px solid #0058a3;
  background: #f0f0f0;
}

.sec3::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 17.3px 10px 0 10px;
  border-color: #0058a3 transparent transparent transparent;
  content: "";
}

.sec3 .sec-ttl {
  color: #0058a3;
}

.sec3-list {
  margin-top: 5.5em;
}

.sec3-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-size: 1.8rem;
  line-height: 1.5;
}

.sec3-item:nth-child(2n) {
  flex-direction: row-reverse;
}

.sec3-item-inner {
  width: 50%;
}

.sec3-item-inner.caption {
  padding: 1em 2em;
}

.sec3-item-img {
  width: 100%;
}

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

.cv-link {
  transition: .2s ease;
}

.cv-link:hover {
  opacity: .7;
}

@media screen and (max-width: 1024px) {
  .cv-img {
    width: 96%;
  }
}

@media screen and (max-width: 480px) {
  .sec3-item {
    font-size: 1.4rem;
  }
  .sec3-item + .sec3-item {
    margin-top: 2em;
  }
  .sec3-item-inner {
    width: 100%;
  }
  .sec3-item-inner.caption {
    width: 100%;
    padding: 1em 0;
  }
  .cv-area {
    padding: 0 3%;
  }
  .cv-img {
    width: 100%;
    margin-left: 2%;
  }
}

.sec4 {
  padding: 4em 0;
  background: #0058a3;
  color: #fff;
}

.sec4-item {
  margin-top: 3em;
}

.sec4-item + .sec4-item {
  margin-top: 5em;
}

.sec4-item-ttl1 {
  position: relative;
  padding: .5em .5em .5em 5em;
  background: #fff;
  color: #0058a3;
  font-size: 2rem;
  font-weight: bold;
}

.sec4-item-ttl1 span {
  position: absolute;
  top: 0;
  left: 0;
  padding: .5em .75em;
  background: #bc9669;
  color: #fff;
}

.sec4-head {
  display: flex;
  flex-direction: row-reverse;
}

.sec4-head-item {
  width: 75%;
  padding-right: 2em;
}

.sec4-head-img {
  width: 25%;
}

.sec4-head-img img {
  width: 100%;
}

.sec4-item-ttl2 {
  margin: 1.5em 0 .75em;
  font-size: 2rem;
}

.sec4-item-ttl2::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: .25em;
  border-radius: 1em;
  background: #bc9669;
  vertical-align: middle;
  content: "";
}

.sec4-txt {
  font-size: 1.4rem;
  line-height: 1.5;
}

.sec4-txt .strong {
  color: #fdf643;
  font-weight: bold;
}

@media screen and (max-width: 480px) {
  .sec4-item-ttl1 {
    font-size: 1.5rem;
  }
  .sec4-item-ttl2 {
    font-size: 1.5rem;
  }
  .sec4-head {
    display: block;
  }
  .sec4-head-item {
    width: 100%;
    padding-right: 0;
  }
  .sec4-head-img {
    float: right;
    width: 40%;
    margin: 5em 0 1em 1em;
  }
}

.sec5 {
  padding: 5em 0;
}

.sec5 .sec-inner {
  position: relative;
}

.sec5 .sec-ttl {
  color: #0058a3;
}

.sec-caption {
  margin: 1em 0 2em;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.sec5-item {
  position: relative;
}

.sec5-item + .sec5-item {
  margin-top: 8em;
}

.sec-caption + .sec5-item::before {
  display: none;
}

.sec5-item::before {
  position: absolute;
  top: -5em;
  right: 52%;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 20px 12px 0 12px;
  border-color: #b01c46 transparent transparent transparent;
  content: "";
}

.sec5-item-ttl {
  padding: .85em .5em;
  border-left: 6px solid #bc9669;
  background: #0058a3;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
}

.sec5-item-txt {
  z-index: 5;
  margin-top: 1em;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
}

.sec5-item-wrap {
  display: flex;
  justify-content: space-between;
}

.sec5-item-wrap .sec5-item {
  width: 48%;
  margin-top: 8em;
}

.sec5-item-wrap .sec5-item::before {
  right: 0;
}

.sec5-img {
  position: absolute;
  top: 15%;
  right: 2em;
}

@media screen and (max-width: 480px) {
  .sec5-item + .sec5-item {
    margin-top: 6em;
  }
  .sec5-item::before {
    top: -4em;
  }
  .sec-caption {
    font-size: 1.5rem;
  }
  .sec5-item-ttl {
    padding: .5em;
    font-size: 1.8rem;
  }
  .sec5-item-txt {
    font-size: 1.4rem;
  }
  .sec5-item-wrap .sec5-item {
    margin-top: 6em;
  }
  .sec5-img {
    position: absolute;
    top: 22%;
    right: 1em;
    width: 37vw;
  }
}

.sec6 {
  padding: 6em 0;
  background: #f0f0f0;
}

.sec6 .sec-ttl {
  color: #0058a3;
}

.sec6-profile-wrap {
  display: flex;
  flex-wrap: wrap;
}

.sec6-profile-name {
  width: 100%;
  margin-top: 1.5em;
  padding: .75em;
  background: #bc9669;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.sec6-profile-img {
  width: 25%;
  padding: 3em 5em;
  text-align: center;
}

.sec6-profile-img img {
  width: 100%;
}

.sec6-profile-content {
  width: 75%;
  padding: 3em 0 1em;
}

.sec6-profile-table {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  text-align: left;
}

.sec6-profile-table th,
.sec6-profile-table td {
  padding: .25em 0;
}

.sec6-profile-table th {
  width: 12%;
  color: #bc9669;
}

.sec6-profile-table td {
  line-height: 1.5;
}

.sec6-profile-text {
  font-size: 1.6rem;
  line-height: 2;
}

.sec6-profile-text span {
  color: #bc9669;
  font-weight: bold;
}

.sec6-profile-comment {
  margin-top: 2em;
  padding: 1em;
  background: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 480px) {
  .sec6-profile-name {
    padding: .5em;
    font-size: 1.8rem;
  }
  .sec6-profile-content {
    padding: 1em 0;
  }
  .sec6-profile-img {
    padding: 0 .5em;
  }
  .sec6-profile-img img {
    margin-top: -2em;
  }
  .sec6-profile-text {
    padding-left: 1em;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .sec6-profile-comment {
    width: 90vw;
    margin-left: -33%;
  }
}

.sec7 {
  padding: 4em 0;
  background: #0058a3;
}

.sec7 .sec-ttl {
  color: #fff;
}

.sec7-faq-ttl {
  width: 100%;
  margin-top: 1.5em;
  padding: .75em;
  background: #bc9669;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.sec7-faq-list {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
}

.sec7-faq-question,
.sec7-faq-answer {
  position: relative;
  width: 100%;
  margin-top: 1.5em;
  padding: 1em 3em 1em 4.5em;
  line-height: 1.5;
}

.sec7-faq-question::before,
.sec7-faq-answer::before {
  position: absolute;
  top: 0;
  left: 0;
  padding: 1em 1.25em;
}

.sec7-faq-question {
  color: #fdf643;
  cursor: pointer;
  transition: .2s ease;
}

.sec7-faq-question:hover {
  opacity: .7;
}

.sec7-faq-question::before {
  background: #bc9669;
  color: #fff;
  content: "Q";
}

.sec7-faq-question::after {
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 12px 7px 0 7px;
  border-color: #fff transparent transparent transparent;
  content: "";
}

.sec7-faq-question.is-active::after {
  border-width: 0 7px 12px 7px;
  border-color: transparent transparent #fff transparent;
}

.sec7-faq-answer {
  display: none;
  padding: 0 1.5em 1.5em 4.5em;
}

.sec7-faq-answer::before {
  background: #fff;
  color: #0058a3;
  content: "A";
}

@media screen and (max-width: 480px) {
  .sec7-faq-question,
  .sec7-faq-answer {
    padding: 0 2em 1em 4em;
    line-height: 1.4;
  }
  .sec7-faq-question::before,
  .sec7-faq-answer::before {
    padding: .75em 1em;
  }
  .sec7-faq-question::after {
    top: 1.5em;
    bottom: auto;
    border-width: 8px 5px 0 5px;
  }
  .sec7-faq-question.is-active::after {
    border-width: 0 5px 8px 5px;
    border-color: transparent transparent #fff transparent;
  }
}

.sec8 {
  padding: 4em 0;
  background-image: url(../img/sec8_bg.jpg);
  background-size: cover;
}

@media screen and (max-width: 480px) {
.sec8 {
  background-image: url(../img/sec8_sp_bg.jpg);
}
}


.sec8 .sec-ttl {
  margin-bottom: 1.5em;
  color: #fff;
  font-size: 2.8rem;
}

.sec8 .sec-ttl span {
  color: #fdf643;
  font-size: 4rem;
  text-decoration: underline;
}

.sec8-txt {
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.4;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}

.sec8-txt + .sec8-txt {
  margin-top: 1em;
}

@media screen and (max-width: 480px) {
  .sec8 .sec-ttl {
    font-size: 1.6rem;
  }
  .sec8 .sec-ttl span {
    display: inline-block;
    margin-bottom: .15em;
    font-size: 3rem;
  }
  .sec8-txt {
    font-size: 1.4rem;
  }
}

.sec9 {
  padding: 4em 0 40em;
  background-image: url(../img/sec9_bg.jpg);
  background-size: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
}

.sec9 .sec-ttl {
  color: #0058a3;
}

.sec9-list {
  margin-top: 3em;
}

.sec9-item {
  position: relative;
  padding: 1em 1em 1em 2.5em;
  font-size: 1.8rem;
  font-weight: bold;
}

.sec9-item::before {
  position: absolute;
  top: .5em;
  left: 0;
  width: 3rem;
  height: 3rem;
  background-image: url(../img/ico_check.png);
  background-size: cover;
  content: "";
}

@media screen and (max-width: 480px) {
  .sec9 {
    padding: 4em 0 22em;
    background-size: 200%;
  }
  .sec9-item {
    padding: 1em 0 1em 2em;
    font-size: 1.6rem;
  }
  .sec9-item::before {
    position: absolute;
    top: 1em;
    left: 0;
    width: 1.8rem;
    height: 2rem;
  }
}

.sec10 {
  padding: 4em 0;
}

.sec10 .sec-ttl {
  color: #0058a3;
}

.contact-table {
  width: 100%;
}

.contact-table tr {
  border-top: 2em solid #fff;
}

.contact-table th,
.contact-table td {
  position: relative;
  font-size: 1.8rem;
  text-align: left;
}

.contact-table th {
  width: 30%;
  padding: .75em;
  background: #0058a3;
  color: #fff;
}

.contact-table th span {
  color: #f5386e;
  margin-left: 1em;
  font-size: 1.4rem;
  font-weight: bold;
  vertical-align: middle;
}

.contact-table input {
  display: block;
  width: 100%;
  height: 100%;
  padding: .75em;
  border: 2px solid #ccc;
  font-size: 1.6rem;
}

.contact-table input:hover, .contact-table input:focus {
  border-color: #0058a3;
}

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

.contact-submit {
  height: 70px;
  margin-top: 2em;
  transition: .2s ease;
}

.contact-submit:hover {
  opacity: .7;
}

.contact-submit img {
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .contact-table th,
  .contact-table td {
    display: block;
    width: 100%;
  }
  .contact-submit {
    width: 100%;
    height: auto;
  }
  .contact-submit img {
    width: 100%;
  }
}

.thanks-txt {
  margin-top: 1em;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
}

