@charset "utf-8";

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

html {
	scroll-behavior: smooth;
}

#wrapper {
	overflow: hidden;
}
.sp {
	display: none;
}
.en {
	font-family: "Oswald", sans-serif;
}
.area {
	padding: 160px 20px;
	box-sizing: border-box;
}
.inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}
.txt_center {
	text-align: center;
}
.ttl01 {
	text-align: center;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 50px;
}
.ttl01 .en {
	display: block;
	font-size: 8rem;
	color: var(--color02);
	font-weight: 400;
}
.btn01 a {
	width: 100%;
	max-width: 380px;
	height: 86px;
	background: var(--color01);
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 2.2rem;
	display: block;
	border-radius: 10px;
	box-shadow: 0px 5px 0px 0px #af330f;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
}
.btn01 a:hover {
	opacity: 1;
}
.btn01 a::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/arrow01.png)no-repeat right center/22px 21px;
	width: 22px;
	height: 21px;
	right: 30px;
	top: 50%;
	transform: translate(0,-50%);
	transition: 0.3s;
}
.btn01 a:hover::after {
	right: 20px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.area {
		padding: 30px 20px;
	}
	.inner {
		max-width: 100%;
	}
	.ttl01 {
	font-size: 2rem;
	margin-bottom: 30px;
}
.ttl01 .en {
	font-size: 4rem;
}
}


/* header
-------------------------------------------------------*/
#header {
	padding: 20px;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	background: #FDF4ED;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* スクロール後 */
#header.is-fixed {
	position: fixed;
	background: #FDF4ED;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

#header .inner {
	max-width: 1240px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#header .logo img {
	max-width: 243px;
}
.nav_list {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-end;
}
.hamburger {
	display: none;
}

.nav_list li {
	margin-left: 25px;
	font-size: 1.6rem;
}

.nav_list a {
	color: #e55329;
	font-weight: 700;
	
}

.nav_btn a {
	color: #fff;
	background: #e55329;
	padding: 15px 30px;
	border-radius: 100px;
}

@media screen and (max-width:1060px) {
	#header .logo img {
	max-width: 190px;
}
	.nav_list li {
		font-size: 1.2rem;
		margin-left: 10px;
	}
	.nav_btn a {
	padding: 10px 15px;
}
}

@media screen and (max-width:768px) {
	#header {
		padding: 10px 20px;
	}


	.hamburger {
		width: 35px;
		height: 24px;
		position: fixed;
		top: 15px;
		right: 10px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		background: none;
		border: none;
		cursor: pointer;
		z-index: 1001;
	}
	.hamburger span {
		display: block;
		width: 100%;
		height: 2px;
		background: #333;
		border-radius: 2px;
		transition: all 0.3s ease;
	}
	.hamburger.open span:nth-child(1) {
		transform: translateY(10px) rotate(45deg);
	}
	.hamburger.open span:nth-child(2) {
		opacity: 0;
	}
	.hamburger.open span:nth-child(3) {
		transform: translateY(-10px) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		background: #EF9377;
		transition: right 0.4s ease;
		padding-top: 60px;
		z-index: 1000;
	}
	#nav.open {
		right: 0;
	}


	.nav_list {
		display: block;
	}

	.nav_list li {
		text-align: center;
		margin-left: 0;
		font-size: 2rem;
		margin-bottom: 30px;
	}

	.nav_list a {
	color: #fff;
}

.nav_btn {
	margin-top: 40px;
}

.nav_btn a {
	padding: 15px 30px;
}

}


