@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Roboto:wght@300;400;500;700&display=swap');
.noto-sans {
	font-family: 'Noto Sans JP', sans-serif;
}
.montserrat {
	font-family: 'Montserrat', sans-serif;
}
.roboto {
	font-family: 'Roboto', sans-serif;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #46484B;
}

a,
a:link,
a:visited,
a:hover,
a:active {
	display: block;
	color: inherit;
	text-decoration: none;
}
a:hover {
	cursor: pointer;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

picture {
	display: block;
}
.pc {
	display: none;
}
section{
	background-color: #fff;
}
.inner{
	max-width: 1040px;
    margin: 0 auto;
    padding: 0 20px;
}
h1,h2,h3,h4,h5,h6,h7{
	letter-spacing: .1em;
	line-height: 1.5;
	font-weight: bold;
}
p{
	line-height: 2;
	letter-spacing: .05em;
}

/* 共通見出し */
.yh-4{
	background: #F0EFE9;
	text-align: center;
	display: block;
	font-size: 16px;
	padding:1em;
	margin-bottom: 1.3em;
}
.heading-bullet{
	padding-left: 1.2em;
	position: relative;
}
.heading-bullet::before{
	position: absolute;
	content: "";
	width: .4em;
	height: 1.3em;
	top:50%;
	transform: translateY(-50%);
	left:0;
	background:#FFD800;
}
.line-heading {
  font-weight: 600;
  font-size: 22px;
  padding-bottom: 1.5em;
  position: relative;
  text-align: center;
  margin-bottom: 1.8em; }
  .line-heading::after {
    content: "";
    background-color: #FFD800;
    height: 3px;
    width: 84px;
    border-radius: 1px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    position: absolute; }

.bg-gray{
	background: #F8F8F7;
}

.caption{
font-size:12px;
line-height:1.7;
}
.cap_mark{font-size:10px;}

/* Btn */
.veiwAll_btn {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .06em;
    line-height: 1.28;
    display: inline-block;
    margin: 32px 0 0;
    padding: 17px 76px;
    background-color: #FFD800;
    border-radius: 3em;
    position: relative;
    white-space: nowrap;
    transition: .2s;
}
.veiwAll_btn::after {
    content: '';
    background: url(/asset/img/common/arrowR.svg) no-repeat;
    background-size: contain;
    width: 7px;
    height: 11px;
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
}
.veiwAll_btn:hover {
    box-shadow: 0px 3px 6px #00000029;
    transform: translateY(-5%);
}
.veiwAll_btn.dark {
    background-color: #46484B;
    color: #FFFFFF;
}
.veiwAll_btn.dark::after {
    background-image: url(/asset/img/common/arrowR_white.svg);
}
.dlBtn{
	font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.84px;
    line-height: 1.66;
    text-align: center;
    padding: 12px 48px 12px 34px;
    border: solid 1px #37383A4D;
    border-radius: 3em;
    display: inline-block;
    position: relative;
}
.dlBtn::after{
	content: '';
    background: url(/asset/img/common/dl.svg) no-repeat;
    background-size: contain;
    width: 18px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
@media screen and (max-width:767px){
	p{
		font-size: 14px;
	}
	.yh-4{
		font-size: 14px;
	}
}
/*===================================
	header 
===================================*/
header {
	position: fixed;
	width: 100%;
	background-color: #FFFFFF;
	z-index: 100;
}

.nav_wrap {
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: solid 1px #F5F5F6;
}

.nav_left {
	padding-left: .75rem;
}

.nav_left a.navbar-brand {
	display: block;
}

.nav_right {
	width: 65px;
	height: 60px;
	padding: 0 .75rem;
	background-color: #FFD800;
}

/*　ハンバーガーメニューボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 14px;
  top   : 12px;
  width : 36px;
  height: 36px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 25px;
  height  : 2px ;
  left    : 6px;
  background : #46484B;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 9px;
}
.hamburger span:nth-child(2) {
  top: 17px;
}
.hamburger span:nth-child(3) {
  top: 25px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
	opacity: 0;
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  width: 100%;
	height: 100vh;
  transform: translateY(-100%);
  transition: all 0.6s;
}

nav.globalMenuSp.active {
	top  : 60px;
  background: #FFFFFF;
}

nav.globalMenuSp .MenuSp-block {
	padding: 20px;
	opacity: 0;
}
nav.globalMenuSp.active .MenuSp-block {
	opacity: 1;
}

nav.globalMenuSp .MenuSp-block:not(:first-child) {
	border-top: solid 1px rgba(70,72,75,0.20);
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
	font-size: 14px;
	letter-spacing: .01em;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}

nav.globalMenuSp ul li a {
  display: block;
  padding: 1em 0;
  text-decoration :none;
	font-weight: bold;
	position: relative;
}

nav.globalMenuSp ul li a.js-accordion-title::after {
  content: url(/asset/img/common/pull.svg);
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

nav.globalMenuSp ul li a.js-accordion-title.open_subMenu::after {
  transform: rotate(180deg);
	transform-origin: center 25%;
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 1;
  display: block;
 	transform: translateY(0%);
}

nav.globalMenuSp ul li ul.subMenu {
	display: none;
	padding: 0 0 0 1.5em;
}

nav.globalMenuSp ul li ul.subMenu li a {
	font-weight: normal;
}

nav.globalMenuSp .btn-entry {
	width: 100%;
	max-width: 335px;
	margin: 0 auto;
}

nav.globalMenuSp .btn-entry a {
	display: block;
	font-size: 14px;
	letter-spacing: .08em;
	font-weight: bold;
	text-align: center;
	padding: 1.5em;
	border-radius: 2em;
	background-color: #FFE243;
	position: relative;
}

nav.globalMenuSp .btn-entry a::after {
  content: url("/asset/img/common/arrowR.svg");
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 1.5em;
	transform: translateY(-50%);
}

nav.globalMenuSp .entry-box {
	width: 100%;
	max-width: 335px;
	margin: 20px auto 0;
	border: solid 1px #46484B;
}

nav.globalMenuSp .entry-box .entry-box-title {
	background-color: #46484B;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	padding: .5em;
}

nav.globalMenuSp .entry-box .entry-box-content {
	display: flex;
	justify-content: space-between;
	padding: 12px 15px;
}

nav.globalMenuSp .entry-box .entry-box-content .entry-box-content--item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	flex-wrap: wrap;
}

nav.globalMenuSp .entry-box .entry-box-content .tel a{
	display: block; 
}

nav.globalMenuSp .entry-box .entry-box-content .tel a img{
	width: 100%; 
}

nav.globalMenuSp .entry-box .entry-box-content .time {
	font-size: 12px;
	letter-spacing: .1em;
	font-weight: 500;
	color: #737375;
	line-height: 1;
	margin-top: 5px;
}

nav.globalMenuSp .entry-box .entry-box-content .btn-entry-tel a {
	display: block;
	font-size: 12px;
	font-weight: bold;
	padding: 1em 2em 1em 1em;
	background-color: #FFE243;
	border-radius: 9px;
	position: relative;
}
nav.globalMenuSp .entry-box .entry-box-content .btn-entry-tel a::after {
  content: url("/asset/img/common/arrowR.svg");
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%) scale(.8);
}

.wrapper {
	padding-top: 60px;
	overflow: hidden;
}


/*===================================
	footer 
===================================*/
footer {
	background-color: #6A6B6E;
	font-size: 12px;
	font-weight: 500;
	color: rgba(255,255,255,0.70);
}

.footer_inner {
	padding: 16px 20px 10px;
}

.footer-block {
	display: flex;
	flex-wrap: wrap;
}

.footer-block--item {
	width: 50%;
	margin-top: 24px;
}

ul.footerMenu a {
	padding: 8px;
}

ul.footerMenu a.footerMenu_title {
	font-weight: bold;
	color: rgba(255,255,255,1.0); 
}

.footer-block.infoCorp {
	display: block;
	margin-top: 40px;
	border-top: solid 1px rgba(255,255,255,0.40);
	padding-bottom: 30px;
}

.footer-block.infoCorp p {
	line-height: 2;
}

.footer_logo {
	margin-top: 30px;
}
.footer_logo img{
	width: 140px !important;
}

.footer_logo p {
	margin-top: 20px;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: .01em;
	line-height: inherit;
	color: rgba(255,255,255,1.0);
}

.copy {
	margin-top: 30px;
	font-size: 12px;
	letter-spacing: .01em;
	font-weight: normal;
	color: rgba(255,255,255,0.50);
	text-align: center;
}


/*===================================
	main
===================================*/
.sec_title {
	text-align: center;
	padding: 0 20px;
}

.sec_title h6 {
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .05em;
	line-height: 1.28;
	color: #FFD800;
	margin: 0;
}
.sec_title .h6 {
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .05em;
	line-height: 1.28;
	color: #FFD800;
	margin: 0;
}

.sec_title h2 {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.45;
	margin: 0;
	margin-top: 6px;
}

.sec_title p {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1.42;
	color: rgba(70,72,75,0.70);
	margin: 0;
	margin-top: 11px;
}

.bg_gray {
	background-color: #F5F5F6;
}
.bg_transparent{
	background-color: transparent;
}


/*===================================
	ぱんくず
===================================*/
.breadCrumb_area {
	background: #F5F5F6;
}

.breadCrumb_area .inner {
	max-width: 100%;
	margin: 0 auto;
}

.breadCrumb {
	list-style-type: none;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	padding: 0;
	margin: 0;
	overflow-x: scroll;
	scrollbar-width: none;
}

.breadCrumb::-webkit-scrollbar {
	display: none;
}

.breadCrumb li {
	padding: 0 1em;
	position: relative;
}

.breadCrumb li::after {
	content: '/';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	font-size: 12px;
	color: #737375;
}

.breadCrumb li:last-child::after {
	display: none;
}

.breadCrumb li a.breadCrumb_item {
	padding-bottom: 0.2em;
}

.breadCrumb li a.breadCrumb_item.active {
	padding-bottom: 0.2em;
	font-weight: 500;
	pointer-events: none;
}

.breadCrumb li a span {
	font-size: 12px;
	letter-spacing: 1.2px;
	color: #737375;
	display: inline-block;
	white-space: nowrap;
}


/*===================================
	sec_contact
===================================*/
/*---.sec_contact---*/
.sec_contact {
	padding: 60px 0 0;
	background-color: #FFD800;
}

.sec_contact .text-block {
	padding: 0 20px;
	text-align: center;
}

.sec_contact .text-block h2 {
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 1.92px;
	color: #FFFFFF;
	font-weight: 600;
}

.sec_contact .text-block h3 {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1.45;
	margin-top: 30px;
}

.sec_contact .text-block p {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.16px;
	line-height: 1.5;
	margin-top: 20px;
	color: rgba(70,72,75,0.70);
}

.contactBtn {
	text-align: center;
}

.contactBtn a {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1.4px;
	line-height: 1.5;
	padding: 20px;
	background-color: #FFFFFF;
	border-radius: 100px;
	max-width: 335px;
	width: 100%;
	margin: 50px auto;
	position: relative;
}

.contactBtn a::after {
	content: '';
	background: url("/asset/img/common/arrowR.svg") no-repeat;
	background-size: contain;
	width: 7.3px;
	height: 12.4px;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
}

.contactBtn a:hover{
	box-shadow: 0px 3px 6px #00000029;
}

.sec_contact .image-block {
	background: url("/asset/img/top/contact_sp.jpg") no-repeat;
	background-size: cover;
	background-position: center;
	width: 100vw;
	height: 59.4666vw;
}


/*===================================
	.page_heading
===================================*/
.page_heading {
	position: relative;
	margin-bottom: 30px; 
}
.page_heading::before {
	content: '';
	display: inline-block;
	width: 50%;
	height: 2px;
	background-color: #FFD800;
	position: absolute;
	/*    top: calc(100% - 1em);*/
	top: 30px;
	left: 0;
	z-index: -1; 
}
.page_heading .inner {
	width: 100%;
	margin: 50px auto 0;
	padding-left: 20px; 
}
.page_heading .inner > div {
	background-color: #FFFFFF;
	padding-left: 20px; 
}
.page_heading .inner p {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .06em;
	line-height: 2;
	margin: 0; 
}
.page_heading .inner h1 {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: .09em;
	line-height: 1.45;
	margin: 10px 0 0; 
}
.page_heading .inner h2 {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: .09em;
	line-height: 1.45;
	margin: 10px 0 0; 
}
.page_heading .inner p.subText {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.57;
	margin: 24px 0 0; 
}


/* ヘッダー改修(20231020)*/
nav ul li a span.header_icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 6px;
  vertical-align: middle;
  flex-shrink: 0;
  background: url(/asset/img/common/icon_house-door-fill.svg) no-repeat;
  background-size: contain;
  background-position: bottom;
}
nav ul li:nth-child(2) a span.header_icon {
  background: url(/asset/img/common/icon_business-hands.svg) no-repeat;
  background-size: contain;
  background-position: bottom;
}
nav ul li:nth-child(3) a span.header_icon {
  background: url(/asset/img/common/icon_building.svg) no-repeat;
  background-size: contain;
  background-position: bottom;
}
nav ul li:nth-child(4) a span.header_icon {
  background: url(/asset/img/common/icon_book.svg) no-repeat;
  background-size: contain;
  background-position: bottom;
}
nav ul li:nth-child(5) a span.header_icon {
  background: url(/asset/img/common/icon_headset.svg) no-repeat;  
  background-size: contain;
  background-position: bottom;
}
nav.globalMenuSp .btn-entry._whitepaper a {
  background-color: #7FAD97;
  color: #FFFFFF;
}
nav.globalMenuSp .btn-entry._whitepaper a::after {
      content: url(/asset/img/common/arrow_right_white.svg);
}


































