@charset "utf-8";


/* scroll
---------------------------------*/
.scroll_up {
	transition: 0.9s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}
.scroll_up.is-inview {
	transform: translateY(0);
	opacity: 1.0;
}
.scroll_side {
	transition: 0.9s ease-in-out;
	transform: translateX(-60px);
	opacity: 0;
}
.scroll_side.is-inview {
	transform: translateX(0);
	opacity: 1.0;
}
.timing02 {transition-delay: .2s;}
.timing03 {transition-delay: .4s;}
.timing04 {transition-delay: .6s;}
.timing05 {transition-delay: .8s;}
.timing06 {transition-delay: .10s;}
.timing07 {transition-delay: .12s;}
.timing08 {transition-delay: .14s;}
.timing09 {transition-delay: .16s;}
.timing10 {transition-delay: .18s;}

.scroll_in {
	opacity: 0;
	animation: fadeInAnimemoviein 0.6s ease forwards;
}
@keyframes fadeInAnimemoviein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.img-wrap {
  opacity: 0;
}

.img-animation {
  animation: img-opacity 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  overflow: hidden;
  position: relative;
}

.img-animation::before {
  animation: img-animation 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
    background: url("../img/cmn/bg_all@2x.webp") no-repeat center top;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

@keyframes img-opacity {
  100% {
    opacity: 1;
  }
}

@keyframes img-animation {
  100% {
    transform: translateX(100%);
  }
}


/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
	margin: 0;
	padding: 120px 0 0;
	width: 100%;
	line-height: 1.8;
	color: #ffffff;

    font-family: 'Noto Serif JP', serif;
    font-family: 'Lora', serif;
    font-family: 'Josefin Sans', sans-serif;

	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-weight: 400;
}
body::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background: url("../img/cmn/bg_all@2x.webp") no-repeat center top;
    background-size: cover;
    background-size: 100% 100%;
    z-index: -10;
}
#wrapper {
	overflow: hidden;
}
.sponly {
    display: none;
}
.pconly {
    display: inline;
}
#top01, #top02, #top03, #top04, #top05, #top06, #top07, #top08, #top09, #top10, #topform {
    position: relative;
    margin-top: -140px;
    padding-top: 140px;
    z-index: -10;
    width: 1px;
}

@media screen and (max-width:1279px) {
    body {
        padding: 80px 0 0;
    }
    #top01, #top02, #top03, #top04, #top05, #top06, #top07, #top08, #top09, #top10, #topform {
        margin-top: -100px;
        padding-top: 100px;
    }
}

@media screen and (max-width:767px) {
    .sponly {
        display: inline;
    }
    .pconly {
        display: none;
    }
}

/*	ヘッダー
---------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	line-height: 1;
	z-index: 1010;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	background: rgba(0,95,153,0);
}
header.bgwhite {
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	background: rgba(0,95,153,1);
}
.hd-inr {
	position: relative;
	margin: 0 auto;
	padding: 0 5% 0px 5%;
	width: 100%;
    height: 120px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite .hd-inr {
    height: 80px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.hd-logo {
	margin: 0px 0 0 0;
	width: 230px;
	text-align: left;
}

.hd-info {
	width: calc(100% - 230px);
    vertical-align: top;
}
.hd-menu {
	margin: 0;
	padding: 0px 0 0;
}

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

@media screen and (max-width: 1279px) {
    header {
    }
	.hd-inr {
        padding: 0px 15px 0px 25px;
        height: 80px;
	}
    header.bgwhite .hd-inr {
        height: 80px;
    }
    .hd-logo {
        width: 170px;
        height: auto;
    }
    .hd-info {
        width: calc(100% - 170px);
		padding: 0 55px 0 0;
		align-items: center;
    }
	.hd-menu {
		margin: 0;
		padding: 0;
	}
}

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

@media screen and (max-width: 599px) {
    .hd-inr {
        padding: 0px 15px 0px 20px;
	}
	.hd-logo {
        width: 150px;
	}
	.hd-info {
		width: calc(100% - 150px);
		padding: 0 45px 0 0;
	}
}

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

/*	フッター
---------------------------------*/
footer {
}
footer .contents-inr {
	padding-top: 60px;
	padding-bottom: 30px;
}