/* visual
-------------------------------------------------------*/
#visual {
	max-width: 1700px;
	background: linear-gradient(to right,#e5a28f,#f1e3c6);
	border-radius: 50px;
	margin: 0 auto;
	position: relative;
	margin-bottom: 50px;
}
#visual.area {
	padding: 40px 100px;
}
#visual .txt {
	margin-bottom: 40px;
	position: relative;
	z-index: 2;
}
#visual .txt img {
	max-width: 609px;
}
#visual .visual_bg {
	position: absolute;
	right: 0;
	bottom: 0;
	height: 100%;
}
#visual .visual_bg img {
	height: 100%;
	width: auto;
}
#visual .visual_img {
	position: absolute;
	bottom: -12%;
	right: 5%;
	z-index: 1;
	max-width: 55%;
}
#visual .scroll {
	position: absolute;
	left: 0;
	transform: rotate(-90deg);
	font-size: 2.2rem;
	left: 10%;
	bottom: 30%;
}
#visual .scroll::after {
	position: absolute;
	display: block;
	content: "";
	width: 280px;
	height: 1px;
	background: #000;
	left: -300px;
	top: 19px;
}


@media screen and (max-width:1700px) {
	#visual  {
		margin-left: 20px;
		margin-right: 20px;
	}
}

@media screen and (max-width:1460px) {
	#visual .scroll {
		left: 20px;
	}
}

@media screen and (max-width:1200px) {
	#visual .visual_bg {
	right: -250px;
}
}

@media screen and (max-width:768px) {
	#visual .scroll {
		left: -5px;
		font-size: 1.2rem;
	}
	#visual .scroll::after {
		width: 120px;
		left: -140px;
		top: 10px;
	}
	#visual {
	border-radius: 30px;
}
#visual.area {
  padding: 20px;
}

#visual .visual_img {
	right: -30px;
	max-width: 50%;
	bottom: -5%;
}

.btn01 a {
	height: 70px;
	font-size: 1.8rem;
}
.btn01 a::after {
  background: url(../img/arrow01.png)no-repeat right center/15px 15px;
  width: 15px;
  height: 15px;
  right: 20px;
  top: 50%;
}

}


/* reason
-------------------------------------------------------*/

.reason {
	background: url(../img/bg_reason.png) no-repeat;
	background-position: top center;
}

