@charset "UTF-8";
html {
	font-size: 62.5%;
}

body {
	color: #111827;
	font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic", 游ゴシック, YuGothic, 游ゴシック体, "Noto Sans JP", メイリオ, Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 1.8;
	background-color: #fff;
	}

/* link */
a:link,
a:visited {
	color: #033570;
	text-decoration: underline;
	outline: none;
	cursor: pointer;
	transition: all 0.15s;
	}
a:active,
a:hover {
	color: #d70a30;
	text-decoration: underline;
	cursor: pointer;
	}

a img {
	opacity: 1;
	transition: all 0.15s;
	}
a:hover img:not(.logo_img) {
	opacity: 0.72;
	}

a.button,
span.button,
button.submit {
	position: relative;
	display: inline-block;
	padding: 0 48px 0 24px;
	height: 48px;
	color: #fff;
	line-height: 48px;
	text-decoration: none;
	background-color: #033570;
	border-radius: 24px;
	border: none;
	transition: all 0.15s;
	}
	a.button::after,
	span.button::after,
	button.submit::after {
		content: "";
		position: absolute;
		right: 24px;
		top: 50%;
		width: 16px;
		height: 16px;
		background-repeat: no-repeat;
		background-position: center right;
		transform: translate(-0%, -50%);
		}
	a.button.icon_arrow::after,
	span.button.icon_arrow::after,
	button.submit.icon_arrow::after {
		background-image: url(../../asset/images/icon_arrow.svg);
		}
	a.button.icon_pdf::after,
	span.button.icon_pdf::after {
		background-image: url(../../asset/images/icon_pdf_white.svg);
		}
	a.button.icon_blank::after,
	span.button.icon_blank::after {
		background-image: url(../../asset/images/icon_blank_white.svg);
		}
a.button:hover,
span.button:hover,
button.submit:hover {
	background-color: #d70a30;
	}

a.icon_link,
span.icon_link {
	position: relative;
	display: inline-block;
	padding-right: 28px;
	}
	a.icon_link::after,
	span.icon_link::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		width: 18px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: center right;
		transform: translate(-0%, -50%);
		transition: all 0.15s;
		}
	a.icon_link.icon_pdf::after,
	span.icon_link.icon_pdf::after {
		background-image: url(../../asset/images/icon_pdf.svg);
		}
	a.icon_link.icon_pdf:hover::after,
	span.icon_link.icon_pdf:hover::after {
		background-image: url(../../asset/images/icon_pdf_hover.svg);
		}
	a.icon_link.icon_blank::after,
	span.icon_link.icon_blank::after {
		background-image: url(../../asset/images/icon_blank.svg);
		}
	a.icon_link.icon_blank:hover::after,
	span.icon_link.icon_blank:hover::after {
		background-image: url(../../asset/images/icon_blank_hover.svg);
		}

/* form */
input[type="text"],
textarea,
#your-mail,
#your-tell {
  padding: 0 0.8rem;
  width: 100%;
  height: 48px;
  vertical-align: middle;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 0.25rem;
  }
  input[type="text"]::placeholder,
  #your-mail::placeholder,
  #your-tell::placeholder  {
    color: #9ca3af;
    }
textarea {
	height: 16em;
	}

input[type="radio"],
input[type="checkbox"] {
  vertical-align: middle;
  }
input[type="radio"] + span,
input[type="checkbox"] + span {
  margin-left: 0.5rem;
  vertical-align: middle;
  }