.btn-pagetop img {
    width: 40px;
    height: auto;
}

footer .ft__list {
    margin-bottom: 60px;
}
footer .ft__list li {
}
footer .ft__list li:nth-of-type(1) {
	width: 25%;
    text-align: center;
}
footer .ft__list li:nth-of-type(2) {
	width: 47%;
    padding-left: 6%;
    text-align: left;
}
footer .ft__list li:nth-of-type(3) {
	width: 28%;
    padding-left: 4%;
    text-align: center;
    border-left: #ffffff 1px solid;
}
footer .ft__list li:nth-of-type(1) img {
    width: 100%;
    height: auto;
}
footer .ft__list li:nth-of-type(2) h4 {
	font-size: 18px;
    letter-spacing: 2px;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 5px;
}
footer .ft__list li:nth-of-type(2) table {
    border-collapse:separate;
    border-spacing:0px;
    width: 100%;
}
footer .ft__list li:nth-of-type(2) table th {
    width: 110px;
    padding: 0px 0px 0px 0px;
    vertical-align:top;
    font-size:12px;
    line-height:1.5;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
}
footer .ft__list li:nth-of-type(2) table td {
    padding: 0px 0px 0px 0px;
    vertical-align:top;
    font-size:12px;
    line-height:1.5;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
}

footer .ft__list li:nth-of-type(3) h5 {
	font-size: 14px;
    letter-spacing: 2px;
    font-weight: 600;
    line-height: 1.6;
    color: #002c5a;
    background: #ffffff;
    border-radius: 30px;
    margin-bottom: 10px;
}

footer .cmn-contact-mail {
}
footer .cmn-contact-mail a {
    display: inline-block;
	padding: 10px 0 6px 30px;
	font-size: 18px;
    line-height: 1;
	letter-spacing: 0px;
	font-weight: 300;
    color: #ffffff;
    background: url("../img/cmn/icon_ft_mail.svg") no-repeat left center;
    background-size: 20px;
    font-family: 'Josefin Sans', sans-serif;
}

.ft-copyright {
    text-align: center;
	font-size: 12px;
    letter-spacing: 1px;
    font-weight: 300;
    line-height: 1.5;
}

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

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

@media screen and (max-width: 767px) {
    footer .ft__list li:nth-of-type(2) h4 {
        font-size: 14px;
        margin-bottom: 5px;
    }
    footer .ft__list li:nth-of-type(2) table th {
        width: 100px;
        font-size:10px;
    }
    footer .ft__list li:nth-of-type(2) table td {
        font-size:10px;
    }
    footer .ft__list li:nth-of-type(3) h5 {
        font-size: 12px;
        margin-bottom: 10px;
    }
    footer .cmn-contact-mail a {
        padding: 10px 0 6px 22px;
        font-size: 14px;
        background-size: 16px;
    }
    .ft-copyright {
        font-size: 10px;
    }
}

