@charset "utf-8";

/**********************************************************
全ページ共通設定（デフォルト）モバイルファースト
**********************************************************/
body{
	font-size: 100%;
	font-size: 16px;
	font-weight: normal;
	line-height:1.8;
	font-family: "Noto Sans CJK JP", sans-serif;
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust:none;
	background:#fffee5;
	text-align:left;
	position:relative;
	word-wrap: break-word;
	color: #000;
}
body::before {
	content: "";
	position: absolute;
	inset: 50px 0 0 0;
	background-image: url(../img/bg_circle_sp.webp);
	background-repeat: repeat-y;
	background-size: contain;
	background-position: top center;
	z-index: -1;
}

body::before {
  left: -60px; /* 左にずらす */
}

body::after {
  right: -60px; /* 右にずらす */
}

a{text-decoration: none;}
ul,li {
	list-style: none;
	padding: 0;
	margin: 0;
}
sup{
	font-size: 70%;
}

.for-pc{
	display: none;
}

/*改行*/
.br-pc{
	display: none;
}
.br-sp{
	display: block;
}

.main_wrap{
	padding: 0 10px;
}
.mv_wrap {
	position: relative;
	padding: 10px 10px 70px;
	text-align: center;
	line-height: 1.6;
	background-image: url("../img/mv_sp.webp");
	background-repeat: no-repeat;
    width: 100%;
    box-sizing: border-box;
    background-size: contain;
    background-position: center;  margin-top: -2em;
}

.mv_wrap h2 {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 0;
	margin-top: 40px;
}

.mv_wrap span {
  font-size: 1.4rem;
  font-weight: bold;
}
.mv_wrap p{
	margin: 0 auto;
}

.mv_wrap .enkeibtn{
	max-width: 270px;
}
a.btn--cubic {
  border-bottom: 5px solid #432a02;
}

a.btn--cubic:hover {
  margin-top: 3px;
  border-bottom: 2px solid #432a02;
  transition:0.2s ease, transform 0.1s ease;
}

a.btn--radius {
  border-radius: 100vh;
}

h1,.nav p img{
    width: 60%;
    padding-left: 0.2em;
}
h1 img,.nav p img{
    max-width: 100%;
}



/* ボタンの設定 */
.btn {
	border-radius:12px;
	text-align: center;
	margin: 10px;
	transition: all 0.5s;
    border: 3px solid #432a02;
    border-radius: 100vh;
    background: #fff;
    width: 80%;
    margin: 10px auto 20px;
}

.btn a{
	font-size: 18px;
	display: block;
	position: relative;
	padding: 10px;	
	font-weight: bold;
	color: #000;
}