/* ---------------------------------------------------------------------
	header
*/
#headerArea {
  z-index: 300;
  margin: 0 auto;
  position: fixed;
  top: 0;
	width: 100%;
  background-color: #fff;
  }
  #headerArea header {
		position: relative;
    margin: 0px auto;
    width: 1240px;
    height: 100px;
    }
    #headerArea header .logo {
			display: block;
			position: absolute;
      top: 47%;
      left: 0%;
      width: 297px;
			height: 41px;
			background-image: url(../../asset/images/glb_logo.png);
			background-repeat: no-repeat;
			background-size: cover;
      transform: translate(-0%, -50%);
      }
			#headerArea header .logo .alt {
				display: none;
				}
			#headerArea header .logo:hover {
				opacity: 0.72;
				}
    #headerArea .menu_button_sp {
      display: none;
      }
    #headerArea nav {
			z-index: 50;
      position: absolute;
      right: 0;
      }
      #headerArea nav .menu {
				display: flex;
        justify-content: space-between;
        width: 820px;
        padding: 0;
        color: #111827;
				list-style-type: none;
        }
				#headerArea nav .menu .menu_section {
					position: relative;
					display: inline-block;
					vertical-align: middle;
					text-align: center;
					}
					#headerArea nav .menu .menu_section.sp-menu_footer {
						display: none;
						}
					#headerArea nav .menu .menu_section .menu_link {
						display: table-cell;
						vertical-align: middle;
						height: 100px;
						padding-top: 0;
						color: #111827;
						text-decoration: none;
						}
					#headerArea nav .menu .menu_section .menu_link p {
						font-size: 1.5rem;
					}
          #headerArea nav .menu .menu_section .menu_link span {
						font-family: "Helvetica Neue", Helvetica, sans-serif;
						font-size: 1.1rem;
						color: #6b7280;
            display: block;
            }
          #headerArea nav .menu .menu_section .menu_link:hover {
						position: relative;
            color: #033570;
            }
						#headerArea nav .menu .menu_section .menu_link:hover::after {
              content: "";
							position: absolute;
							bottom: 0;
							left: 0;
							width: 100%;
							border-bottom: 4px solid #033570;
            	}
            #headerArea nav .menu .menu_section .menu_link:hover span {
              color: #033570;
            	}

      #headerArea nav .menu .menu_section .menu_content {
        display: none;
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -100px;
        }
        #headerArea nav .menu .menu_section .menu_content li {
          position: relative;
          background-color: #fff;
          text-align: left;
          width: 240px;
          border-bottom: 1px solid #e5e7eb; 
          }
        #headerArea nav .menu .menu_section .menu_content li:last-child {
          border-bottom: none;
          }
          #headerArea nav .menu .menu_section .menu_content li a {
            display: block;
						padding-left:24px;
            height: 50px;
            line-height: 50px;
            color: #111827;
            text-decoration: none;
            font-size: 1.4rem;
            }
						#headerArea nav .menu .menu_section .menu_content li a:hover {
              color: #fff;
							background-color: #033570;
              }
					#headerArea nav .menu .menu_section .menu_content li a::after {
						content: "";
						width: 5px;
						height: 5px;
						border-top: 1px solid #111827;
						border-right: 1px solid #111827;
						position: absolute;
						top: 50%;
						right: 10%;
						transform: translate(-50%, -50%) rotate(45deg);
						}
						#headerArea nav .menu .menu_section .menu_content li a:hover::after {
							border-top: 1px solid #fff;
							border-right: 1px solid #fff;
							}
				
/* ---------------------------------------------------------------------
	footer
*/
#footerArea {
	width: 100%;
  border-top: #e5e7eb solid 1px;
  margin: 120px auto 40px;
	}
	footer {
		position: relative;
		display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
		margin: 0 auto;
		padding-top: 56px;
		max-width: 1240px;
		}
    footer .footer_info .logo {
      display: block;
      max-width: 256px;
      margin-bottom: 24px;
      }
      footer .logo_img {
        width: 100%;
        }
			footer .address {
				font-size: 1.4rem;
				line-height: 1.6;
				}
				footer .address dl {
					display: flex;
					flex-wrap: wrap;
					}
    footer .footer_menu {
      display: flex;
      flex-wrap: wrap;
			justify-content: space-between;
			width: 800px;
      }
      footer .footer_menu .footer_menu_section {
        margin-right: 56px;
        }
        footer .footer_menu .footer_menu_section:last-child {
          margin-right: 0px;
          }
        footer .footer_menu .footer_menu_section a.menu_link {
					position: relative;
					display: block;
          margin-bottom: 1.6rem;
					color: #111827;
          font-weight: bold;
					text-decoration: none;
          }
          footer .footer_menu .footer_menu_section a.menu_link::after {
            content: "";
            position: absolute;
            top: 50%;
            left: -20px;
						width: 8px;
            height: 2px;
						background-color: #d70a30;
            transform: translateY(-50%);
            }
					footer .footer_menu .footer_menu_section a.menu_link:hover {
						color: #033570;
						}
					footer .footer_menu .footer_menu_section .footer_menu_content {
						margin-bottom: 24px;
						}
            footer .footer_menu .footer_menu_section .footer_menu_content li a {
              font-size: 1.4rem;
              line-height: 3rem;
              color: #111827;
							text-decoration: none;
              }
							footer .footer_menu .footer_menu_section .footer_menu_content li a:hover {
								color: #033570;
								}

        footer .footer_copy {
          width: 100%;
          display: block;
          justify-content: space-between;
					align-items: center;
          margin-top: 56px;
          }
					footer .footer_copy ul li {
						display: inline;
						margin-right: 1.6rem;
						}
          footer .footer_copy ul li a {
            border-bottom: solid 1px #e5e7eb;
						color: #111827;
            font-size: 1.2rem;
            }
						footer .footer_copy ul li a:hover {
							color: #033570;
							}
          footer .footer_copy .Copyright {
            color: #6b7280;
            font-size: 1.2rem;
						text-align: right;
						}

