@charset "UTF-8";
/*--- import -------------------------------------*/
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  word-break: break-word;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent; }

html, body {
  overflow-x: hidden; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

li {
  list-style-type: none; }

blockquote, q {
  quotes: none; }
  blockquote::before, blockquote::after, q::before, q::after {
    content: '';
    content: none; }

a {
  text-decoration: none;
  color: inherit; }

img, picture {
  vertical-align: top;
  max-width: 100%; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input, select {
  vertical-align: middle; }

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

/*------------------------------------- import ---*/
/*
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/NotoSerifCJKjp/NotoSerifCJKjp-ExtraLight.otf') format('opentype');
}
*/
img {
  -webkit-backface-visibility: hidden; }

body {
  position: relative;
  background: #f0ede4;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Serif JP', serif;
  font-weight: 200;
  text-align: center;
  font-size: 18px;
  line-height: 1.8;
  color: #231815;
  letter-spacing: 0.05rem; }
  @media screen and (max-width: 1200px) {
    body {
      font-size: 1.5vw; } }
  @media screen and (max-width: 960px) {
    body {
      font-size: 1.875vw; } }
  @media screen and (max-width: 750px) {
    body {
      font-size: 3.7333333333vw; } }

.pc {
  display: block !important; }
  @media screen and (max-width: 750px) {
    .pc {
      display: none !important; } }

.pc_960 {
  display: block !important; }
  @media screen and (max-width: 960px) {
    .pc_960 {
      display: none !important; } }

.sp_960 {
  display: none !important; }
  @media screen and (max-width: 960px) {
    .sp_960 {
      display: block !important; } }

.sp {
  display: none !important; }
  @media screen and (max-width: 750px) {
    .sp {
      display: block !important; } }

.sp_480 {
  display: none !important; }
  @media screen and (max-width: 480px) {
    .sp_480 {
      display: block !important; } }

.box_in {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto; }
  @media screen and (max-width: 1480px) {
    .box_in {
      padding: 0 2.8571428571vw; } }

.box_in1214 {
  width: 100%;
  max-width: 1214px;
  margin: 0 auto; }
  @media screen and (max-width: 1290px) {
    .box_in1214 {
      padding: 0 3.294892916vw; } }

.box_in_1000 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1080px) {
    .box_in_1000 {
      padding: 0 4vw; } }
  @media screen and (max-width: 750px) {
    .box_in_1000 {
      width: 90%; } }

.center {
  display: flex;
  justify-content: center;
  align-items: center; }

.mv {
  width: 100%;
  margin: 0 auto; }
  .mv .mv_item {
    width: 100%; }

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%; }

.under_line a {
  position: relative; }
.under_line a:after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #062f60;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s; }
.under_line a:hover::after {
  transform: scale(1, 1); }

