@charset "utf-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
/* ===================================================================
 style info : ヘッダーやフッターなどサイト内共通
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/
body {
  font-family: Lato, "Noto Sans JP", 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";
}


.logo_g {
  display: none;
}
/*----------------------------------------------------
    リンク
----------------------------------------------------*/
a:link,
a:visited,
a:hover,
a:active {
  color: #333333;
  text-decoration: none;
}

: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;
  align-items: flex-end;
  justify-content: flex-end;
  flex-direction: column;
  color: #ffffff;
  transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}
.hd_head{
	font-size: 10px;
    font-weight: normal;
	padding-left: 2vw;
	position: absolute;
    top: 0;
    z-index: 1;
}
header .inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 2vw 5vw;
}

header .tel_area {
  margin-top: 1vw;
  margin-right: 5vw;
}

header .tel_area a {
  border: 3px solid #658B85;
  display: block;
  font-family: 'Open Sans', sans-serif;
  font-size: 36px;
  line-height: 40px;
  font-weight: bold;
  color: #658B85;
  background: #FFF;
  padding: 6px 30px;
  border-radius: 40px;
  letter-spacing: -0.5px;
}

header .tel_area a span {
  display: flex;
  align-items: center;
}

header .tel_area a span::before {
  content:"";
  background-image: url("../../img/top_new/firstview/telephone.svg");
  background-repeat: no-repeat;
  background-size: contain;
  height:45px;
  width:45px;
  display:inline-block 
}

header .site_id {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f7fff7;
  color: #13505b;
  width: 10%;
  height: 50px;
  min-height: 50px;
}

/* -----------------------------------------------------------
    #g_nav
----------------------------------------------------------- */
#g_nav {
  z-index: 10;
}

#g_nav ul {
  display: flex;
  align-items: center;
}

#g_nav ul li a {
  color: #FFF;
  font-size: 20px;
  line-height: 1;
}

#g_nav ul li a:hover {
  color: #A0EAAC;
}


#g_nav ul li:not(:first-of-type) {
  margin-left: 2vw;
}

#g_nav ul li:last-of-type a span {
  display: flex;
  align-items: center;
}

#g_nav ul li:last-of-type span::before {
  content: "\f0e0";
  font-family: "FontAwesome";
  display: flex;
  align-items: center;
  margin-right: 5px;
}

#g_nav ul li:last-of-type span::before:hover {
  color: #A0EAAC;
}

/* -----------------------------------------------------------
    inner
----------------------------------------------------------- */


/* -----------------------------------------------------------
    .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: #FFF;
}

/* -----------------------------------------------------------
    .contents
----------------------------------------------------------- */
.contents {
  background: #0c7489;
  color: #ffffff;
  padding: 3vw;
}

.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: #F8F8F4;
  padding: 5vw;
}

/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */


footer a:link, footer a:visited,footer a:active {
    color: #ffffff;
    text-decoration: none;
}

.footer_container a:hover {
  color: #A0EAAC !important;
}

/* -----------------------------------------------------------
    .pagetop
----------------------------------------------------------- */
.pagetop {
  text-align: center;
  margin-top: 5vw;
}

/* -----------------------------------------------------------
    img:hover
----------------------------------------------------------- */
a img:hover {
  transition: all .5s ease;
}


header.is-fixed {
  position: fixed;
  z-index: 999999;
  width: 100%;
}

header.is-fixed .logo_g {
  display: block;
  width: 230px;
}

header.is-fixed .inner {
  background-color:rgba(255,255,255,0.95);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

header.is-fixed .inner #g_nav ul li a {
  color: #000;
}