/* ---------------------------------------------------------------------
	page top
*/
a#pagetop {
	z-index: 30;
	position: fixed;
  right: 24px;
  display: block;
  background-color: #033570;
  border-radius: 50%;
	opacity: 0;
  transform: translateY(100px);
	transition: background-color 0.15s;
  }
	a:hover#pagetop {
		background-color: #d70a30;
		}
	a#pagetop .icon_arrow {
		position: relative;
		display: block;
		width: 72px;
		height: 72px;
		transition: all 0.15s;
		}
	a#pagetop .icon_arrow::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 20px;
		height: 20px;
		background-image: url(../../asset/images/icon_pagetop.svg);
		background-repeat: no-repeat;
		background-position: center center;
		transform: translate(-50%,-50%);
		}

a#pagetop.UpMove{
  animation: UpAnime 0.5s forwards;
	}
@keyframes UpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
a#pagetop.DownMove{
  animation: DownAnime 0.5s forwards;
	}
@keyframes DownAnime{
  from {
    opacity: 1;
  	transform: translateY(0);
  }
  to {
    opacity: 1;
  	transform: translateY(100px);
  }
}

/* ---------------------------------------------------------------------
	content
*/

/* -------------------- layout -------------------- */
#contentArea {
	position: relative;
	margin-top: 100px;
	width: 100%;
	}

/* ----- content header ----- */
#contentArea > header {
	position: relative;
	width: 100%;
	height: 440px;
	}
	#contentArea > header::before {
		content: "";
		z-index: 2;
		display: block;
		position: absolute;
		right: 0;
		left: 0;
		top: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.4);
		}
	#contentArea > header::after {
		content: "";
		z-index: 1;
    display: block;
		position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 70%;
		}
	#contentArea > header .inner {
		z-index: 3;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		}
		#contentArea > header .inner h1 {
			color: #fff;
			font-size: 4.8rem;
			line-height: 1.4;
			text-align: center;
			}
			#contentArea > header .inner h1::first-letter {
				color: #d70a30;
				}
		#contentArea > header .inner p {
			margin: 0 auto;
			font-family: "Helvetica Neue", Helvetica, sans-serif;
			color: #fff;
			font-size: 1.8rem;
			text-align: center;
			}

/* ----- content catchcopy ----- */
#contentArea .catchcopy {
	margin-bottom: 64px;
	padding: 56px 0;
	text-align: center;
	background-color: #e5e7eb;
	}
	#contentArea .catchcopy p {
		position: relative;
		display: inline-block;
		margin: 0 auto;
		padding: 0 16px;
		font-size: 3.6rem;
		line-height: 1.4;
		}
		#contentArea .catchcopy p::before,
		#contentArea .catchcopy p::after {
			content: "";
			font-family: serif;
			color: #6b7280;
			font-size: 6rem;
			line-height: 1;
			position: absolute;
			}
		#contentArea .catchcopy p::before {
			content: "“";
			top: 0;
			left: -3rem;
			}
		#contentArea .catchcopy p::after {
			content: "„";
			bottom: 4px;
			right: -3rem;
			}
		#contentArea .catchcopy span {
			display: inline-block;
			margin-bottom: 8px;
			color: #6b7280;
			font-size: 1.8rem;
			line-height: 1.4;
			}

/* ----- article section width ----- */
#contentArea article {
	margin: 80px 0;
	}
	#contentArea article:first-of-type {
		margin-top: 64px;
		}

#contentArea section {
	margin: 80px 0;
	}

#contentArea .width-s,
#contentArea .width-m,
#contentArea .width-l {
	margin-left: auto;
	margin-right: auto;
	}
#contentArea .width-s {
	width: 800px;
	}
#contentArea .width-m {
	width: 960px;
	}
#contentArea .width-l {
	width: 1120px;
	}

/* -------------------- text -------------------- */
#contentArea .txt-cl-1st {
	color: #d70a30;
	}
#contentArea .txt-cl-2nd {
	color: #033570;
	}
#contentArea .txt-cl-3th {
	color: #6b7280;
	}

#contentArea strong,
#contentArea .strong {
	font-weight: bold;
	}

#contentArea sup,
#contentArea .sup {
	margin-left: 0.1em;
	font-size: 1.2rem;
	vertical-align: super;
	}

#contentArea .txt-attention {
	display: inline-block;
	padding-left:1em;
	color: #6b7280;
	text-indent:-1em;
	}

#contentArea h2 {
	position: relative;
	margin: 64px 0 56px;
	padding-top: 28px;
	font-size: 3.0rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	}
	#contentArea h2::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: -16px;
		width: 24px;
		border-top: 4px solid #d70a30;
		}