.enkeibtn a:before{
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	background: url("../img/icon_enkei.webp") no-repeat;
	background-size: contain;
	margin-right: 8px;
    position: absolute;
    left: 22px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.checkbtn a:before{
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	background: url("../img/icon_check.webp") no-repeat;
	background-size: contain;
	margin-right: 8px;
    position: absolute;
    left: 22px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.qabtn a:before{
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	background: url("../img/icon_qa.webp") no-repeat;
	background-size: contain;
	margin-right: 8px;
    position: absolute;
    left: 22px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.searchbtn a:before,
.modal_searchbtn a:before{
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	background: url("../img/icon_search.webp") no-repeat;
	background-size: contain;
	margin-right: 8px;
    position: absolute;
    left: 22px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.nav ul li.searchbtn a{
    background: #ffc000;
}
.nav ul li a{
	padding-left: 40px;
}
.nav ul li a:before{
	width: 40px;
	height: 40px;
}
nav.for-sp{
	margin-top: 2em;
}
nav.for-sp ul li.searchbtn a {
    background: #ff71af;
    color: #fff;
}
nav.for-sp a:before{
    width: 40px;
    height: 40px;	
}


a:visited {
	color: inherit;
}

.page-title{
	display: none;
}

.pc-menu{
	display: none;
}

.name_wrap p span{
    display: block;
    font-size: 1.2em;
    font-weight: 500;	
}

.top-btn_wrap .btn{
    border-radius: 5vh;
    width: 93%;
	border: none;
}
.top-btn_wrap .btn a{
    padding: 55px 10px 40px;
	color: #000;
    font-size: 16px;
    font-weight: normal;
	position: relative;
}
.top-btn_wrap .btn a:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 5vh;
	z-index: -1;  
	border-bottom: 10px solid #5a3b00;
}
.top-btn_wrap .btn a img{
    position: absolute;
    top: -1%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 30%;
}

.top-btn_wrap .inner_top-btn {
	margin-top: 5em;
}
.top-btn_wrap .btn a span{
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 10px;
}
.top-btn_wrap .arrow-btn {
	position: absolute;
	bottom: 0;
	right: 0;
	background: #ffc000;
	width: 55px;
	height: 45px;
	border-radius: 26px 0 4.2vh;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 0!important;
}
.top-btn_wrap.row2 .inner_top-btn{
	margin-top: 3em;
}
.top-btn_wrap .btn.qa_btn a{
	padding-top: 20px;
}
.top-btn_wrap .btn.qa_btn img{
	position: relative;
	transform: initial;
	left: 0;
	height: 66px;
	top: -30%;
    width: auto;
}

/* 横棒 */
.arrow-btn::before {
    content: "";
    display: block;
    width: 25px;
    height: 5px;
    background: #432a02;
    position: relative;
    right: -10px;
    border-radius: 100vh;
    top: 16px;
}

/* 三角（矢印の先端） */
.arrow-btn::after {
    content: "";
    position: absolute;
    right: 10px;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 12px solid #432a02;
    top: 8px;
}

.top-btn_wrap .inner_top-search .btn{
	background: #ffc000;
}
.top-btn_wrap .inner_top-search .arrow-btn{
	background: #fff;
}


.top_btn_block li{
	border-radius: 5vh;
    width: 93%;
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 3em;
    border: none;
}
.top_btn_block li a{
    border-radius: 5vh;
    border-bottom: 10px solid #432a02;
    padding: 55px 10px 40px;
	}

.top_btn_block li img{
    position: absolute;
    top: -1%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 30%;
}
.top_btn_block li span{
    font-size: 16px;
    font-weight: normal;
	display: block;
	white-space: nowrap;
}
.top_btn_block li .arrow-btn{
    position: absolute;
    bottom: 0;
    right: 0;
    background: #ffc000;
    width: 55px;
    height: 45px;
    border-radius: 26px 0 4.2vh;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0 !important;
}
.top_btn_block li .arrow-btn::after {
    top: 10px;
}
.top_btn_block li .arrow-btn::before {
    top: -2px;
    right: 0;
}
.top_btn_block li.bgyellow{
	background: #ffc000;
}
.top_btn_block li.bgyellow .arrow-btn{
	background: #fff;
}
.top_btn_block img{
	max-width: 135px;
}
.top-btn_wrap .btn.top_qabtn a{
    padding-top: 20px;
    font-size: 28px;
	font-weight: bold;
    padding-top: 10px;
    padding-bottom: 10px;
}
.top-btn_wrap .btn.top_qabtn a img{
    position: relative;
    transform: initial;
    left: 0;
    height: 100px;
    top: -30%;
    width: auto;
    text-align: center;
    margin: 0 auto;
	display: block;
}
.top-btn_wrap .btn.top_qabtn a span {
    font-size: 16px;
	font-weight: normal;
}
.top-btn_wrap .btn.top_qabtn .arrow-btn::before{
    top: 18px;
    right: -14px;
}
.top-btn_wrap.row2 .btn{
	margin-top: 1em;
}

/* --------------------
   ハンバーガーボタン
-------------------- */
.hamburger {
	width: 50px;
	height: 50px;
	position: fixed;
	top: 25px;
	right: 20px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #fff;  
	border-radius: 20px; 
	box-shadow: 0 5px 0 #5a3b00; 
	z-index: 1001;
	transition: 0.3s;
    border: 2px solid #5a3b00;
}
.hamburger span {
  display: block;
  width: 30px;
  height: 4px;
  background: #5a3b00; /* 茶色 */
  border-radius: 3px;
  margin: 3px 0;
  transition: 0.3s;
}
/* 押したときの凹み */
.hamburger:active {
  box-shadow: 0 2px 0 #5a3b00;
  transform: translateY(4px);
}
/* アクティブ状態（×に変形） */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(8px, -8px);
}

/* --------------------
   全画面メニュー
-------------------- */
.nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	background: #fff;
	display: flex;
	align-items: center;
    justify-content: flex-start;
	transform: translateX(100%);
	transition: 0.4s ease;
	z-index: 1000;
    flex-wrap: wrap;	
    border-bottom: 3px solid #5a3b00;
	border-radius: 0 0 2vh 2vh;
}
.nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: center;
	width: 100%;
}
.nav ul li {
  margin: 20px 0;
}
.nav ul li a {
  font-size: 16px;
  text-decoration: none;
}
.nav ul li {
    margin: 20px auto;
    width: 80%;
}
.nav .logo{
	margin-bottom: 0;
}