.header {
  width: 100%;
  z-index: 99; }
  .header .lang ul {
    display: flex;
    justify-content: flex-end;
    align-content: center;
    font-size: 16px; }
    .header .lang ul li {
      padding: 20px;
      white-space: nowrap; }
      .header .lang ul li a {
        display: inline-block; }
    .header .lang ul .ja {
      position: relative; }
      .header .lang ul .ja:after {
        content: '';
        display: inline-block;
        width: 1px;
        height: 15px;
        background: #000;
        position: absolute;
        right: -5px;
        top: 50%;
        transform: translateY(-50%); }
  .header .h_top {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .header .left {
    text-align: left; }
    .header .left p {
      font-size: 21px;
      color: #062f60;
      font-weight: 500; }
    .header .left .logo {
      margin-top: 10px; }
      .header .left .logo a {
        display: block; }
  .header .right {
    display: flex;
    justify-content: flex-end;
    align-content: center; }
    .header .right .tel {
      margin-right: 20px;
      width: 250px; }
      .header .right .tel a {
        color: #062f60; }
        .header .right .tel a .flex {
          display: flex;
          align-items: center;
          justify-content: space-around; }
          .header .right .tel a .flex .number {
            font-size: 34px;
            font-weight: 500;
            line-height: 1;
            white-space: nowrap; }
        .header .right .tel a .p1 {
          font-size: 13px;
          line-height: 1.3;
          margin-top: 10px;
          font-weight: 600; }
    .header .right .contact {
      width: 237px; }
      .header .right .contact a {
        padding: 15px 40px;
        background: #062f60;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 4px;
        white-space: nowrap; }
        .header .right .contact a .icon {
          display: flex;
          margin-right: 10px;
          justify-content: center;
          align-items: center; }
          .header .right .contact a .icon img {
            width: 24px; }

@media screen and (max-width: 1400px) {
  .header .lang ul {
    font-size: 14px; }
    .header .lang ul li {
      padding: 1.25vw; }
    .header .lang ul .ja:after {
      width: 1px;
      height: 0.9375vw;
      right: -0.3125vw; }
  .header .left p {
    font-size: 16px; }
  .header .left .logo {
    margin-top: 0.625vw; }
  .header .right .tel {
    margin-right: 1.25vw; }
  .header .right .contact a {
    padding: 0.9375vw 2.5vw;
    border-radius: 0.25vw; }
    .header .right .contact a .icon {
      margin-right: 0.625vw; } }
@media screen and (max-width: 960px) {
  .header .lang ul {
    font-size: 14px; }
    .header .lang ul .ja:after {
      width: 1px;
      height: 1.5625vw;
      right: -0.5208333333vw; }
  .header .left p {
    font-size: 1.6666666667vw; }
  .header .left .logo img {
    width: 30.4166666667vw; }
  .header .right .tel {
    margin-right: 2.0833333333vw;
    width: 26.0416666667vw; }
    .header .right .tel a .flex .number {
      font-size: 3.5416666667vw; }
    .header .right .tel a .p1 {
      font-size: 1.3541666667vw;
      margin-top: 1.0416666667vw; }
  .header .right .contact {
    width: 24.6875vw; } }
@media screen and (max-width: 750px) {
  .header .lang ul {
    margin-bottom: 2vw;
    font-size: 3.7333333333vw; }
    .header .lang ul .ja {
      padding-right: 3vw; }
      .header .lang ul .ja:after {
        width: 1px;
        height: 4vw;
        right: 0; }
    .header .lang ul .en {
      padding-left: 3vw; }
  .header .left p {
    font-size: 3.4666666667vw; }
  .header .left .logo img {
    width: 52.2666666667vw; } }
@media screen and (max-width: 750px) {
  .header .lang ul li {
    line-height: 1; }
  .header .right .tel, .header .right .contact {
    display: none; } }
.header .gnav {
  margin-top: 45px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: 22px;
  color: #062f60;
  font-weight: 400;
  margin-bottom: 35px; }
  .header .gnav ul li {
    width: 230px;
    position: relative; }
    .header .gnav ul li .icon {
      width: 9px;
      position: absolute;
      left: 0;
      top: 0; }
    .header .gnav ul li a {
      white-space: nowrap;
      display: inline-block; }
@media screen and (max-width: 1400px) {
  .header .gnav {
    margin-top: 3.2142857143vw;
    font-size: 18px;
    margin-bottom: 2.5vw; }
    .header .gnav ul li {
      width: 16.4285714286vw; }
      .header .gnav ul li .icon {
        width: 0.6428571429vw; } }
@media screen and (max-width: 960px) {
  .header .gnav {
    font-size: 1.875vw; }
    .header .gnav ul li {
      width: 18.428571vw; }
      .header .gnav ul li .icon {
        width: 0.9375vw; } }
@media screen and (max-width: 750px) {
  .header {
    padding: 10px; }
    .header .gnav {
      display: none; } }

.header-change {
  color: #062f60;
  background: #f0ede4;
  display: flex;
  justify-content: center;
  padding: 10px 15px;
  position: fixed;
  top: -90px;
  transition: .5s;
  width: 100%;
  align-items: center;
  z-index: 10;
  box-shadow: 0 0 5px #d0cbbe; }
  @media screen and (max-width: 1200px) {
    .header-change {
      font-size: 1.5vw; } }
  @media screen and (max-width: 750px) {
    .header-change {
      display: none; } }

/*
.header-change.show{
	top: 0;
	.gnav__menu{
		display: flex;
		justify-content: center;
		li{
			position: relative;
			padding: 0 40px;
			&:after{
				content: '';
				display: inline-block;
				background: url(../images/top/brush.png) no-repeat;
				background-size: contain;
				width: 7px;
				height: 36px;
				position: absolute;
				left: 0;
				top: 0;
			}
			&:last-child{
				&:before{
					content: '';
					display: inline-block;
					background: url(../images/top/brush.png) no-repeat;
					background-size: contain;
					width: 7px;
					height: 36px;
					position: absolute;
					right: 0;
					top: 0;			
				}			
			}
			a{
				
			}
		}
	}	
}
*/
.gnav__menu {
  display: flex; }

/*
@include mq_max(1200){
.header-change.show{
	.gnav__menu{
		li{
			padding: 0 vw(40,1200);
			&:after{
				width: vw(7,1200);
				height:vw(36,1200);
    background-size: cover;				
			}
			&:last-child{
				&:before{
					width: vw(7,1200);
					height: vw(36,1200);
    background-size: cover;					
				}			
			}
			a{
				
			}
		}
	}	
}	
}
@include mq_max(750){
.header-change.show{
	display: none;
}	
}
*/
.sp_hader {
  position: fixed;
  background: #f0ede4;
  transition: 0.3s; }
  .sp_hader .lang {
    display: none; }
  .sp_hader .h_top {
    display: none; }
  .sp_hader .gnav {
    margin-top: 1.4285714286vw;
    margin-bottom: 1.4285714286vw;
    justify-content: center; }
  @media screen and (max-width: 750px) {
    .sp_hader .lang {
      display: none; }
    .sp_hader .h_top {
      display: flex; }
    .sp_hader .gnav {
      display: none; } }

.to_top {
  text-align: center;
  margin-top: 55px;
  margin-bottom: 35px; }
  .to_top a {
    display: inline-block; }
    .to_top a p {
      color: #062f60;
      font-size: 23px;
      margin-top: 0;
      line-height: 1; }
  @media screen and (max-width: 1200px) {
    .to_top {
      margin-top: 4.5833333333vw;
      margin-bottom: 2.9166666667vw; } }
  @media screen and (max-width: 960px) {
    .to_top {
      margin-top: 5.7291666667vw;
      margin-bottom: 3.6458333333vw; } }
  @media screen and (max-width: 750px) {
    .to_top {
      margin-top: 7.3333333333vw;
      margin-bottom: 4.6666666667vw; } }

footer {
  position: relative;
  color: #062f60; }
  footer .box_in {
    padding-top: 75px;
    padding-bottom: 75px;
    max-width: 1200px;
    width: 100%;
    position: relative;
    text-align: left; }
    footer .box_in .footer_ul {
      display: flex;
      justify-content: space-around; }
      footer .box_in .footer_ul .left {
        max-width: 460px;
        width: 100%; }
        footer .box_in .footer_ul .left .txt_area .adress {
          margin-top: 20px; }
        footer .box_in .footer_ul .left .txt_area .tel_area {
          margin-top: 20px; }
      footer .box_in .footer_ul .right {
        max-width: 700px;
        width: 100%; }
        footer .box_in .footer_ul .right .f_nav {
          display: flex;
          flex-wrap: wrap;
          font-size: 17px; }
          footer .box_in .footer_ul .right .f_nav li {
            width: 33%;
            margin-top: 20px; }
          footer .box_in .footer_ul .right .f_nav .parent_list:before {
            content: '・'; }
          footer .box_in .footer_ul .right .f_nav .parent_list ul {
            display: flex;
            flex-wrap: wrap;
            margin-left: 60px; }
            footer .box_in .footer_ul .right .f_nav .parent_list ul li {
              margin-top: 5px; }
          footer .box_in .footer_ul .right .f_nav:nth-child(2) .parent_list {
            width: 100%; }
  footer .border_top, footer .border_bottom {
    position: absolute;
    display: block;
    border: 1px solid #062f60;
    height: 5px;
    width: 100%; }
  footer .border_top {
    top: 0;
    left: 0; }
  footer .border_bottom {
    bottom: 0;
    left: 0; }
  footer .copy_right {
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
    font-size: 13px;
    text-align: right;
    margin-top: 20px;
    margin-bottom: 20px; }

@media screen and (max-width: 1280px) {
  footer .box_in {
    padding: 75px 5vw; }
    footer .box_in .footer_ul .left {
      max-width: 32.333333vw; }
      footer .box_in .footer_ul .left .txt_area {
        font-size: 1.5vw; }
        footer .box_in .footer_ul .left .txt_area .adress {
          margin-top: 20px; }
        footer .box_in .footer_ul .left .txt_area .tel_area {
          margin-top: 20px; }
    footer .box_in .footer_ul .right {
      max-width: 58.3333333333vw;
      width: 100%; }
      footer .box_in .footer_ul .right .f_nav {
        font-size: 1.5vw; }
        footer .box_in .footer_ul .right .f_nav li {
          margin-top: 20px; }
        footer .box_in .footer_ul .right .f_nav .parent_list ul {
          margin-left: 60px; }
          footer .box_in .footer_ul .right .f_nav .parent_list ul li {
            margin-top: 5px; }
        footer .box_in .footer_ul .right .f_nav:nth-child(2) .parent_list {
          width: 100%; }
  footer .border_top, footer .border_bottom {
    width: 90%;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%); }
  footer .copy_right {
    padding: 0 3.3333333333vw;
    font-size: 1.0833333333vw; } }
@media screen and (max-width: 960px) {
  footer .box_in {
    padding: 7.8125vw 6.25vw; }
    footer .box_in .footer_ul {
      display: block; }
      footer .box_in .footer_ul .left {
        max-width: 100%;
        text-align: center;
        width: 100%; }
        footer .box_in .footer_ul .left .txt_area {
          font-size: 1.875vw; }
          footer .box_in .footer_ul .left .txt_area .adress {
            margin-top: 2.0833333333vw; }
          footer .box_in .footer_ul .left .txt_area .tel_area {
            margin-top: 2.0833333333vw; }
      footer .box_in .footer_ul .right {
        margin-top: 6.25vw;
        max-width: 100%;
        width: 100%;
        position: relative;
        left: 4.1666666667vw; }
        footer .box_in .footer_ul .right .f_nav {
          font-size: 1.875vw; }
          footer .box_in .footer_ul .right .f_nav li {
            margin-top: 2.0833333333vw; }
          footer .box_in .footer_ul .right .f_nav .parent_list ul {
            margin-left: 6.25vw; }
            footer .box_in .footer_ul .right .f_nav .parent_list ul li {
              margin-top: 0.5208333333vw; }
          footer .box_in .footer_ul .right .f_nav:nth-child(2) .parent_list {
            width: 100%; }
  footer .copy_right {
    padding: 0 4.1666666667vw;
    font-size: 1.3541666667vw; } }
@media screen and (max-width: 750px) {
  footer .box_in {
    padding: 10vw 5.3333333333vw; }
    footer .box_in .footer_ul {
      display: block; }
      footer .box_in .footer_ul .left .logo img {
        width: 62.5333333333vw; }
      footer .box_in .footer_ul .left .txt_area {
        font-size: 3.7333333333vw; }
        footer .box_in .footer_ul .left .txt_area .adress {
          margin-top: 2.6666666667vw; }
        footer .box_in .footer_ul .left .txt_area .tel_area {
          margin-top: 2.6666666667vw; }
      footer .box_in .footer_ul .right {
        margin-top: 8vw;
        left: 2.6666666667vw; }
        footer .box_in .footer_ul .right .f_nav {
          font-size: 3.7333333333vw;
          justify-content: space-between; }
          footer .box_in .footer_ul .right .f_nav li {
            white-space: nowrap;
            width: 50%;
            margin-top: 4vw; }
          footer .box_in .footer_ul .right .f_nav .parent_list ul {
            margin-left: 8vw; }
            footer .box_in .footer_ul .right .f_nav .parent_list ul li {
              width: 48%;
              margin-top: 1.3333333333vw; }
          footer .box_in .footer_ul .right .f_nav:nth-child(2) .parent_list {
            width: 100%; }
          footer .box_in .footer_ul .right .f_nav:not(:first-child) {
            margin-top: 0; }
  footer .border_top, footer .border_bottom {
    width: 80%; }
  footer .copy_right {
    padding: 0 5.3333333333vw;
    font-size: 3.0666666667vw; } }
.wrap .wrap_border {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 10px;
  background: #062f60;
  z-index: 99; }

.pages .mv {
  text-align: left;
  position: relative;
  color: #fff; }
  .pages .mv:after {
    content: '';
    display: inline-block;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0px;
    height: 100%;
    z-index: 0;
    background: white;
    background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0.2) 90%); }
    @media screen and (max-width: 480px) {
      .pages .mv:after {
        background: linear-gradient(90deg, white 10%, rgba(255, 255, 255, 0.7) 70%, rgba(255, 255, 255, 0) 100%); } }
  .pages .mv .box_in {
    color: #062f60;
    position: relative;
    /*
    &:after{
    	content: '';
    	display: inline-block;
    	width: 50%;
    	background: #062f60;
    	position: absolute;
    	top: 0;
    	left: 0px;
    	height: 100%;		
    	z-index: -1;
    	@include mq_max(480){
    		width: 100%;
    	}
    }		
    */
    padding: 70px 0;
    z-index: 1; }
  .pages .mv h2 {
    font-size: 30px;
    letter-spacing: 0.05rem; }
  .pages .mv .thumb {
    margin-top: 20px; }
    .pages .mv .thumb ul {
      display: flex; }
      .pages .mv .thumb ul li {
        font-size: 14px;
        white-space: nowrap; }
        .pages .mv .thumb ul li a {
          text-decoration: underline; }
      .pages .mv .thumb ul .arrow {
        margin: 0 5px; }
  @media screen and (max-width: 1480px) {
    .pages .mv .box_in {
      padding: 4.432432vw 0;
      padding-left: 2.8571428571vw; } }
  @media screen and (max-width: 750px) {
    .pages .mv .box_in {
      padding: 8.666667vw 0 8.666667vw 5.857143vw; }
    .pages .mv h2 {
      font-weight: normal; }
    .pages .mv .thumb {
      margin-top: 10px; } }
.pages section {
  margin-top: 100px; }
  .pages section .box_in1214 {
    position: relative; }
  @media screen and (max-width: 1200px) {
    .pages section {
      margin-top: 8.3333333333vw; } }
  @media screen and (max-width: 960px) {
    .pages section {
      margin-top: 10.4166666667vw; } }
  @media screen and (max-width: 750px) {
    .pages section {
      margin-top: 13.3333333333vw; } }
.pages .note {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #dddddda8 97%, #dddddd8c 100%);
  background-size: 100% 3em;
  line-height: 3;
  padding: 0 8px; }
.pages .h2_ttl {
  position: relative;
  text-align: left;
  color: #062f60;
  font-size: 30px;
  letter-spacing: 0.25rem;
  font-weight: 400; }
  @media screen and (max-width: 750px) {
    .pages .h2_ttl {
      letter-spacing: 0.1rem; } }
  .pages .h2_ttl .item {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 35px;
    right: -25px; }
    .pages .h2_ttl .item img {
      width: 40px; }
  .pages .h2_ttl .message {
    position: absolute;
    bottom: -8px;
    right: 50px;
    display: flex;
    justify-content: center;
    align-items: center; }
    .pages .h2_ttl .message img {
      width: 300px; }
@media screen and (max-width: 1200px) {
  .pages .h2_ttl {
    font-size: 2.5vw; }
    .pages .h2_ttl .item {
      right: -2.0833333333vw; }
      .pages .h2_ttl .item img {
        width: 3.3333333333vw; }
    .pages .h2_ttl .message {
      bottom: -0.6666666667vw;
      right: 3.166667vw; }
      .pages .h2_ttl .message img {
        width: 25vw; } }
@media screen and (max-width: 960px) {
  .pages .h2_ttl {
    font-size: 3.125vw; }
    .pages .h2_ttl .item {
      right: -2.6041666667vw; }
      .pages .h2_ttl .item img {
        width: 4.1666666667vw; }
    .pages .h2_ttl .message {
      bottom: -1.25vw;
      right: 4.791667vw; }
      .pages .h2_ttl .message img {
        width: 31.25vw; } }
@media screen and (max-width: 750px) {
  .pages .h2_ttl {
    font-size: 5.3333333333vw; }
    .pages .h2_ttl .item {
      right: -5.333333vw;
      bottom: 9vw; }
      .pages .h2_ttl .item img {
        width: 8vw; }
    .pages .h2_ttl .line {
      width: 102%; }
    .pages .h2_ttl .message {
      bottom: -1.6vw;
      right: 8.791667vw; }
      .pages .h2_ttl .message img {
        width: 60vw; } }