#contentArea h3 {
	position: relative;
	margin: 64px 0 32px;
	padding-bottom: 16px;
	font-size: 2.4rem;
	line-height: 1.2;
	font-weight: bold;
	border-bottom: 2px solid #e5e7eb;
	}
	#contentArea h3::first-letter {
		color: #d70a30;
		}

#contentArea h2 + h3 {
	margin-top: 56px;
	}

#contentArea h4 {
	margin: 48px 0 24px;
	padding-left: 16px;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: bold;
	border-left: 4px solid #d70a30;
	}

#contentArea p {
	margin-bottom: 32px;
	}

#contentArea dl {
	margin: 32px 0;
	}
	#contentArea dl dt {
		color: #6b7280;
		font-weight: bold;
		}

/* -------------------- list -------------------- */
#contentArea ul {
	margin: 32px 0;
	list-style-type: disc;
	margin-left: 1.2em;
	}
#contentArea ol {
	margin: 32px 0;
	list-style-type: decimal;
	margin-left: 1em;
	}
	#contentArea ul li,
	#contentArea ol li {
		margin-bottom: 0;
		}

/* ----- list shadow ----- */
#contentArea  ul.list-shadow {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 64px 0;
	list-style-type: none;
	}
	#contentArea  ul.list-shadow li {
		margin-left: 7.14%;
		margin-bottom: 80px;
		width: 28.57%;
		}
	#contentArea  ul.list-shadow li:nth-of-type(3n+1) {
		margin-left: 0;
		}
		#contentArea  ul.list-shadow li .box {
			box-shadow: 0 0 32px 0 rgba(0, 0, 0, 0.16);
			}
		#contentArea  ul.list-shadow li .caption {
			margin: 16px 0 0;
			color: #6b7280;
			text-align: center;
			}

/* -------------------- table -------------------- */
#contentArea table {
	margin: 40px 0;
	width: 100%;
	}
	#contentArea table th {
		width: 30%;
		color: #6b7280;
		font-weight: bold;
		}
	#contentArea table td {
		width: 70%;
		}
	#contentArea table th,
	#contentArea table td {
		padding: 16px;
		border-bottom: 1px solid #e5e7eb;
		vertical-align: top;
		}

/* -------------------- text box -------------------- */
#contentArea .text-box {
	margin: 64px 0;
	border: 1px solid #e5e7eb;
	}

#contentArea .text-box.inquiry {
	padding: 40px;
	text-align: center;
	}
	#contentArea .text-box.inquiry dl {
		margin: 0;
		}
		#contentArea .text-box.inquiry dl dt {
			color: #6b7280;
			font-weight: bold;
			}

/* -------------------- image box -------------------- */
#contentArea .image-box {
	margin: 64px 0;
	}
	#contentArea .image-box ul {
		list-style-type: none;
		}
	#contentArea .image-box ul.column-1 {
		margin: 0 auto;
		width: 70%;
		text-align: center;
		}
		#contentArea .image-box ul.column-1 li {
			position: relative;
			margin: 32px 0 0;
			}
		#contentArea .image-box img {
			vertical-align: bottom;
			}
		#contentArea .image-box .caption {
			margin: 12px 0 0;
			color: #6b7280;
			font-size: 1.2rem;
			line-height: 1.4;
			text-align: center;
			}
	#contentArea .image-box ul.column-2 {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		width: 100%;
		text-align: center;
		}
		#contentArea .image-box ul.column-2 li {
			position: relative;
			width: 45%;
			}
			#contentArea .image-box ul.column-2 li:first-child {
				margin: 0 2% 0 3%;
				}
			#contentArea .image-box ul.column-2 li:last-child {
				margin: 0 3% 0 2%;
				}
	#contentArea .image-box ul.column-3 {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		width: 100%;
		text-align: center;
		}
		#contentArea .image-box ul.column-3 li {
			position: relative;
			margin: 0;
			width: 32%;
			}
	#contentArea .image-box .border {
		border: 1px solid #e5e7eb;
		}

/* -------------------- header-sp -------------------- */
#contentArea .header-sp {
	position: relative;
	margin: 120px 0;
	}
	#contentArea .header-sp:before,
	#contentArea .header-sp:after {
		content: "";
    display: block;
    position: absolute;
    right: 0;
    left: calc(50% - 560px);
    top: 0;
    bottom: 0;
		}
		#contentArea .header-sp:before {
			z-index: 2;
			background: rgba(0, 0, 0, 0.4);
			}
	#contentArea .header-sp:after {
		z-index: 1;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		}
		#contentArea .header-sp .inner {
			position: relative;
			z-index: 3;
			margin-left: auto;
			margin-right: auto;
			padding: 160px 80px;
			max-width: 1120px;
			color: #fff;
			}
			#contentArea .header-sp .inner h2 {
				margin: 0;
				padding: 0;
				font-size: 4.8rem;
				font-weight: normal;
				text-align: left;
				}
				#contentArea .header-sp .inner h2::before {
					content: none;
					}
				#contentArea .header-sp .inner h2::first-letter {
					color: #d70a30;
					}
			#contentArea .header-sp .inner p {
				margin: 0;
				font-family: "Helvetica Neue", Helvetica, sans-serif;
				font-size: 1.8rem;
				}