.list_reason li  {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.list_reason li:nth-child(even){
	flex-direction:row-reverse;
}

.list_reason li .box {
	width: 50%;
}
.list_reason li .img {
	width: 40%;
}

.ttl_num {
	font-size: 3rem;
	
}
.ttl_num span {
	font-size: 6rem;
	margin-left: 10px;
	position: relative;
}
.ttl_num span::before {
	position: absolute;
	content: "";
	width: 47px;
	height: 5px;
	background: #f4530b;
	top: 25px;
	left: -110px;
}

.list_reason li .ttl {
	font-size: 3rem;
	color: #f4530b;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 20px;
}

.list_reason li.fast {
	margin-bottom: 150px;
}

.list_reason li.fast .img {
	position: relative;
}

.list_reason li.fast .img img {
	position: absolute;
	width: 537px;
}

@media screen and (max-width:1100px) {
	.list_reason li.fast {
	margin-bottom: 30px;
}
.list_reason li.fast .img img {
	position: relative;
	width: 100%;
}

}
@media screen and (max-width:768px) {
	.list_reason li  {
	display: block;
}
.list_reason li .box {
	width: 100%;
	margin-bottom: 30px;
}
.list_reason li .img {
	width: 70%;
	margin: 0 auto;
}
.ttl_num {
	font-size: 2rem;
	display: block;
	text-align: center;
}
.ttl_num span {
	font-size: 4rem;
}
.ttl_num span::before {
	width: 30px;
	height: 3px;
	top: 15px;
	left: -75px;
}

.list_reason li .ttl {
	font-size: 2.2rem;
	margin-bottom: 20px;
	text-align: center;
}

}


/* service
-------------------------------------------------------*/

.list_service {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.list_service li {
	width: 47%;
	border-radius: 30px;
	background: #fff;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
	padding:20px;
	margin-bottom: 80px;
	position: relative;
}

.list_service .num {
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: #e55329;
	color: #fff;
	font-size: 4.5rem;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
}

.list_service .img {
	margin-bottom: 20px;
}

.list_service .ttl {
	font-weight: 700;
	font-size: 3rem;
	margin-bottom: 10px;
}


.mid_ttl {
	background: #7e7370;
	border-radius: 100px;
	color: #fff;
	font-weight: 700;
	text-align: center;
	max-width: 620px;
	margin: 0 auto;
	padding: 20px;
	line-height: 1.2;
	font-size: 2.8rem;
	position: relative;
}
.mid_ttl::after {
	content: "";
	position: absolute;
	top: 100%;           /* 本体の下 */
	left: 50%;
	transform: translateX(-50%);
	border-width: 20px 16px 0 16px; /* 高さ・横幅調整 */
	border-style: solid;
	border-color: #7e7370 transparent transparent transparent;
}

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

.mid_box dt {
	width: 30%;
}
.mid_box dd {
	width: 65%;
}

@media screen and (max-width:768px) {

	.list_service {
	display: block;
}

.list_service li {
	width: 100%;
	margin-bottom: 50px;
	margin-top: 50px;
}

.list_service .num {
	width: 50px;
	height: 50px;
	font-size: 3rem;
	top: -25px;
}

.list_service .ttl {
	font-size: 2.5rem;
}

.mid_ttl {
	font-size: 2rem;
	margin-bottom: 30px;
}

.mid_box {
	display: block;
}

.mid_box dt {
	width: 50%;
	margin: 0 auto;
	margin-bottom: 20px;
}
.mid_box dd {
	width: 100%;
	margin-bottom: 50px;
}


}


/* flow
-------------------------------------------------------*/

.flow{
  position: relative;
  background: #FDF4ED; /* 左20%と上10%の“抜き”部分の色 */
  overflow: hidden;     /* 角丸を綺麗に切る */
  padding-bottom: 80px;
}
/* グラデーション部分だけを重ねる */
.flow::before{
  content: "";
  position: absolute;
  left: 20%;   /* 左20%は抜く */
  top: 18%;    /* 上10%は抜く */
  right: 0;
  bottom: 0;
  background: linear-gradient(to right, #F8DABC, #FAE0D6);

  /* グラデ部分の左上・左下だけ角丸30px */
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;

  z-index: 0;
}

/* 中身を疑似要素の上に出す */
.flow .inner{
  position: relative;
  z-index: 1;
}

.list_flow {
	margin-left: 10%;
}

.list_flow li {
	display: flex;
	margin-bottom: 40px;

}

.list_flow li:last-child {
	margin-bottom: 0;
}

.list_flow li .num {
	margin-right: 30px;
	display: block;
	background: #fff;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
	width: 100px;
	height: 100px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items:center;
	color: #e55329;
	font-size: 2rem;
	line-height: 1;
}

.num_big {
	font-size: 5rem;
}

.num_nomal {
	margin-top: 25px;
}

.list_flow li dl {
	width: 100%;
	flex: 1;
}

.list_flow li dl dt {
	font-weight: 700;
	color: #e55329;
	font-size: 2.2rem;
	margin-bottom: 10px;
	line-height: 1.4;
}

@media screen and (max-width:1440px) {
	.flow::before{
  left: 10%;   /* 左20%は抜く */
  top: 18%;    /* 上10%は抜く */
}

}

@media screen and (max-width:768px) {

.flow::before{
  left: 5%;   /* 左20%は抜く */
  top: 5%;    /* 上10%は抜く */
}

	.list_flow li .num {
	margin-right: 15px;
	width: 50px;
	height: 50px;
	font-size: 1rem;
}
.num_big {
	font-size: 2.5rem;
}
.num_nomal {
	margin-top: 12px;
}

.list_flow li dl dt {
	font-size: 1.8rem;
}

}




.goji_box {
	background: #fff;
	border-radius: 30px;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
	padding: 30px;
}

.goji_box .ttl_box {
	display: flex;
	align-items: center;
}

.goji_box .ttl_box dt {
	position: relative;
	margin-right: 20px;
}
.goji_box .ttl_box dt img {
	width: 276px;
	margin-top: -80px;
}

.goji_box .ttl_box dd {
	font-weight: 700;
	color: #e55329;
	background: #f9decd;
	font-size: 2.5rem;
	display: inline-block;
	line-height: 1.2;
}

.goji_box .list_img {
	display: flex;
	justify-content: space-between;
}

.goji_box .list_img li {
	width: 49%;
}

.pb0 {
	padding-bottom: 0;
}


@media screen and (max-width:768px) {
	.goji_box .ttl_box {
	display: block;
}

.goji_box .ttl_box dt {
	text-align: center;
}

.goji_box .ttl_box dt img {
	width: 150px;
	margin-top: -80px;
}

.goji_box .ttl_box dd {
	font-size: 1.8rem;
}

.goji_box .list_img {
	display: block;
}

.goji_box .list_img li {
	width: 100%;
}

}

/* faq
-------------------------------------------------------*/

.faq_box dl {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
	padding: 20px;
}

.faq_box dl:not(:last-child) {
    margin: 0 0 20px;
}
.faq_box dt {
    font-weight: 700;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
	cursor: pointer;
	transition: .3s;
	font-size: 2.2rem;
}
.faq_box dl dt span.icon {
    display: block;
    min-width: 30px;
	font-weight: 400;
	font-size: 3rem;
	color: #837672;
}
.faq_box dl dd {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    margin: 20px 0 0;
}
.faq_box dl dd p {
	padding: 5px 0 0;
}
.faq_box dl dd span.icon {
    display: block;
    min-width: 30px;
	font-weight: 400;
	font-size: 3rem;
	color: #e55329;
}
.faq_box .aco_btn {
	position: relative;
}
.faq_box .aco_btn .btn {
    position: absolute;
    top: 10px;
    bottom: -10px;
    right: 10px;
    margin: auto;
    display: block;
    width: 25px;
    height: 25px;
}
.faq_box .aco_btn .btn span {
    background: #5b5454;
    width: 25px;
    height: 2px;
    display: block;
}
.faq_box .aco_btn .btn span:first-child {
    transform: rotate(90deg) translateX(2px) scale(1);
    transition: .5s;
}
.faq_box .aco_btn.open .btn span:first-child {
    transform: rotate(90deg) translateX(2px) scale(0);
}
.faq_box .aco_btn:hover {
    opacity: .7;
}
@media screen and (max-width:768px) {
    .faq_box dl:not(:last-child) {
        margin: 0 0 20px;
    }
    .faq_box dl dt {
        align-items: flex-start;
        padding: 0 20px 0 0;
		font-size: 1.6rem;
		line-height: 1.4;
    }
    .faq_box dl dt span.icon {
        min-width: 30px;
        height: 30px;

    }
    .faq_box dl dd span.icon {
        display: block;
        min-width: 30px;
        height: 30px;
    }
    .faq_box .aco_btn .btn {
        right: 0;
        width: 20px;
        height: 20px;
        top: 7px;
    }
    .faq_box .aco_btn .btn span {
        width: 20px;
        height: 2px;
    }
    .faq_box .aco_btn .btn span:first-child {
        transform: rotate(90deg) translateX(2px) scale(1);
        transition: .5s;
    }
	.faq_box .aco_btn.open .btn span:first-child {
        transform: rotate(90deg) translateX(2px) scale(0);
    }
}

@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {

}



.ttl_map {
	margin-top: 100px;
	font-weight: 700;
	text-align: center;
	font-size: 3rem;
	margin-bottom: 30px;
}

.ttl_map span {
	color: #e55329;
}

.img_map {
	max-width: 624px;
	margin: 0 auto;
}
@media screen and (max-width:768px) {
	.ttl_map {
	margin-top: 60px;
	font-size: 2.2rem;
	margin-bottom: 15px;
}

}

/* contact
-------------------------------------------------------*/

#contact .inner {
	max-width: 800px;
}
.table_temp {
	width: 100%;
}

.table_temp th {
	text-align: left;
	padding: 10px;
	width: 30%;
}

.table_temp td {
	padding: 10px;
}

.table_temp tr {
	border-bottom: 1px solid #d6d6d6;
}

#contact.contact_after .inner {
	padding: 0;
}
#contact tr {
	display: table;
	width: 100%;
	table-layout: fixed;
}
#contact tr>* {
	display: table-cell;
	vertical-align: middle;
	padding: 20px 10px;
	box-sizing: border-box;
	line-height: 1;
}
#contact tr th {
	width: 300px;
	text-align: left;
}
#contact tr th b {
	display: block;
	position: relative;
	font-weight: normal;
}
#contact tr.hissu th b::after,
#contact tr.nini th b::after {
	color: #fff;
	font-weight: 500;
	font-size: 1.2rem;
	width: 34px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	padding: 5px 10px;
	border-radius: 3px;
}
#contact tr.hissu th b::after {
	content: "必須";
	background: #e55329;
}
#contact tr.nini th b::after {
	content: "任意";
	background: #777;
}
#contact.contact_after tr {
	border-bottom: 1px solid #ccc;
}
#contact.contact_after tr:first-child {
	border-top: 1px solid #ccc;
	margin: 30px 0 0;
}
#contact.contact_after tr th {
	color: #aaa;
}
#contact.contact_after tr td {
	font-weight: 500;
}
.txt_form .red,
.error_messe b {
	color: #e55329;
	font-weight: normal;
}
.error_messe {
	margin: 20px 0 0;
	text-align: center;
	line-height: 1.3;
}
.error_messe>* {
	display: inline-block;
}
#contact input[type="text"],
#contact select,
#contact textarea {
	width: 100%;
}
#contact input[type="text"],
#contact select {
	height: 40px;
}
#contact textarea {
	min-height: 150px;
	resize: vertical;
}
#contact .radio_area label,
#contact .check_area label {
	display: inline-block;
	margin: 5px 5px 5px 0;
	line-height: 1.3;
}
#contact .txt_form {
	text-align: center;
	line-height: 1.4;
}
#contact .txt_form span {
	display: block;
}
::placeholder {
	color: #ccc;
}
.form_btn {
	display: flex;
	flex-flow: row-reverse nowrap;
	align-items: center;
	justify-content: space-evenly;
}
.form_btn01,
.form_btn02 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	max-width: 340px;
	height: 70px;
	border: none;
	border-radius: 100px;
	padding: 10px;
	margin: 30px auto 0;
	box-sizing: border-box;
	font-size: 120%;
	color: #fff;
	line-height: 1;
    text-align: center;
}
.form_btn01 {
	background: #e55329;
}
.form_btn02 {
	background: #333;
}