/* 表示時 */
.nav.active {
  transform: translateX(0);
}


/* フッター */
footer{
	background: #fff;
	border-top: 3px solid #432a02;
	margin-top: 4em;
	padding-bottom: 7em;
}
footer .footer-inner {
	padding: 1.2em;
}
footer .footer_block{
	width: 70%;
}
footer .footer_block img{
    width: 100%;
}
footer .external_link ul li a{
	color: #7d7d7d;
}
footer .footer_nav ul li a{
	color: #000000;
	font-weight: 500;
}
/*
footer .external_link ul li,
footer .footer_nav ul li{
	padding: .5em 0;
}
*/
footer .copy{
	font-size: .8em;
	color: #7d7d7d;
	text-align: center;
}
footer .external_link ul li a:after{
	font-family: 'Font Awesome 5 Free';
	content: '\f35d';
	font-size: 0.9em;
	margin: 0px 5px;
	font-weight: 900;
}


/*コンテンツ*/
.name_wrap{
    padding: 0 1em;
}
.innner_contents{
	background: #fff;
	margin: 1em 15px;
	padding: 1em 0;
	border-radius: 15px;
}

h2.h2_ttl{
	color: #000;
	display: inline;
	padding: 5px;
	vertical-align: middle;
	position: relative;
    /*font-size: 1.4em;*/
    font-size: 5vw;
}
h2.h2_ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;    
  background: #432a02;
  border-radius: 2px; 
}
h2.h2_ttl img{
    width: 8%;
}
.article_note dl{
	display: flex;
    flex-wrap: wrap;
    font-size: .7em;
}
.article_note dl dt{
	width: 6%;
}
.article_note dl dd{
    margin-left: 0;
    width: 90%;
}

.article_note{
    border-top: 2px solid #432a02;
    margin-top: 2em;
}
.note {
    text-align: right;
    font-size: .7em;
}
.bottom_menu{    
	background: #fff;
    margin: 1em 15px;
    padding: 1em;
    border-radius: 15px;
}
.bottom_menu p{
	font-weight: bold;
	font-size: 1.3em;
	margin: 0 auto;
}
.bottom_menu p a{
	color: #000;
}
.bottom_menu p a:hover{
	text-decoration: underline;	
	opacity: 0.6;
	transition: 0.5s;
}
.bottom_menu ul li{
    width: 100%;
	margin: 1em 0 20px;
}
.bottom_menu ul li a {
	display: inline-flex;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	color: #000;
	text-decoration: none;
	position: relative;
	padding-bottom: 6px;
}
.bottom_menu ul li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background: #5c3b00;
}

.bottom_menu ul li a.active{
	pointer-events: none;
}
.bottom_menu ul li a.active .arrow{
	display: none;
}

.bottom_menu.local_menu{    
	padding: 10px 2em;
    background: #f7f7f7;
    border-radius: 0;
    margin: 1em 0 0 0;
}

.bottom_menu.local_menu li {
	margin-top: 0;
}
.arrow {
	margin-left: 5px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #ffbf00; 
	position: relative;
}

/* 横棒 */
.arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 25%;
	width: 10px;
	height: 3px;
	background: #000;
	transform: translateY(-50%);
}

/* 三角 */
.arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18%;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #432a02;
    transform: translateY(-50%);
}