@media screen and (max-width: 599px) {
    .btn-pagetop img {
        width: 30px;
        height: auto;
    }
    footer .contents-inr {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    footer .ft__list {
        margin-bottom: 30px;
    }
    footer .ft__list li:nth-of-type(1) {
        width: 100%;
        padding-bottom: 20px;
    }
    footer .ft__list li:nth-of-type(2) {
        width: 100%;
        padding-bottom: 30px;
        padding-left: 10%;
        padding-right: 10%;
    }
    footer .ft__list li:nth-of-type(3) {
        width: 100%;
        padding-left: 10%;
        padding-right: 10%;
        border-left: none;
    }
    footer .ft__list li:nth-of-type(1) img {
        width: 70%;
        height: auto;
    }
}

/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	line-height: 1;
}
.pc-nav > ul {
	margin: 0px 0px 0 0px;
}
header.bgwhite .pc-nav > ul {
	margin: 0px 0px 0 0px;
}
.pc-nav > ul > li {
	position: relative;
	margin: 0px 0px 0 25px;
	padding: 0 0px 0px 0px;
	height: 30px;
}
.pc-nav > ul > ul li.first {
	margin: 0;
	padding: 0;
}
.pc-nav > ul > li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	padding: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 15px;
    letter-spacing: 0px;
	font-weight: 400;
}
.pc-nav > ul > li img {
    height: 12px;
    width: auto;
}
.pc-nav > ul > li > a span {
	position: relative;
    display: none;
}
.pc-nav > ul > li.current a,
.pc-nav > ul > li a:hover {
}