/* -------------------- namelink -------------------- */
.namelink {
  position: fixed;
  right: 0;
  top: 170px;
  z-index: 200;
  }
  .namelink a {
    display: block;
    margin-bottom: 6px;
    padding: 32px 16px;
    width: 48px;
    height: auto;
    background-color: #033570;
    color: #fff;
    line-height: 1;
    text-decoration: none;
    writing-mode: vertical-rl;
    border-radius: 4px 0 0 4px;
    }
    .namelink a:hover {
      background-color: #d70a30;
      }


/* ----- wp additions ----- */
#contentArea .wp-block-table table th,
#contentArea .wp-block-table table td {
	border-top: none;
	border-left: none;
	border-right: none;
}

/* wp-404 */
#contentArea article.none-exist.width-s {
	margin-top: 150px;
	}
	#contentArea article.none-exist.width-s h2 span {
		font-size: 1.5rem;
		color:#9ca3af;
		}

/* reCAPTCHA */
.grecaptcha-badge { visibility: hidden; }

/* ---------------------------------------------------------------------
	タブレット
*/
@media only screen and (max-width : 1240px) {
  


/* ---------------------------------------------------------------------
	header
	*/
  #headerArea header {
		z-index: 10;
    width: 100%;
    }
    #headerArea .sp_header {
			z-index: 300;
      width: 100%;
      }
      #headerArea header .logo {
        left: 5%;
        }
        #headerArea .logo_img {
          width: 100%;
          }
          #headerArea nav {
            position: fixed;
            right: 0;
						overflow: scroll;
						margin-top: 100px;
						padding-bottom: 64px;
            width: 100%;
						height: 100%;
						transform: translateX(100vw);
						transition: all .3s linear;
            }
						#headerArea nav.active {
							transform: translateX(0);
							}
              #headerArea nav .menu {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
								overflow: scroll;
								width: 100%;
                }
              #headerArea nav .menu .menu_section {
								display: block;
                width: 100%;
                border-bottom: 1px solid #e5e7eb; 
                background-color: #fff;
                }
                #headerArea nav .menu .menu_section .menu_link {
									position: relative;
                  display: block;
									padding-left: 48px;
                  height: 50px;
									line-height: 50px;
									font-weight: bold;
                  text-align: left;
                  }
                  #headerArea nav .menu .menu_section .menu_link::after {
                    content: "";
										position: absolute;
                    top: 50%;
                    left: 29px;
                    width: 8px;
                    height: 2px;
                    background-color: #d70a30;
                    }
										#headerArea nav .menu .menu_section .menu_link:hover::after {
											content: "";
											position: absolute;
											top: 50%;
											left: 29px;
											width: 8px;
											height: 2px;
											background-color: #d70a30;
											border: none;
											}
                  #headerArea nav .menu .menu_section .menu_link span {
                    display: none;
                    }
							#headerArea nav .menu .menu_section.sp-menu_footer {
								display: block;
								}
								#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info {
									display: flex;
									padding: 24px;
									font-size: 1.4rem;
									line-height: 1.6;
									text-align: left;
									background-color: #e5e7eb;
									}
									#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .logo_mark {
										display: block;
										width: 28.07%;
										}
										#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .logo_mark .logo_img {
											margin-left: 8px;
											width: 64px;
											}
									#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .address {
										width: 71.92%;
										}
										#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .address dl dt,
										#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .address dl dd {
											display: inline;
											}
								#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy {
									padding: 32px 0;
									font-size: 1.2rem;
									line-height: 1.4;
									}
									#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy ul {
										margin-bottom: 24px;
										}
										#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy ul li {
											display: inline;
											margin: 0 12px;
											}
											#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy ul li a {
												color: #111827;
												}
									#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy .Copyright {
										color: #6b7280;
										}
        
              #headerArea nav .menu .menu_section .menu_content {
								position: relative;
								top: inherit;
                left: inherit;
								margin: 0;
                padding-left: 48px;
                display: block !important;
                width: 100%;
								border-top: 1px solid #e5e7eb; 
                }
                #headerArea nav .menu .menu_section .menu_content li {
                  display: block;
									padding: 0;
                  width: 100%;
                  }
                  #headerArea nav .menu .menu_section .menu_content li a {
										position: relative;
                    display: block;
                    }
                    #headerArea nav .menu .menu_section .menu_content li a::after {
                      content: "";
											position: absolute;
                      top: 50%;
                      right: 10%;
                      width: 5px;
                      height: 5px;
											color: #111827;
                      border-top: 1px solid #111827;
                      border-right: 1px solid #111827;
                      transform: translate(-50%, -50%) rotate(45deg);
                      }

 /*　ハンバーガーメニューボタン　---------------------------------------------*/
 #headerArea .menu_button_sp {
	display: block;
	position: fixed;
	z-index: 3;
	right: 16px;
	top: 20px;
	width: 64px;
	height: 64px;
	cursor: pointer;
	text-align: center;
	}
	.menu_button_sp span {
		display: block;
		position: absolute;
		width: 30px;
		height: 3px ;
		left: 0px;
		background-color: #111827;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
		}
		.menu_button_sp span:nth-child(1) {
			top: 21px;
			}
		.menu_button_sp span:nth-child(2) {
			top: 30px;
			}
		.menu_button_sp span:nth-child(3) {
			top: 39px;
			}