/* ルビ */
ruby rt {
  font-size: 0.5em;   /* 親文字に対する比率 */
  line-height: 1;
}

/* ルビと本文の間の余白や折返し防止 */
ruby {
  white-space: nowrap; /* ルビ付き語を改行させたくないとき */
  vertical-align: middle;
}

.related_btn_wrap{
	margin-top: 1em;
    padding: 1em 2em 0;
}
.related_btn_wrap .btn a{
	font-size: 16px;
	padding: 5px 10px;
}

.related_btn_wrap .btn{
	width: 100%;
    line-height: 1.5;
}
.related_btn_wrap .btn.searchbtn {
    background: #ffc000;
}
.related_btn_wrap .btn.searchbtn a {
    background: #ffc000;
    color: #432a02;
}
.related_btn_wrap .btn.searchbtn a:before{
	display: none;
}

/**/
.news{
	background: #fff;
	padding: 1em;
    border-radius: 5vh;
    width: 93%;
    margin: 1em auto 0;
	box-sizing: border-box;
}
.news p span{
    color: #7d7d7d;
	font-size: .8em;
	display: block;
}
.news p{
	margin-left: 0;
	margin-bottom: 1em;
	font-size: 16px;
}
.news > p{
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 10px;	
}
.news p a{
    border-bottom: 2px solid #432a02;
}

.list_circle{
    color: #432a02;
    margin-right: 5px;
}
.caption{
	font-size: 1em;
	font-weight: 500;
	text-align: center;
}


/***モーダル****/
.modal_wrap {
	position: fixed;
	top: 0; 
	left: 0;
	width: 100%; 
	height: 100%;
	background: rgba(0,0,0,0.8);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	overflow-y: auto;     
}

.modal_content {
	background: #fff;
	padding: 30px 20px;
	border-radius: 10px;
	position: relative;
	border: 3px solid #432a02;
    width: 85%;
    margin: 0 auto;
    top: 10%;
	text-align: center;
}

.close-modal {
	position: absolute;
	font-size: 40px;
	cursor: pointer;	
    border: 3px solid #432a02;
    border-radius: 100vh;
    width: 60px;
    height: 60px;
    top: -3%;
    background: #Fff;
    right: -1%;
    font-weight: 500;
	color: #432a02;
}
.modal_searchbtn a:before{
    width: 35px;
    height: 35px;
	left: 30px;
}
.modal_searchbtn {
	width: 100%;
}
.modal_searchbtn i:before{
	margin-left: 10px;
}
.modal_searchbtn a{
    background: #ffc000;
    padding-left: 30px;
}
.modal_notice{
    font-size: .9em;
    padding-left: 1em;
    text-indent: -1em;
}
.modal_lead{
	font-weight: 500;
}

.breadcrumb {
	display: flex;
	font-size: 12px;
	margin-left: 1em;
	margin-bottom: 1em;
}
.breadcrumb li,
.breadcrumb a{
	color: #7d7d7d;
}
.breadcrumb li:not(:first-child)::before{
	display: inline-block;
	width: 0.1em;
	height: 0.8em;
	content: ">";
	margin-inline: 0.7em;
}
.breadcrumb-wrapper{
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.breadcrumb li{
	white-space: nowrap;
}
.breadcrumb li:last-child{
	padding-right: 10px;
}

.Pinch-out{
	font-size:.8em;
	text-align: center;
	padding: 0!important;
	margin: 0;
}
.scroll_txt{
	font-size:.8em;
	text-align: left;
	padding-left: 0!important;
	margin: 0 0 10px!important;
	
}
.name_wrap p span.nn,
.name_block span.nn{
	display: none !important;
	font-size: inherit !important;
	font-weight: normal;
	margin: 0;
}


/* --------------------
   プルダウンメニュー
-------------------- */
header .btn.enkeibtn,
header .btn.qabtn{
	position: relative;
}
/* サブメニュー初期状態は非表示 */
.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 250px;
  margin: 0;
  padding: 15px;
  border: 3px solid #5a3b00;
  border-radius: 20px;
  background: #fff;
  list-style: none;
  z-index: 100;
}