.pc-nav > ul > li.parent div {
	position: absolute;
	top: 100%;
	left: calc(50% + 0px);
	transform: translateX(-50%);
	padding: 15px 10px 15px 12px;
	width: 160px;
	max-height: 0;
	background: rgba(255,255,255,0.7);
	text-align: center;
	z-index: 100;
	opacity: 0;
	overflow: hidden;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li.parent div ul {
	display: inline-block;
}
.pc-nav > ul > li.parent div li a {
	display: block;
	padding: 8px 0px 8px 0px;
	text-align: left;
	font-size: 14px;
    letter-spacing: 1px;
	font-weight: 500;
}
.pc-nav > ul > li.parent div li:last-child a {
    border-bottom: none;
}
.pc-nav > ul > li.parent:hover div {
	max-height: 360px;
	opacity: 1;
}

@media screen and (max-width:1279px) {
	.pc-nav {
		display: none;
	}
	.pconly-nav {
		display: none;
	}
}

/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width:1279px) {
	header nav.sp-nav {
		display: block;
		position: fixed;
		left: 10px;
		top: 0px;
		bottom: 0;
		margin: auto;
		padding: 10% 15%;
		width: calc(100% - 20px);
		height: calc(100% - 20px);
		background: rgba(45,123,170,1);
		font-size: 1.7rem;
		font-weight: 400;
		z-index: 1000;
		visibility: hidden;
		opacity: 0;
		transform: scale(0.9);
		transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
	}
	/* ナビゲーション アニメーション */
	header.open nav.sp-nav {
		visibility: visible;
		opacity: 1;
		transform: scale(1);
		transition: transform 0.4s, opacity 0.4s;
	}
	header nav.sp-nav a {
		color:#fff;
	}
	header nav.sp-nav a * {
		transition: 0s;
	}
	header nav.sp-nav > ul {
		display: block;
		position :absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header nav.sp-nav > ul > li {
		margin: 30px 20% 20px 20%;
        height: 40px;
		text-align: left;
		line-height: 1;
        border-bottom: rgba(255,255,255,0.8) 1px solid;
        position: relative;
	}
	header nav.sp-nav > ul > li a {
        display: block;
    }
	header nav.sp-nav > ul > li img {
        height: 20px;
        width: auto;
    }
	header nav.sp-nav > ul > li span {
        height: 40px;
		font-size: 14px;
		font-weight: 400;
		color: rgba(255,255,255,0.8);
        position: absolute;
        top: 25%;
        right: 0px;
    }

	header nav.sp-nav > ul > li.parent {
		margin: 25px 0;
	}
	header nav.sp-nav > ul > li.parent > a {
		text-decoration: none;
		border: none;
	}
	header nav.sp-nav > ul > li.parent div ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 5px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li {
		margin: 10px 0 0;
		font-size: 0.875em;
	}
	header nav.sp-nav > ul > li.parent div li a {
		display: inline-block;
		color: #ccc;
	}
	header nav.sp-nav > ul > li.parent div li a:hover {
		display: inline-block;
		border-bottom: none;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type {
		margin: 10px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li::after {
		content: "/";
		display: inline;
		margin: 0 5px;
		color: #999;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type::after {
		content: "";
	}
	header nav.sp-nav ul li strong,
	header nav.sp-nav ul li br {
		display: none;
	}
	header nav.sp-nav ul li span span,
	header nav.sp-nav ul li br {
		display: none;
	}

	/*ハンバーガーボタン*/
	header .navToggle {
		display: block;
		position: absolute;
		right: 17px;
		top: 18px;
		margin: auto;
		width: 45px;
		height: 45px;
		background: rgba(45,123,170,1);
        border: #ffffff 1px solid;
        border-radius: 50%;
		cursor: pointer;
		z-index: 1002;
	}
	header .navToggle div {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 25px;
		height: 16px;
	}
	header .navToggle span {
		display: block;
		position: absolute;
		height:1px;
		width:100%;
		background: #fff;
		left:0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	header .navToggle span:nth-child(1) {
		top: 0;
	}
	header .navToggle span:nth-child(2) {
		top: 7px;
	}
	header .navToggle span:nth-child(3) {
		top: 14px;
	}
	/* ハンバーガーボタン 切り替えアニメーション */
	header.open .navToggle span {
	}
	header.open .navToggle span:nth-child(1) {
		top: 7px;
		transform: rotate(315deg);
	}
	header.open .navToggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	header.open .navToggle span:nth-child(3) {
		top: 7px;
		transform: rotate(-315deg);
	}
}


@media screen and (max-width:767px) {
	header nav.sp-nav > ul > li {
		margin: 20px 5%;
		padding: 15px 0;
	}
	header nav.sp-nav > ul > li img {
        height: 15px;
        width: auto;
    }
}

@media screen and (max-width:599px) {
	header nav.sp-nav {
		font-size: 14px;
	}
	header .navToggle {
	}
	header nav.sp-nav > ul > li {
		margin: 15px 5%;
	}
	header nav.sp-nav > ul > li img {
        height: 12px;
        width: auto;
    }
	header nav.sp-nav > ul > li span {
		font-size: 11px;
        top: 40%;
    }
}

/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	padding: 2vw 0 0 0;
	width: 100%;
}
.main-img-inr {
	position: relative;
	margin: 0 0 0 1.5%;
	width: 57%;
}
.main-img {
	position: relative;
	width: 100%;
	height: 50vw;
	background: no-repeat right center / contain;
}

.movie-box {
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.movie-box video {
	position: absolute;
	top: 50%;
	left: 50%;
	-o-object-fit: cover;
	object-fit: cover;
	overflow-clip-margin: unset;
	-webkit-transform: translate(-50%, -50%);
	    transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}
.movie-box video p {
	color: #ffffff;
}

.main-img.img01 {
	background-image: url("../img/top/img_main01.webp");
}
.main-img.img02 {
	background-image: url("../img/top/img_main02.webp");
}
.main-img.img03 {
	background-image: url("../img/top/img_main03.jpg");
}
.main-img.img04 {
	background-image: url("../img/top/img_main04.jpg");
}
.main-img.img05 {
	background-image: url("../img/top/img_main05.jpg");
}
.main-img.img06 {
	background-image: url("../img/top/img_main06.jpg");
}
.main-img.img07 {
	background-image: url("../img/top/img_main07.jpg");
}
.main-img.img08 {
	background-image: url("../img/top/img_main08.jpg");
}
.main-img.img09 {
	background-image: url("../img/top/img_main09.jpg");
}
.main-img.img10 {
	background-image: url("../img/top/img_main10.jpg");
}

.main-img-cap {
	position: absolute;
    top: 36%;
    left: 62%;
    width: 35%;
	text-align: left;
	z-index: 1001;
}
.main-img-cap img {
    width: 100%;
    height: auto;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.main-img-otr .bx-controls {
    display: none;

	position: absolute;
	bottom: 30px;
	left: 0;
    width: 95%;
    text-align: center;
	z-index: 1001;
}
.bx-pager-item {
	display: inline-block;
	margin: 0 10px;
}
.bx-pager-item a {
	display: block;
	width: 10px;
	height: 10px;
	background: #ffffff;
	border-radius: 50%;
	text-indent: -9999px;
	text-align: left;
}
.bx-pager-item a.active {
	background: #73c368;
}

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

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

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

@media screen and (max-width: 767px) {
    .main-img-otr {
        padding: 0vw 0 52vw 0;
    }
    .main-img-inr {
	margin: 0 3.5% 0 3.5%;
	width: 93%;
    }
    .main-img {
        height: 90vw;
        background: no-repeat center center / contain;
    }
    .main-img-cap {
        top: 96vw;
        left: 50px;
        width: 60%;
    }
}

@media screen and (max-width: 599px) {
    .main-img-cap {
        left: 20px;
    }
}

/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	padding-left: 60px;
	padding-right: 60px;
	max-width: 1220px;
}

@media screen and (max-width: 767px) {
    .contents-inr {
        padding-left: 50px;
        padding-right: 50px;
    }
}

@media screen and (max-width: 599px) {
    .contents-inr {
        padding-left: 20px;
        padding-right: 20px;
    }
}


/*	トップページ
---------------------------------*/
.top-box01 {
}
.top-box01 .contents-inr {
	padding-top: 100px;
}

.top-box01 .ttl-wh {
    margin-bottom: 30px;
}
.top-box01 .ttl-wh img {
    height: 30px;
    width: auto;
}
.top-box01 .ttl-wh span {
    margin-top: 15px;
	font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 3.5px;
    font-family: 'Lora', serif;
    display: block;
}

.top-box01 .p01 {
    margin-bottom: 40px;
	font-size: 23px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 3px;
}

.top-box01 .txt-box {
    margin-bottom: 35px;
    padding-left: 25px;
    padding-bottom: 2px;
    border-left: #ffffff 1px solid;
}
.top-box01 .txt-box.txt-box-btm {
    margin-bottom: 15px;
}
.top-box01 .txt-box h4 {
	font-size: 21px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 3px;
    font-family: "Lora", serif;
}
.top-box01 .txt-box p {
	font-size: 17px;
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: 2px;
}

.top-box01 .acd-box-3e {
    position: relative;
    height: auto;
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
	z-index: 1001;
}
.top-box01 .acd-box-3e .acd-btn {
    position: absolute;
    top: -60px;
    left: 300px;
	z-index: 1001;
}
.top-box01 .acd-box-3e .acd-btn .acd-label-3e {
    display: block;
    margin: 0px 0px 0px 0px;
    position: relative;
    text-align: center;
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    cursor: pointer;
	z-index: 1001;
	font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 2px;
    width: 150px;
    padding: 2px 0 3px 0;
    background: rgba(255,255,255,0.2);
    border: #ffffff 1px solid;
    border-radius: 30px;
}
.top-box01 .acd-box-3e .acd-btn .acd-label-3e::before,
.top-box01 .acd-box-3e .acd-btn .acd-label-3e::after {
	position: absolute;
	content: '';
	top: 0;
	right: 10px;
	bottom: 0;
	width: 12px;
	height: 1px;
	margin: auto;
	background: #ffffff;
}
.top-box01 .acd-box-3e .acd-btn .acd-label-3e::after {
	transform: rotate(-90deg);
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.top-box01 .acd-box-3e .acd-btn .acd-label-3e.active::after {
	transform: rotate(0deg);
}

.top-box01 .acd-box-3e .acd-content-3e {
    display: none;
    text-align: left;
}

.top-box01 .acd-box-3e .acd-content-3e .acd-content-box {
	width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 80px;
}
.top-box01 .acd-box-3e .acd-content-3e .acd-content-box li {
	width: 18%;
    padding-top: 10px;
    padding-right: 5%;
}
.top-box01 .acd-box-3e .acd-content-3e .acd-content-box li:last-of-type {
	width: 82%;
    padding-top: 0px;
    padding-right: 10%;
}
.top-box01 .acd-box-3e .acd-content-3e .acd-content-box li:first-of-type img {
    width: 100%;
    height: auto;
}
.top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h5 {
    margin-bottom: 15px;
}
.top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h5 img {
    width: 40px;
    height: auto;
}
.top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h5 span {
    margin-left: 10px;
	font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 1px;
    font-family: 'Noto Serif JP', serif;
    display: inline-block;
    vertical-align: bottom;
}
.top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h6 {
    margin-top: 15px;
	font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 2px;
}
.top-box01 .acd-box-3e .acd-content-3e .acd-content-box li p {
    margin-top: 15px;
	font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 1px;
}

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

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

@media screen and (max-width: 959px) {
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box {
        padding-top: 60px;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li {
        width: 22%;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li:last-of-type {
        width: 78%;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h6 {
        margin-top: 10px;
        font-size: 12px;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li p {
        margin-top: 10px;
        font-size: 11px;
    }
}

@media screen and (max-width: 767px) {
    .top-box01 .contents-inr {
        padding-top: 60px;
    }
}

@media screen and (max-width: 599px) {
    .top-box01 .contents-inr {
        padding-top: 40px;
    }
    .top-box01 .ttl-wh {
        margin-bottom: 20px;
    }
    .top-box01 .ttl-wh img {
        height: 18px;
        width: auto;
    }
    .top-box01 .ttl-wh span {
        margin-top: 10px;
        font-size: 12px;
        letter-spacing: 1px;
    }
    .top-box01 .p01 {
        margin-bottom: 30px;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0px;
    }
    .top-box01 .txt-box {
        margin-bottom: 25px;
        padding-left: 15px;
        padding-bottom: 2px;
    }
    .top-box01 .txt-box.txt-box-btm {
        margin-bottom: 15px;
    }
    .top-box01 .txt-box h4 {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 1px;
        font-family: "Lora", serif;
    }
    .top-box01 .txt-box p {
        font-size: 13px;
        font-weight: 300;
        line-height: 1.5;
        letter-spacing: 0px;
    }
    .top-box01 .acd-box-3e .acd-btn {
        top: -50px;
        left: 180px;
    }
    .top-box01 .acd-box-3e .acd-btn .acd-label-3e {
        font-size: 15px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 1px;
        width: 100px;
        padding: 2px 0 3px 0;
    }
    .top-box01 .acd-box-3e .acd-btn .acd-label-3e::before,
    .top-box01 .acd-box-3e .acd-btn .acd-label-3e::after {
        right: 7px;
        width: 10px;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box {
        width: 95%;
        padding-top: 50px;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li {
        width: 30%;
        padding-top: 10px;
        padding-right: 5%;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li:last-of-type {
        width: 70%;
        padding-top: 0px;
        padding-right: 0%;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h5 {
        margin-bottom: 15px;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h5 img {
        width: 20px;
        height: auto;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h5 span {
        margin-left: 5px;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: 1px;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li h6 {
        margin-top: 10px;
        font-size: 12px;
        letter-spacing: 2px;
    }
    .top-box01 .acd-box-3e .acd-content-3e .acd-content-box li p {
        margin-top: 10px;
        font-size: 11px;
        letter-spacing: 1px;
    }
}


.top-box02 {
}
.top-box02 .contents-inr {
	padding-top: 120px;
}

.top-box02 .ttl-so {
    margin-bottom: 40px;
}
.top-box02 .ttl-so img {
    height: 30px;
    width: auto;
}
.top-box02 .ttl-so span {
    margin-top: 15px;
	font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 3.5px;
    font-family: 'Lora', serif;
    display: block;
}

.top-box02 .ttl-se {
    margin-bottom: 40px;
}
.top-box02 .ttl-se img {
    height: 30px;
    width: auto;
}
.top-box02 .ttl-se span {
    margin-top: 15px;
	font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 3.5px;
    font-family: 'Lora', serif;
    display: block;
}

.top-box02 .p01 {
    margin-bottom: 60px;
	font-size: 20px;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 2px;
}

.top-box02 .acd-box {
    width: 70%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.top-box02 .acd-box .acd-content {
    display: none;
}
.top-box02 .acd-box .acd-label {
    display: block;
    margin: 0px 0px 0px 0px;
    position: relative;
    text-align: center;
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    cursor: pointer;
	z-index: 1001;
}
.top-box02 .acd-box .acd-label::before,
.top-box02 .acd-box .acd-label::after {
	position: absolute;
	content: '';
	top: 0;
	right: 15px;
	bottom: 0;
	width: 15px;
	height: 1px;
	margin: auto;
	background: #ffffff;
}
.top-box02 .acd-box .acd-label::after {
	transform: rotate(-90deg);
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.top-box02 .acd-box .acd-label.active::after {
	transform: rotate(0deg);
}
.top-box02 .acd-box .acd-label h4 {
    padding: 15px 0px 15px 0px;
	font-size: 25px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 3px;
    border-bottom: #ffffff 1px solid;
}
.top-box02 .acd-box .acd-content {
    text-align: center;
    margin: 0px 0px 0px 0px;
    padding: 20px 0px 20px 0px;
}
.top-box02 .acd-box .acd-content p {
	font-size: 18px;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: 1px;
}

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

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

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

@media screen and (max-width: 767px) {
    .top-box02 .contents-inr {
        padding-top: 100px;
    }
    .top-box02 .acd-box .acd-content p {
        font-size: 14px;
        line-height: 1.6;
    }
}

@media screen and (max-width: 599px) {
    .top-box02 .contents-inr {
        padding-top: 60px;
    }
    .top-box02 .ttl-so {
        margin-bottom: 25px;
    }
    .top-box02 .ttl-so img {
        height: 18px;
        width: auto;
    }
    .top-box02 .ttl-so span {
        margin-top: 10px;
        font-size: 12px;
        letter-spacing: 1px;
    }
    .top-box02 .ttl-se {
        margin-bottom: 25px;
    }
    .top-box02 .ttl-se img {
        height: 18px;
        width: auto;
    }
    .top-box02 .ttl-se span {
        margin-top: 10px;
        font-size: 12px;
        letter-spacing: 1px;
    }
    .top-box02 .p01 {
        margin-bottom: 30px;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.8;
        letter-spacing: 0px;
    }
    .top-box02 .acd-box {
        width: 90%;
        margin-bottom: 20px;
    }
    .top-box02 .acd-box .acd-label::before,
    .top-box02 .acd-box .acd-label::after {
        right: 10px;
        width: 10px;
    }
    .top-box02 .acd-box .acd-label h4 {
        padding: 10px 0px 10px 0px;
        font-size: 17px;
        line-height: 1.5;
        letter-spacing: 1px;
    }
    .top-box02 .acd-box .acd-content {
        margin: 0px 0px 0px 0px;
        padding: 15px 0px 10px 0px;
    }
    .top-box02 .acd-box .acd-content p {
        font-size: 13px;
        font-weight: 300;
        line-height: 1.6;
        letter-spacing: 0px;
    }
}


.top-box03 {
}
.top-box03 .contents-inr {
	padding-top: 120px;
}

.top-box03 .ttl-co {
    margin-bottom: 80px;
}
.top-box03 .ttl-co img {
    height: 30px;
    width: auto;
}
.top-box03 .ttl-co span {
    margin-top: 15px;
	font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 3.5px;
    font-family: 'Lora', serif;
    display: block;
}

.top-box03 .top-box03__list {
    margin-bottom: 100px;
}
.top-box03 .top-box03__list li {
}
.top-box03 .top-box03__list li:nth-of-type(1) {
	width: 26%;
    padding-right: 25px;
    padding-right: 3.5%;
}
.top-box03 .top-box03__list li:nth-of-type(2) {
	width: 74%;
    position: relative;
}
.top-box03 .top-box03__list li:nth-of-type(1) img {
    width: 100%;
    height: auto;
}
.top-box03 .top-box03__list li h4 {
    margin-bottom: 10px;
	font-size: 26px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1px;
    font-family: 'Noto Serif JP', serif;
}
.top-box03 .top-box03__list li h4 span {
	font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1px;
    font-family: 'Noto Serif JP', serif;
}
.top-box03 .top-box03__list li h5 {
    margin-bottom: 25px;
	font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1px;
    font-family: 'Noto Serif JP', serif;
}
.top-box03 .top-box03__list li p {
	font-size: 16px;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: 0px;
    padding-right: 100px;
}
.top-box03 .top-box03__list li .name {
    position: absolute;
    bottom: 0px;
    right: 0px;
	font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 1px;
    writing-mode: vertical-rl;
    white-space: pre;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    display: inline-block;
}
.top-box03 .top-box03__list li .name span {
	font-size: 0.5em;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.8px;
    font-family: 'Noto Serif JP', serif;
    display: inline-block;
}

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

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

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

@media screen and (max-width: 767px) {
    .top-box03 .contents-inr {
        padding-top: 100px;
    }
    .top-box03 .top-box03__list li h4 {
        margin-bottom: 5px;
        font-size: 22px;
    }
    .top-box03 .top-box03__list li h4 span {
        font-size: 14px;
        font-weight: 500;
    }
    .top-box03 .top-box03__list li h5 {
        margin-bottom: 15px;
        font-size: 10px;
    }
    .top-box03 .top-box03__list li p {
        font-size: 14px;
        padding-right: 80px;
    }
}

@media screen and (max-width: 599px) {
    .top-box03 .contents-inr {
        padding-top: 70px;
    }
    .top-box03 .ttl-co {
        margin-bottom: 40px;
    }
    .top-box03 .ttl-co img {
        height: 18px;
        width: auto;
    }
    .top-box03 .ttl-co span {
        margin-top: 10px;
        font-size: 12px;
        letter-spacing: 1px;
    }
    .top-box03 .top-box03__list {
        margin-bottom: 60px;
    }
    .top-box03 .top-box03__list li:nth-of-type(1) {
        width: 100%;
        padding-right: 30%;
    }
    .top-box03 .top-box03__list li:nth-of-type(2) {
        width: 100%;
    }
    .top-box03 .top-box03__list li:nth-of-type(1) img {
        width: 100%;
        height: auto;
    }
    .top-box03 .top-box03__list li h4 {
        margin-top: 15px;
        margin-bottom: 5px;
        font-size: 22px;
    }
    .top-box03 .top-box03__list li h4 span {
        font-size: 14px;
        font-weight: 500;
    }
    .top-box03 .top-box03__list li h5 {
        margin-bottom: 20px;
        font-size: 10px;
    }
    .top-box03 .top-box03__list li p {
        font-size: 13px;
        padding-right: 0px;
    }
    .top-box03 .top-box03__list li .name {
        position: absolute;
        bottom: calc(100% + 20px);
        right: 0px;
        font-size: 17px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: 1px;
        writing-mode: vertical-rl;
        white-space: pre;
        font-family: 'Noto Serif JP', serif;
        text-align: center;
        display: inline-block;
    }
    .top-box03 .top-box03__list li .name span {
        font-size: 0.5em;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0.8px;
        font-family: 'Noto Serif JP', serif;
        display: inline-block;
    }
}