.txt_form {
	text-align: center;
}

.txt_form span {
	display: block;
}


@media screen and (max-width:768px) {
	#contact .txt_head {
		font-size: 100%;
	}
	#contact.contact_after tr:first-child {
		margin: 20px 0 0;
	}
	#contact tr>* {
		display: block;
		padding: 15px 0;
		line-height: 1.3;
	}
	#contact tr th {
		width: 100%;
		font-size: 100%;
	}
	#contact tr td {
		padding-top: 0;
	}
	#contact tr.hissu th b::after,
	#contact tr.nini th b::after {
		top: 0!important;
		right: 0!important;
		bottom: 0!important;
	}
	#contact .radio_area label,
	#contact .check_area label {
		display: flex;
		align-items: center;
	}
	.form_btn {
		flex-flow: column;
	}
	.form_btn01,
	.form_btn02 {
		margin: 20px 0 0;
		font-size: 100%;
		height: 50px;
		border-radius: 100px !important;
	}

.table_temp {
	width: 100%;
	display: block;
}

.table_temp th {
	text-align: left;
	padding: 10px;
	padding-bottom: 0;
	width: 100%;
	display: block;
}

.table_temp tr {
	display: block;
	width: 100%;
}

.table_temp tbody {
	display: block;
	width: 100%;
}