/* サブメニュー内リンク */
.submenu li{
	width: 100%!important;
	display: block;
}
.submenu li a {
	display: flex;
	align-items: center;
	text-decoration: none;
	font-size: 15px;
	color: #333;
	position: relative;
	padding-left: 1em;
}
.submenu li a .arrow {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffbf00;
    position: relative;
    margin-left: 0;
    margin-right: 10px;
}
.submenu li a .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 25%;
    width: 10px;
    height: 3px;
    background: #000;
    transform: translateY(-50%);
}
.submenu li a .arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18%;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #432a02;
    transform: translateY(-50%);
}


/* ▼ボタン */
.submenu-toggle {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  width: 20px;              /* ボタンサイズ */
  height: 20px;
  border-radius: 50%;       /* 丸 */
  background: #ffc000;      /* 背景色 */
  color: #fff;              /* 矢印色 */
  font-size: 12px;
  border: none;
  cursor: pointer;
  display: flex;            /* 中央寄せ */
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
}

/* 開いたとき */
.submenu-toggle[aria-expanded="true"]::after {
  content: "▲";
  font-size: 12px;
}
.submenu-toggle[aria-expanded="false"]::after {
  content: "▼";
}

.nav .submenu li{
	margin: 0;
}
.enkeibtn .submenu a:before,
.qabtn .submenu a:before{
	display: none;
}
.header-inner {
    position: relative;
  }


#sp_float_bnr{
	position: fixed;
	bottom: 0;
	left: 0;
	text-align: center;
	padding: 15px 0 5px;
	background: rgb(0 0 0 / 70%);
	display: none;
	z-index: 99;
	width: 100%;
}
#sp_float_bnr a{
	background: #ffc000;
}

.up-btn {
  width: 40px;
  height: 40px;
  background: #444;
  border-radius: 50%;
  position: fixed;     /* 常に表示する */
  bottom: 9em;        /* 画面下からの距離 */
  right: 20px;         /* 画面右からの距離 */
  cursor: pointer;

  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;       /* 最前面に表示 */
}

/* 矢印 */
.up-btn::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-45deg);
}


/* クッキーの使用 */
#cookie {
	background-color: rgba(0, 0, 0, 0.6);
	bottom: 0;
	color: #fff;
	left: 0;
	position: fixed;
	z-index: 9999;
	transition: transform 0.5s ease, opacity 0.5s ease;
  	transform: translateY(100%);
}
#cookie.hide {
	transform: translateY(100%);
  	opacity: 0;
}
#cookie p {
	font-size: 85%;
	margin: 1.5em;
}
#cookie a {
	color: inherit;
	text-decoration: underline;
}
#cookie a:hover {
	opacity: 0.7;
	text-decoration: none;
}
#cookie button {
	background: transparent;
	border: 1px solid #fff;
	color: #fff;
	cursor: pointer;
	line-height: 1;
	padding: 1em;
	width: 100%;
}
#cookie button::before {
	content: "×";
	font-size: 150%;
	margin-right: 0.2em;
}

@media only screen and (min-width: 1024px) {
	#cookie {
		display: flex;
	}
	#cookie p:first-child {
		margin-left: 5em;
	}
	#cookie button {
		margin-right: 5em;
		width: 100px;
	}
}