/* スマホメニューを開いてる時のボタン */
.menu_button_sp.active span:nth-child(1) {
	top: 50%;
	left: 0%;
	transform: translate(-50%,-50%) rotate(-45deg);
	background: #111827;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	}
.menu_button_sp.active span:nth-child(2),
.menu_button_sp.active span:nth-child(3) {
	top: 50%;
	left: 0%;
	transform: translate(-50%,0%) rotate(45deg);
	background: #111827;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	}

/* ---------------------------------------------------------------------
footer
*/
#footerArea {
	margin: 96px auto 0;
	}
#footerArea footer {
	padding: 24px 0;
}
#footerArea footer .footer_info,
#footerArea footer .footer_menu {
	display: none;
	}
	#footerArea footer .footer_copy {
		justify-content: center;
		margin: 0;
		}
		#footerArea .footer_copy ul {
			display: none;
			}

	/* ---------------------------------------------------------------------
		content
	*/

	/* -------------------- layout -------------------- */
	/* ----- article section width ----- */

	#contentArea .width-s,
	#contentArea .width-m,
	#contentArea .width-l {
		margin-left: auto;
		margin-right: auto;
		}
	#contentArea .width-s {
		width: 83.58%;
		}
	#contentArea .width-m {
		width: 83.58%;
		}
	#contentArea .width-l {
		width: 90%;
		}

}

