@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,600,700&display=swap');

/*---------------------------------------
common
---------------------------------------*/

html {
  font-size: 62.5%;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.75em;
  color: #000;
}
strong,
b {
  font-weight: 700;
}

sup {
  font-size: 75%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

a{
	transition: 0.4s ;
	text-decoration:none;
  color: #575757;
}

a:hover {
  opacity: 0.6;
  text-decoration: underline;
}

a[href^="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

.pc{
	display:block !important;
}

.sp{
	display: none !important;
}

@media screen and (max-width:767px) {
	.pc{
		display:none !important;
	}
	.sp{
		display:block !important;
		line-height:1.4;
	}

	img{
		width:100%;
		height:auto;
	}
  body {
    font-size: 3.5vw;
  }
}

/*---------------------------------------
header
---------------------------------------*/
header {
  position: relative;
  height: 915px;
}
.group_logo_area {
  position: absolute;
  width: 100%;
  height: 140px;
  z-index: 900;
}
.group_logo_area p {
  text-align: right;
  padding-right: 65px;
  padding-top: 35px;
}
.group_logo_area p img {
  width: 156px;
}
.head_bg {
  position: absolute;
  background-image: url('../images/head_img.png');
  background-repeat: no-repeat;
  background-position: right 140px;
  width: 100%;
  height: 915px;
  z-index: 901;
}
.head_area {
  position: relative;
  background-color: rgba(224,224,224,0.4);
  height: 255px;
}
.head_area h1 {
  padding: 65px 0 0 0;
}
.head_area h1 img {
  width: 265px;
}
.head_box {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  width: 1080px;
}
.head_box p.head_text1 {
  padding: 150px 0 0 15px;
  color: #6b6b6b;
}
.head_box h2 {
  font-size: 5.8rem;
  font-weight: 500;
  padding: 20px 0 0 22px;
  color: #045ba4;
}
.head_box p.head_text2 {
  padding: 60px 0 0 22px;
  line-height: 2em;
}
@media screen and (max-width:767px) {
  header {
    position: relative;
    height: auto;
    padding-bottom: 70%;
  }
  .group_logo_area {
    position: absolute;
    width: 100%;
    height: auto;
  }
  .group_logo_area p {
    text-align: right;
    padding-right: 6.5%;
    padding-top: 4%;
  }
  .group_logo_area p img {
    width: 23.2%;
  }
  .head_bg {
    background-image: url('../images/head_img_sp.png');
    background-position: right bottom;
    background-size: 100% auto;
    width: 94.67%;
    height: auto;
    padding-top: 93%;
    margin-left: 5.33%;

  }
  .head_area {
    position: relative;
    background-color: rgba(224,224,224,0.4);
    height: 255px;
  }
  .head_box {
    position: relative;
    left: 0;
    transform: translate(0, 0);
    width: 100%;
  }
  .head_box h1 {
    padding: 9% 5.33% 3% 5.33%;
  }
  .head_box h1 img {
    width: 38.93%;
  }
  .head_box p.head_text1 {
    padding: 70% 0 0 9.33%;
    font-size: 3vw;
  }
  .head_box h2 {
    font-size: 8.5vw;
    padding: 1% 0 0 9.33%;
  }
  .head_box p.head_text2 {
    padding: 3% 0 0 9.33%;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
    -1px 1px 0 #FFF, 1px -1px 0 #FFF,
    0px 1px 0 #FFF,  0-1px 0 #FFF,
    -1px 0 0 #FFF, 1px 0 0 #FFF;
  }
}

/*---------------------------------------
contents
---------------------------------------*/
.contents_area {
  width: 100%;
  background-color: rgba(224,224,224,0.2);
  margin: 0 0 0 0;
  padding: 100px 0 100px 0;
}
.contents_area .contents_box {
  width: 920px;
  margin: 0 auto 0 auto;
}
.contents_area .contents_box p.head_text1 {
  padding: 0 0 0 0;
  color: #6b6b6b;
}
.contents_area .contents_box h2 {
  font-size: 5.8rem;
  font-weight: 500;
  padding: 24px 0 5px 0;
  color: #045ba4;
}
.contents_area .contents_box .contents_top {
  width: 600px;
  margin: 50px auto 0 auto;
  background-color: #fff;
  box-shadow: 7px 7px 7px 7px rgba(141,141,141,0.2);
  padding: 75px 70px 75px 70px;
}
.contents_area .contents_box .contents_top .contents_bg {
  background-image: url('../images/cont_bg.png');
  background-size: 45% auto;
  background-position: right top;
  background-repeat: no-repeat;
}

.contents_area .contents_box .contents_top ul {
  margin: 0 0 0 1em;
  padding: 40px 0 0 0;
}
.contents_area .contents_box .contents_top ul li {
  list-style: disc;
  margin: 0 0 0.75em 0;
}
.contents_area .contents_box .contents_top ul.head_text2 {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  width: 50%;
}
.contents_area .contents_box .contents_top ul.head_text2 li {
  list-style: none;
  margin: 0 0 0 0;
  border-bottom: 1px solid #c0c0c0;
  padding: 0.75em 0 0.75em 0;
}
.contents_area .contents_box .contents_top h3 {
  font-size: 2.4rem;
  font-weight: 500;
  padding: 70px 0 5px 0;
  color: #045ba4;
}
.contents_area .contents_box .contents_top h3::before {
  content: "\02666";
  color: #045ba4;
}
.contents_area .contents_box .contents_top p.head_text2 {
  padding: 50px 0 0 0;
  line-height: 4em;
}
@media screen and (max-width:767px) {
  .contents_area {
    width: 100%;
    background-color: #eee;
    margin: 10% 0 0 0;
    padding: 10% 0 10% 0;
  }
  .contents_area .contents_box {
    width: 100%;
    margin: 0 auto 0 auto;
  }
  .contents_area .contents_box p.head_text1 {
    padding: 0 0 0 9.33%;
    font-size: 3vw;
  }
  .contents_area .contents_box h2 {
    font-size: 8.5vw;
    padding: 0 0 0 9.33%;
  }
  .contents_area .contents_box .contents_top {
    width: calc(100% - 20.66%);
    margin: 5% auto 0 auto;
    padding: 7% 5% 7% 5%;
  }
  .contents_area .contents_box .contents_top .contents_bg {
    background-image: url('../images/cont_bg.png');
    background-size: 100% auto;
    background-position: center bottom;
    background-repeat: no-repeat;
  }
  .contents_area .contents_box .contents_top ul {
    margin: 0 0 0 1em;
    padding: 20px 0 0 0;
  }
  .contents_area .contents_box .contents_top ul li {
    font-size: 3vw;
  }
  .contents_area .contents_box .contents_top ul.head_text2 {
    width: 100%;
    padding-bottom: 85%;
  }
  .contents_area .contents_box .contents_top ul.head_text2 li {
  }
  .contents_area .contents_box .contents_top h3 {
    font-size: 5vw;
    padding: 50px 0 5px 0;
  }
  .contents_area .contents_box .contents_top p.head_text2 {
    padding: 5% 0 0 0;
  }
}

/*---------------------------------------
footer
---------------------------------------*/
footer {
  background-color: #045ba4;
  padding: 70px 0 70px 0;
}
footer p {
  font-size: 1.4rem;
  text-align: center;
  color: #fff;
}

@media screen and (max-width:767px) {
  footer {
    padding: 5% 0 5% 0;
  }
  footer p {
    font-size: 2vw;
  }
}