/********************************************
タブレット
*********************************************/
@media screen and (min-width:768px){
	.for-sp{
		display: none;
	}
	.for-pc{
		display: block;
	}
	/*改行*/
	.br-pc{
		display: block;
	}
	.br-sp{
		display: none;
	}
	
	
	.hamburger {
		top: 40px;
	}
	.nav p img{
		width: 60%;
	}
	h1{
		margin-bottom: 0;
	}
	.nav{
		padding-bottom: 2em;
	}
	body#top::before{
		background-size: cover;
	}
	.contents_wrap{
		display: flex;
        align-items: flex-start;
		padding: 1em .5em 0;
	}
	.mv_wrap {
		background-image: url("../img/mv_pc.webp");
        background-size: 100% auto;
        background-position: top center;
        padding: 10px 10px 100px;
		margin-top: 0;
	}
	
	.mv_wrap h2 {
		font-size: 2.5em;
		margin-top: 0;
		margin-bottom: 10px;
	}
	.mv_wrap p{
		margin: 0;
	}
	.mv_wrap span{
		font-size: 1.6em;
	}
	.mv_wrap .btn{
		width: 35%;
		margin-top: 1.4em;
	}
	.mv_wrap .btn.enkeibtn a:before{
		width: 40px;
		height: 40px;
	}
	.mv_wrap .btn.enkeibtn a{
		padding-left: 50px;
	}
	.name_wrap p{
		font-size: 15px;
	}

	.name_wrap{
		display: flex;
		justify-content: flex-end;
	}
	
	.top-btn_wrap{
		display: flex;
	}
	.top-btn_wrap .inner_top-btn{
		margin-top: 5em;
        width: 33.3%;
	}
	.top-btn_wrap .btn a{
		height: 195px;
	}
	.top-btn_wrap .btn a img{
		width: 50%;
	}
	.top-btn_wrap.row2 .btn a{
		height: auto;
		padding-bottom: 80px;
	}
	.top-btn_wrap.row2 .btn{
		margin-top: 3em;
	}
	.news{
		width: 66.6%;
	}
	
	.top_btn_block{
		display: flex;
		gap: 0 10px;
		padding: 0 10px;
	}
	.top_btn_block li{
		width: 33.3%;
	}
	.top_btn_block li a{
		height: 195px;
	}
	.top_btn_block li img{
		width: 50%;
	}

	.top_btn_block li span{
		white-space:normal;
	}
	.top-btn_wrap.row2 .top_btn_block{
		margin-top: -3em;
	}

	h2.h2_ttl{
		font-size: 30px;
	}
	h2.h2_ttl img{
		width: 35px;
	}
	
	.bottom_menu ul{
		display: flex;
		flex-wrap: wrap;
/*        justify-content: space-between;*/
	}
	.bottom_menu ul li{
		width: 50%;
/*		width: 48%;*/
		margin-bottom: 0;
	}
	
	.related_btn_wrap ul{
		display: flex;
        gap: 0 20px;
	}
	
	.caption{
		margin-top: 2em;
	}
	
	/* TOPページ */
	.top-btn_wrap .btn.qa_btn img{
		top: 0;
	}
	.top-btn_wrap .btn.qa_btn br{
		display: none;
	}
	