/* ---------------------------------------------------------------------
	SP
*/
@media only screen and (max-width : 767px) {

	body {
		font-size: 1.6rem;
		line-height: 1.9;
		}

	/* link */
	a.button,
	span.button,
	button.submit {
		height: 44px;
		line-height: 44px;
		border-radius: 22px;
		}

	*:focus {
		outline: none;
		}

	/* ---------------------------------------------------------------------
	header
	*/
  #headerArea header {
		z-index: 10;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 64px;
    justify-content: space-around;
    }
    #headerArea .sp_header {
			z-index: 300;
			position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 64px;
      background-color: #fff;
      border-bottom: 1px solid #e5e7eb;
      }
      #headerArea header .logo {
				position: absolute;
				top: 50%;
        left: 50%;
        margin: 0px auto;
				width: 220px;
				height: 30px;
        text-align: center;
        transform: translate(-50%, -50%);
        }
        #headerArea .logo_img {
          width: 100%;
          }
          #headerArea nav {
            position: fixed;
            right: 0;
						overflow: scroll;
						margin-top: 64px;
						padding-bottom: 64px;
            width: 100%;
						height: 100%;
						transform: translateX(100vw);
						transition: all .3s linear;
            }
						#headerArea nav.active {
							transform: translateX(0);
							}
              #headerArea nav .menu {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
								overflow: scroll;
								width: 100%;
                }
              #headerArea nav .menu .menu_section {
								display: block;
                width: 100%;
                border-bottom: 1px solid #e5e7eb; 
                background-color: #fff;
                }
                #headerArea nav .menu .menu_section .menu_link {
									position: relative;
                  display: block;
									padding-left: 48px;
                  height: 50px;
									line-height: 50px;
									font-weight: bold;
                  text-align: left;
                  }
                  #headerArea nav .menu .menu_section .menu_link::after {
                    content: "";
										position: absolute;
                    top: 50%;
                    left: 29px;
                    width: 8px;
                    height: 2px;
                    background-color: #d70a30;
                    }
										#headerArea nav .menu .menu_section .menu_link:hover::after {
											content: "";
											position: absolute;
											top: 50%;
											left: 29px;
											width: 8px;
											height: 2px;
											background-color: #d70a30;
											border: none;
											}
									#headerArea nav .menu .menu_section .menu_link p {
										font-size: 1.6rem;
										}
                  #headerArea nav .menu .menu_section .menu_link span {
                    display: none;
                    }
							#headerArea nav .menu .menu_section.sp-menu_footer {
								display: block;
								}
								#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info {
									display: flex;
									padding: 24px;
									font-size: 1.4rem;
									line-height: 1.6;
									text-align: left;
									background-color: #e5e7eb;
									}
									#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .logo_mark {
										display: block;
										width: 28.07%;
										}
										#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .logo_mark .logo_img {
											margin-left: 8px;
											width: 64px;
											}
									#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .address {
										width: 71.92%;
										}
										#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .address dl dt,
										#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_info .address dl dd {
											display: inline;
											}
								#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy {
									padding: 32px 0;
									font-size: 1.2rem;
									line-height: 1.4;
									}
									#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy ul {
										margin-bottom: 24px;
										display: flex;
										flex-wrap: wrap;
										justify-content: center;
										gap: 1rem 0;
										}
										#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy ul li {
											display: inline;
											margin: 0 12px;
											}
											#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy ul li a {
												color: #111827;
												}
									#headerArea nav .menu .menu_section.sp-menu_footer .sp-menu_footer_copy .Copyright {
										color: #6b7280;
										}
        
              #headerArea nav .menu .menu_section .menu_content {
								position: relative;
								top: inherit;
                left: inherit;
								margin: 0;
                padding-left: 48px;
                display: block !important;
                width: 100%;
								border-top: 1px solid #e5e7eb; 
                }
                #headerArea nav .menu .menu_section .menu_content li {
                  display: block;
									padding: 0;
                  width: 100%;
                  }
                  #headerArea nav .menu .menu_section .menu_content li a {
										position: relative;
                    display: block;
                    }
                    #headerArea nav .menu .menu_section .menu_content li a::after {
                      content: "";
											position: absolute;
                      top: 50%;
                      right: 10%;
                      width: 5px;
                      height: 5px;
											color: #111827;
                      border-top: 1px solid #111827;
                      border-right: 1px solid #111827;
                      transform: translate(-50%, -50%) rotate(45deg);
                      }

  /*　ハンバーガーメニューボタン　---------------------------------------------*/
  #headerArea .menu_button_sp {
    display: block;
    position: fixed;
    z-index: 3;
    right: 22px;
    top: 22px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    text-align: center;
    }
    .menu_button_sp span {
      display: block;
      position: absolute;
      width: 20px;
      height: 3px ;
      left: 0px;
      background-color: #111827;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out;
      }
      .menu_button_sp span:nth-child(1) {
        top: 5px;
        }
      .menu_button_sp span:nth-child(2) {
        top: 10px;
        }
      .menu_button_sp span:nth-child(3) {
        top: 15px;
        }

  /* スマホメニューを開いてる時のボタン */
  .menu_button_sp.active span:nth-child(1) {
    top: 50%;
    left: 0%;
    transform: translate(-50%,-50%) rotate(-45deg);
    background: #111827;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    }
  .menu_button_sp.active span:nth-child(2),
  .menu_button_sp.active span:nth-child(3) {
    top: 50%;
    left: 0%;
    transform: translate(-50%,0%) rotate(45deg);
    background: #111827;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    }

  /* ---------------------------------------------------------------------
	footer
	*/
	#footerArea {
		margin: 96px auto 0;
		}
  #footerArea footer {
    padding: 24px 0;
  }
	#footerArea footer .footer_info,
	#footerArea footer .footer_menu {
    display: none;
    }
		#footerArea footer .footer_copy {
			justify-content: center;
      margin: 0;
      }
			#footerArea .footer_copy ul {
        display: none;
        }
			#footerArea .footer_copy .Copyright {
				text-align: center;
				}
		
	/* ---------------------------------------------------------------------
		page top
	*/
	a#pagetop {
		width: 48px;
		height: 48px;
		}
		a#pagetop .icon_arrow {
			width: 48px;
			height: 48px;
			}
			a#pagetop .icon_arrow::after {
				width: 16px;
				height: 16px;
				}
		a#pagetop .icon_button {
			width: 12px;
			}

	/* ---------------------------------------------------------------------
		content
	*/

	/* -------------------- layout -------------------- */
	#contentArea {
		margin-top: 64px;
		}

	/* ----- content header ----- */
	#contentArea > header {
		position: relative;
		width: 100%;
		height: 320px;
		}
		#contentArea > header .inner {
			width: 20em;
			}
			#contentArea > header .inner h1 {
				margin-bottom: 4px;
				font-size: 3rem;
				line-height: 1.4;
				}
			#contentArea > header .inner p {
				font-size: 1.4rem;
				}

	/* ----- content catchcopy ----- */
	#contentArea .catchcopy {
		margin-bottom: 56px;
		padding: 24px 0;
		}
		#contentArea .catchcopy p {
			padding: 0 16px;
			width: 66.66%;
			font-size: 2.4rem;
			line-height: 1.4;
			}
			#contentArea .catchcopy p::before,
			#contentArea .catchcopy p::after {
				font-size: 4.8rem;
				}
			#contentArea .catchcopy span {
				margin-bottom: 8px;
				font-size: 1.4rem;
				line-height: 1.4;
				}

	/* ----- article section width ----- */
	#contentArea article {
		margin: 56px 0;
		}
		#contentArea article:first-of-type {
			margin-top: 48px;
			}

	#contentArea section {
		margin: 56px 0;
		}

	#contentArea .width-s,
	#contentArea .width-m,
	#contentArea .width-l {
		margin-left: auto;
		margin-right: auto;
		}
	#contentArea .width-s {
		width: 83.58%;
		}
	#contentArea .width-m {
		width: 83.58%;
		}
	#contentArea .width-l {
		width: 90%;
		}

	/* -------------------- text -------------------- */
	#contentArea h2 {
		position: relative;
		margin: 56px 0 32px;
		padding-top: 16px;
		font-size: 2.4rem;
		line-height: 1.4;
		}
		#contentArea h2:first-child {
			margin-top: 48px;
			}
		#contentArea h2::before {
			margin-left: -8px;
			width: 16px;
			border-top: 3px solid #d70a30;
			}
	
	#contentArea h3 {
		position: relative;
		margin: 56px 0 24px;
		padding-bottom: 16px;
		font-size: 2.1rem;
		line-height: 1.4;
		}
		#contentArea h3::first-letter {
			color: #d70a30;
			}
	
	#contentArea h2 + h3 {
		margin-top: 40px;
		}

	#contentArea h4 {
		margin: 40px 0 24px;
		padding-left: 16px;
		font-size: 1.8rem;
		line-height: 1.2;
		border-left: 3px solid #d70a30;
		}
	
	#contentArea p {
		margin-bottom: 24px;
		}
	
	#contentArea dl {
		margin: 24px 0;
		}

	/* -------------------- list -------------------- */
	#contentArea ul {
		margin: 24px 0;
		margin-left: 1.2em;
		}
	#contentArea ol {
		margin: 24px 0;
		margin-left: 1em;
		}

	/* ----- list shadow ----- */
	#contentArea  ul.list-shadow {
		margin: 64px 0;
		}
		#contentArea  ul.list-shadow li {
			margin-bottom: 64px;
			width: 46.4%;
			}
		#contentArea  ul.list-shadow li:nth-of-type(3n+1) {
			margin-left: 7.14%;
			}
		#contentArea  ul.list-shadow li:nth-of-type(2n+1) {
			margin-left: 0;
			}
			#contentArea  ul.list-shadow li .box {
				box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.12);
				}
			#contentArea  ul.list-shadow li .caption {
				margin: 8px 0 0;
				font-size: 1.2rem;
				}

	/* -------------------- table -------------------- */
	#contentArea table {
		margin: 24px 0 40px;
		}
		#contentArea table th,
		#contentArea table td {
			padding: 16px 8px;
			}

	/* -------------------- text box -------------------- */
	#contentArea .text-box {
		margin: 56px 0;
		}

	#contentArea .text-box.inquiry {
		padding: 24px;
		}

	/* -------------------- image box -------------------- */
	#contentArea .image-box {
		margin: 40px 0;
		}
		#contentArea .image-box ul.column-1 {
			width: 100%;
			}
			#contentArea .image-box ul.column-1 li {
				margin: 40px 0 0;
				padding: 0 4.9%;
				}
			#contentArea .image-box .caption {
				margin: 10px 0 0;
				font-size: 1.4rem;
				line-height: 1.5;
				}
				
			#contentArea .image-box ul.column-2 li {
				width: 48%;
				}
				#contentArea .image-box ul.column-2 li:first-child {
					margin: 0;
					}
				#contentArea .image-box ul.column-2 li:last-child {
					margin: 0;
					}

	/* -------------------- header-sp -------------------- */
	#contentArea .header-sp {
		position: relative;
		margin: 80px 0 56px;
		}
		#contentArea .header-sp:before,
		#contentArea .header-sp:after {
			left: calc(50% - 42%);
			}
			#contentArea .header-sp .inner {
				padding: 64px 32px;
				max-width: 84%;
				}
				#contentArea .header-sp .inner h2 {
					font-size: 3rem;
					}
				#contentArea .header-sp .inner p {
					font-size: 1.4rem;
					}

	/* -------------------- namelink -------------------- */
	.namelink {
		top: 120px;
		}
		.namelink a {
			padding: 24px 10px;
			width: 32px;
			height: auto;
			font-size: 1.3rem;
			}

}