.table_temp td {
	padding: 10px;
	display: block;
	width: 100%;
}

.table_temp tr {
	border-bottom: 1px solid #d6d6d6;
}
}


/* footer
-------------------------------------------------------*/
.footer {
	text-align: center;
}
.footer .logo {
	max-width: 260px;
	margin: 0 auto;
	margin-bottom: 30px;
}

.footer.area {
	padding-top: 50px;
	padding-bottom: 50px;
}


#footer .copy {
	font-size: 75%;
}

.footer_line {
	background: linear-gradient(to right,#e5a28f,#f1e3c6);
	height: 10px;
}

@media screen and (max-width:768px) {
}


/* banner
-------------------------------------------------------*/

.banner {
	background: linear-gradient(to right,#e5a28f,#f1e3c6);
}

.banner.area {
	padding: 30px 20px;
}

.banner .ttl_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: -100px;
}

.banner .ttl_box .img01 {
	max-width: 189px;
}
.banner .ttl_box .img02 {
	max-width: 137px;
}

.banner .ttl_box dl {
	margin-top: 80px;
}

.banner .ttl_box dl dt {
	font-weight: 700;
	font-size: 4rem;
	line-height: 1.2;
	margin-bottom: 20px;
}

.list_banner {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}

.list_banner li {
	width: 32%;
}

.list_banner li a {
	display: block;
	background: #ccc;
	color: #fff;
	border-radius: 10px;
	padding: 20px;
	text-align: center;
	box-shadow: 0px 5px 0px 0px #333;
	font-weight: 700;
	font-size: 2rem;
}

.list_banner li a span {
	display: inline-block;
	position: relative;
	padding-left: 40px;
}

.list_banner li a span::before {
	content: "";
	background: url(../img/icon_tel.png) no-repeat;
	background-size: 100%;
	width: 34px;
	height: 34px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.list_banner li.col01 a {
	background: #f0b400;
	box-shadow: 0px 5px 0px 0px #a27a01;
}
.list_banner li.col02 a {
	background: #00b900;
	box-shadow: 0px 5px 0px 0px #028602;
}
.list_banner li.col03 a {
	background: #e55329;
	box-shadow: 0px 5px 0px 0px #af330f;
}

.list_banner li.col02 a span::before {
	background: url(../img/icon_line.png) no-repeat;
	background-size: 100%;
}
.list_banner li.col03 a span::before {
	background: url(../img/icon_mail.png) no-repeat;
	background-size: 100%;
}



@media screen and (max-width:768px) {

.banner .ttl_box {
	margin-top: -80px;
}

	.banner .ttl_box .img02 {
		display: none;
}
.banner .ttl_box .img01 {
	max-width: 80px;
	margin-right: 15px;
}

.banner .ttl_box dl {
	margin-top: 80px;
}

.banner .ttl_box dl dt {
	font-size: 1.8rem;
	margin-bottom: 10px;
}

.list_banner {
	display: block;
	margin-top: 30px;
}

.list_banner li {
	width: 100%;
	margin-bottom: 20px;
}

}




/* 付けた瞬間は非表示＆下にずらす */
.reveal-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}

/* 表示状態 */
.reveal-up.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* ユーザーが「動きを減らす」設定の時は無効化 */
@media (prefers-reduced-motion: reduce) {
  .reveal-up {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* root
-------------------------------------------------------*/
:root {
  --color01: #e55329;
  --color02: #e6a793;
}