@charset "utf-8";
/* ===================================================================
 style info : ヘッダーやフッターなどサイト内共通
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/
body {
  xfont-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  xfont-family: "Lucida Grande", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  xfont-family: "Roboto", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  xfont-family: "Roboto", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', sans-serif;
  xfont-family: Lato, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  xfont-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝","MS PMincho", serif;
  font-family: Lato, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  background: #ffffff;
  color: #333333;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.15em;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

/*----------------------------------------------------
    リンク
----------------------------------------------------*/
a:link,
a:visited,
a:hover,
a:active {
  color: #333333;
  text-decoration: none;
  transition: all .5s ease;
}

:target:before {
  content: "";
  display: block;
  height: 13.5rem;/*ヘッダーを固定にした場合に高さによって数値は変わる*/
  margin-top: -13.5rem;/*ヘッダーを固定にした場合に高さによって数値は変わる*/
}

/* -----------------------------------------------------------
    強制改行
----------------------------------------------------------- */
.word-break {
  word-break: break-all;
}

/*----------------------------------------------------
    toggle-panel
----------------------------------------------------*/
#panel-btn {
  display: none;
}

/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header {
  display: flex;
  background-color: #ffffff;
  color: #ffffff;
  width: 900px;
  margin: 30px auto 0;
  border-bottom: 1px solid #009e96;
}

header .inner {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}

header .site_id {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFF;
  color: #13505b;

}

header .contact_box a {
  display: block;
  font-size: 17px;
  font-weight: bold;
  color: #00a8ff;
  border-bottom: 1px solid #00a8ff;
  margin-bottom: 15px;
}

header .contact_box a:hover {
  color: #009e96;
  border-bottom: 1px solid #009e96;
}

/* -----------------------------------------------------------
    #g_nav
----------------------------------------------------------- */
#g_nav {
}

#g_nav ul {
  display: flex;
  align-items: center;
}

#g_nav ul li:not(:first-of-type) {
  margin-left: 1.5vw;
}

/* -----------------------------------------------------------
    inner
----------------------------------------------------------- */
.inner {
  width: 900px;
  margin: 0 auto;
}

/* -----------------------------------------------------------
    .grid_box
----------------------------------------------------------- */
.grid_box.flex {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 2vw);
  margin-top: 2.5vw;
}

.grid_box.flex .box {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000;
  width: calc(100% / 4 - 2vw);
  min-height: 100px;
  margin-top: 2vw;
  margin-left: 2vw;
  padding: 2vw;
}

.grid_box.flex .box:nth-of-type(-n+4) {
  margin-top: 0;
}

.grid_box.flex .box:nth-of-type(4n+1) {
  margin-left: 0;
}

/* -----------------------------------------------------------
    #wrapper
----------------------------------------------------------- */
#wrapper {
}

/* -----------------------------------------------------------
    #container
----------------------------------------------------------- */
#container {
}

/* -----------------------------------------------------------
    main
----------------------------------------------------------- */
main {
  background: #FFFFFF;
}

/* -----------------------------------------------------------
    .contents
----------------------------------------------------------- */
.contents {
  background: #FFF;
  color: #000;
}

.contents section:not(:first-of-type) {
  margin-top: 5vw;
}

.contents section .f_box {
  margin-top: 2.5vw;
}

.contents section p:not(:first-of-type) {
  margin-top: 1vw;
}

/* -----------------------------------------------------------
    aside
----------------------------------------------------------- */
aside {
  background: #119da4;
  color: #ffffff;
  padding: 5vw;
}

/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */
footer {
  margin: 20px 0 50px;
}

footer .inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

footer .inner img {
  width: 200px;
}



/* -----------------------------------------------------------
    .pagetop
----------------------------------------------------------- */
.pagetop {
  text-align: center;
  margin-top: 5vw;
}

/* -----------------------------------------------------------
    img:hover
----------------------------------------------------------- */
a img:hover {
  transition: all .5s ease;
}


/* -----------------------------------------------------------
    stepBar
----------------------------------------------------------- */
.stepBar_box {
  width: 1100px;
  margin: 0 auto;
}

.stepBar {
  display: flex;
  position: relative;
  margin: 30px auto;
  text-align: center;
}
.stepBar li {
  font-size: 18px;
  list-style: none;
  position: relative;
  width: 33.333%;
  font-size: 18px;
  color: #DDD;
}
.stepBar li:after {
  background: #dddddd;
  content: "";
  width: calc(100% - 24px);
  height: 4px;
  position: absolute;
  left: calc(-50% + 12px);
  bottom: 23px;
}


.stepBar li:first-child:after {
  display: none;
}
.stepBar li span {
  background: #dddddd;
  color: #ffffff;
  display: inline-block;
  height: 24px;
  margin-bottom: 5px;
  line-height: 24px;
  width: 24px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  margin-top: 10px;
}

.stepBar .visited{
  color: #4D648D;
  font-weight: bold;
}

.stepBar .visited:after {
  background: #4D648D;
}
.stepBar .visited span {
  background: #4D648D;
}