/* フッター */
	footer{
		padding-bottom: 0;
	}
	footer .footer-inner{
		padding: 1em;
	}
	footer .footer_block{
		width: 100%;
		margin-bottom: 1em;
	}
	footer .footer_nav ul,
	footer .external_link ul{
		display: flex;
        justify-content: space-between;
	}
	footer .logo_kaken{
		width: 30%;
	}
	footer .external_link ul li, footer .footer_nav ul li{
		padding: 0 .5em;
	}
	
	/*モーダル*/
	.modal_searchbtn{
		width: 50%;
        background: #ffc000;
	}
	
	.breadcrumb{
		font-size: 14px;
	}
	
	.scroll_txt{
		display: none;
	}
	
	.name_wrap p span.nn,
	.name_block span.nn{
		display: initial !important;
	}

	#sp_float_bnr{
		display: none !important;
	}

	.up-btn{
		bottom: 2.2em;
	}
	
	
}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1024px) {

	body::before {
		inset: 100px 0 0 0;
		background-image: url(../img/bg_circle_pc.webp);
	}

	/*改行*/
	.br-pc{
		display: block;
	}
	.br-sp{
		display: none;
	}

	/* スマホ以外のtel無効 */
	a[href^="tel:"] {
		pointer-events: none;
	}
	.contents_wrap,
	.contetns_block{
		width: 1200px;
		margin: 0 auto 0;
	}
	h1 img{
		width: 272px;
	}
	.contents_wrap{
		margin-top: 20px;
	}
	.breadcrumb{
		margin: 30px 0 10px 30px;
	}
	.breadcrumb a:hover{
        text-decoration: underline;
	}
	
	h2.h2_ttl{
		padding: 5px 30px;
	}
	
	footer .footer-inner{
		width: 1200px;
		margin: 0 auto;
	}
	.hamburger {
		display: none;
	}
	.nav {
		position: static;
		transform: none;
		display: block;
		height: auto;
		background: none;
		justify-content: flex-end;
		border: none;
		padding: 0;
	}
	.nav ul {
		gap: 5px;
		display: flex;
        margin-left: 20px;
	}
	.nav ul li{
		margin: 0;
	}
	.nav p{
		display: none;
	}
/*
	.nav ul li:first-child{width: 235px;}	
	.nav ul li:nth-child(2){width: 230px;}
*/
	.nav ul li:nth-child(3){width: 115px;}
	.nav ul li:nth-child(4){
		width: 250px;
		background: #ffc000;
	}
	
	h1{
		width: 35%;
		margin-top: 0;
	}
	.header-inner{
		display: flex;
		align-items: center;
	}
	
	.article_note{
		padding: 20px 30px;
		width: 1045px;
		box-sizing: border-box;
	}
	.article_note dl dt {
		width: 3%;
	}
	.article_note dl dd {
		width: 97%;
		margin-bottom: 15px;
	}
	
	.related_btn_wrap .btn{
		width: 35%;
		margin: inherit;
	}
	.related_btn_wrap ul{
		gap: 30px;
        justify-content: center;
	}
	.article_note + .related_btn_wrap{
		margin-bottom: 2em;
	}
	.caption{
		font-size: 20px;
		margin-top: 50px;
	}
	
	.bottom_menu{
		padding: 30px;
	}
	.bottom_menu ul {
		gap:10px 20px;
        justify-content: flex-start;
	}
	.bottom_menu ul li{
        width: auto;
	}
	.bottom_menu ul li a{
		font-size: 18px;
	}
	
	.bottom_menu.local_menu{   
		padding: 2em 10px 2em 2em;
	}
	.top_only header{
		width: 25%;
	}
	
	footer .footer_block{
		display: flex;
        align-items: center;
	}
	footer .logo_kaken{
		width: 280px;
	}
	.footer_nav_wrap{
		width: 920px;
	}
	footer .footer_nav ul{
		gap: 0 30px;
        justify-content: end;
	}
	footer .footer_nav ul li a{
		font-size: 18px;
	}
	footer .external_link{
		display: flex;
		justify-content: space-between;
        align-items: flex-end;
	}
	footer .external_link ul {
        justify-content: flex-start;
	}
	footer .copy{
		margin: 0;
	}
	footer a:hover,
	.bottom_menu ul li a:hover,
	.news a:hover,
	.breadcrumb a:hover{
		opacity: 0.6;
		transition: 0.5s;
	}
	footer a:hover{
		text-decoration: underline;
	}
	
	/* TOPページ用のヘッダー */
	
	#top.index_top .header-inner{
		display: block;
	}
	#top.index_top h1{
		width: 100%;
	}
	#top.index_top .header-inner nav ul {
		display: block;
        margin-left: 10px;
	}
	#top.index_top .header-inner nav ul li{
		width: 265px;
		margin-bottom: 20px;
	}
	header.top_only{
        position: sticky;
        z-index: 1;
	}
	#top.index_top .main_wrap{
		height: 100px;
	}
	#top.index_top .name_wrap{
		width: 1200px;
        padding: 0 10px;
        box-sizing: border-box;
		margin: 0 auto;
		display: flex;
		justify-content: flex-end;
	}
	.mv_wrap{
		background-size: auto;
        height: 496px;
        position: absolute;
        top: 40px; 
        left: calc(50% - 300px);
        width: 900px;
	}
	.mv_wrap h2{
		font-size: 48px;
        margin-top: 20px;
		margin-bottom: 40px;
	}
	.mv_wrap p{
        font-size: 15px;
	}
	.mv_wrap .btn{
		width: 240px;
	}
	.mv_wrap .btn.enkeibtn a{
		width: 240px;
		padding-left: 40px;
		box-sizing: border-box;
	}
	.mv_wrap .btn.enkeibtn a:before{
		width: 30px;
		height: 30px;
	}
	.top-btn_wrap .btn{
		height: 220px;
	}
	.top-btn_wrap .btn a {
        height: 135px;
		padding: 50px 10px 30px;
    }
	.top-btn_wrap .btn a span{
		font-size: 26px;
		margin-bottom: 0;
	}
	.top-btn_wrap .btn a img{
		height: 120px;
		width: auto;
		top: -10%;
	}
	.top-btn_wrap .btn.qa_btn a{
		height: 165px;
	}
	.top-btn_wrap .btn.qa_btn br{
		display: block;
	}
	.top_btn_block li{
        height: 220px;
		margin-top: 5em;
	}
	.top_btn_block li img{
        height: 120px;
        width: auto;
        top: -10%;
	}
	.top_btn_block li a.btn--cubic{
        font-size: 26px;
        margin-bottom: 0;
        height: 120px;
	}
	.top-btn_wrap.row2 .top_btn_block{
		width: 33.3%;
		margin-top: 0;
	}
	.btn.top_qabtn{
		margin-top: 3em;
        height: 255px;
	}
	.top-btn_wrap.row2 .btn a{
        font-size: 30px;
		padding-bottom: 20px;
		padding-top: 5px;
	}
	.top-btn_wrap .btn.top_qabtn a img{
		height: 110px;
	}
	
	.news{
		margin-top: 3em;
		padding: 25px 30px 0;
	}
	.news > p {
		font-size: 26px;
		margin-top: 0;
	}
	.news p{
		display: flex;
        align-items: baseline;
	}
	.news p span{
		font-size: 18px;
	}
	.news_item p span{
        margin-right: 15px;
	}
	.top-btn_wrap .btn {
	  position: relative; /* ←必須 */
	  display: block;
	}
	.top-btn_wrap .btn:hover {
		transform: translateY(10px);
		transition: transform 0.2s ease;
	}
	.top-btn_wrap .btn:hover a:after{
		background: #fff;
		border-bottom: 5px solid #432a02;
	}
	.top-btn_wrap .inner_top-search .btn:hover a:after{
		background: #ffc000;
	}
	
	
	/*モーダル*/
	.modal_content{
		width: 800px;
	}
	.modal_content h2{
		font-size: 26px;
	}
	
	.Pinch-out{
		display: none;
	}
	
	
	/* --------------------
	   プルダウンメニュー
	-------------------- */	
	
	.nav ul li:first-child{width: 265px;}
	.nav ul li:first-child a{padding-left: 10px;}
	.nav ul li:nth-child(2){width: 200px;}
	.nav ul li:nth-child(2) a:before{
		left: 10px;
	}
	.nav ul li:nth-child(3){width: 150px;}
	.nav ul li:nth-child(3) a{padding-left: 10px;}
	.nav ul li:nth-child(3) #submenu-qa{
		width: 220px;
	}
	#submenu-enkei,#submenu-qa{
		display: block;
		margin-left: 0;
	}
	.nav ul.submenu li:nth-child(4){
		background: #fff;
	}
	.nav ul.submenu li a:hover{
		opacity: 0.6;
		transition: 0.5s;		
	}
	#top.index_top .header-inner nav ul .submenu{
		margin-left: -3px;
		width: 265px;
	}
	#top.index_top .header-inner nav ul .submenu li{
		margin-bottom: 0;
	}
	
	#top.index_top .header-inner nav ul li:nth-child(2) a:before{
		left: 22px;
	}
}
	
@media screen and (max-width: 767px) {
	.submenu-toggle {
		position: relative; 
		top: auto;
		right: auto;
		transform: none;
		margin-left: auto;    
		align-items: center;
		justify-content: center;
		display: block;
		margin-top: -3em;
		margin-right: 1em;
	}
	.submenu{
		position: relative; 
		top: 15px;
	}
	header .btn.enkeibtn, 
	header .btn.qabtn{
		border: none;
		margin-bottom: 40px;
	}
	header .btn.enkeibtn > a, 
	header .btn.qabtn > a{
		border: 3px solid #432a02;
		border-bottom: 2px solid #432a02;
		box-shadow: 0px 5px 0px #432a02;
	}

	.bottom_menu.local_menu li {
		margin-bottom: 10px;
	}
	.bottom_menu.local_menu li:last-child{
		margin-bottom: 0;
	}
	.bottom_menu.local_menu li a{
		font-size: 15px;
	}
}


