@charset "utf-8";
/* CSS Document */

#home section p {}

/*mainvisual
***************************************/
#loadimg {
	clear: both;
	text-align: center;
}

#loading {
	display: none;
}

#loadimg img {
	width: 32px;
	padding: 20% 0;
}

#mainvisual {
	position: relative;
	padding-top:110px;
	margin-bottom: -2.65em;
}

#mainvisual p {
	border-bottom:15px solid #00546f;
}

#mainvisual img {
	width:100%;
	height:auto;
}

#mainvisual .hakko {
	text-align:right;
	position:relative;
	top:-1.65em;
}

#mainvisual .hakko span {
	display:inline-block;
	background:#00546f;
	padding:1rem 3rem;
	color:#FFF;
	border-radius:1rem;
	margin-right:6.5%;
}

@media (max-width: 1200px) {}

@media (max-width: 980px) {}

@media (max-width: 767px) {

#mainvisual {
	position: relative;
	padding-top:60px;
}

#mainvisual .hakko span {
	padding:0.75rem 1.5rem;
	color:#FFF;
	border-radius:1rem;
	margin-right:2.5%;
	font-size:clamp(15px, 1.2vw, 16px);
}
}

@media (max-width: 480px) {
#mainvisual {
	padding-top:54px;
}
}

.section_title {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #009ccf;
    text-align: center;

    width: 100%;
    gap: 1.5rem;
	margin-bottom:6rem;
}

.section_title::before,
.section_title::after {
    content: "";
    flex: 1;
    height: 3px;
    background: #009ccf;
}

.section_title span {
    flex-shrink: 0;
    font-size: clamp(24px, 3vw, 48px);
    font-weight: 700;
    line-height: 1.2;
}

#greeting {
	margin-bottom:15rem;
}

#greeting .comment_wrapper {
	background:#FFF;
	border-radius:3rem;
	padding:6rem 4.5rem 9rem 4.5rem;
	text-align:justify;
}

#greeting .comment_wrapper h3 {
	margin-bottom:1rem;
	color:#009ccf;
	font-size: clamp(22px, 1.8vw, 30px);
}

#greeting .comment_wrapper p {
	margin-bottom:6rem;
	font-size: clamp(16px, 1.6vw, 24px);
}

#greeting .comment_wrapper p:last-child {
	margin-bottom:0;
}

#greeting .comment_wrapper p strong {
	display:block;
	text-align:right;
	font-weight:inherit;
	margin-top:2rem;
}

@media (max-width: 767px) {
.section_title {
  margin-bottom: 3rem;
}
#greeting {
  margin-bottom: 7.5rem;
}

#greeting .comment_wrapper h3 {
	margin-bottom:0.5rem;
}
#greeting .comment_wrapper p {
	margin-bottom:3rem;
    line-height: 1.6;
}
#greeting .comment_wrapper p strong {
  margin-top: 1rem;
}

}

@media screen and (max-width:1024px){
#greeting .comment_wrapper {
  padding:2rem;
}

}

/* =====================================
   概要一覧
===================================== */

#about .content_wrapper {
	background:#FFF;
	border-radius:3rem;
	padding:6rem 4.5rem 9rem 4.5rem;
}

#about .content_inner dl{
	display:flex;
	align-items:flex-start;
	gap:3rem;
	padding:6rem 0;
	border-bottom:2px solid #e9e9e9;
}

#about .content_inner dl:first-child {
	padding-top:3rem;
}

#about .content_inner dl:nth-child(n+3) {
	text-align:justify;
}

#about .content_inner dl:last-of-type{
	border-bottom:none;
}

#about .content_inner dl dt{
	flex:0 0 21rem;
	background:#009ccf;
	border-radius:1rem;
	color:#fff;
	font-size:clamp(18px, 1.6vw, 24px);
	padding:0.25rem 2rem;
	text-align:center;
	font-weight:500;
}

#about .content_inner dl dd{
	flex:1;
	margin:0;
	letter-spacing:-1px !important;
}

/* ---------------------------------
   dd内の各要素
--------------------------------- */

#about .content_inner dl.period01 {
	color:#ff3131;
	align-items: center;
}

#about .content_inner dl.period02 {
	color:#00546f;
	align-items: center;
}

#about .content_inner dl.period dd{
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
}

#about .content_inner dl.period span{
	font-size:clamp(22px, 2.8vw, 48px);
	font-weight:bold;
	line-height: 1.1;
}

#about .content_inner dl.period em{
	font-style:normal;
	display:block;
	font-size:clamp(20px, 2.4vw, 32px);

}

#about .content_inner dl.period small{
}

#about .content_inner dl.period strong{
	font-size:clamp(36px, 6vw, 72px);
	font-weight:bold;

}

#about .content_inner dl dd br{

}

#about .content_inner dl dd ol{
	margin:0;
	padding:0;
	list-style:none;
	counter-reset:num;
}

#about .content_inner dl dd ol li{
	position:relative;
	padding-left:1.25em;
	counter-increment:num;
}

#about .content_inner dl dd ol li::before{
	position:absolute;
	left:0;
	top:0;
	font-weight:700;
}

#about .content_inner dl dd ol li:nth-child(1)::before{content:"①";}
#about .content_inner dl dd ol li:nth-child(2)::before{content:"②";}
#about .content_inner dl dd ol li:nth-child(3)::before{content:"③";}
#about .content_inner dl dd ol li:nth-child(4)::before{content:"④";}
#about .content_inner dl dd ol li:nth-child(5)::before{content:"⑤";}
#about .content_inner dl dd ol li:nth-child(6)::before{content:"⑥";}
#about .content_inner dl dd ol li:nth-child(7)::before{content:"⑦";}
#about .content_inner dl dd ol li:nth-child(8)::before{content:"⑧";}
#about .content_inner dl dd ol li:nth-child(9)::before{content:"⑨";}
#about .content_inner dl dd ol li:nth-child(10)::before{content:"⑩";}

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

#about .content_wrapper {
	padding:3rem 2rem;
}

#about .content_inner dl{
	flex-direction:column;
	gap:1.5rem;
	padding:2rem 0;
	border-bottom:none;
}

#about .content_inner dl:first-child {
  padding-top: 0;
}

#about .content_inner dl dt{
	flex:none;
	width:100%;
}

}

@media screen and (max-width:580px){
#about .content_inner dl.period dd {
	display:block;
	width:100%;
}

#about .content_inner dl.period dd span:nth-child(1) {
	display:block;
	margin-bottom:1.5rem;
}

#about .content_inner dl.period dd span:nth-child(2) {
	display:block;
	margin-left:18%;
}
}

.link_btns ul{
	display:flex;
	flex-direction:column;
	gap:2rem;
	margin:0;
	padding:0;
	list-style:none;
}

.link_btns li a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:3rem;
	padding:2.5rem 4rem;
	border-radius:2rem;
	text-decoration:none;
	color:#fff;
}

/* 1つ目 */
.link_btns li:nth-child(1) a{
	background:#ff3131;
}

/* 2・3つ目 */
.link_btns li:nth-child(2) a,
.link_btns li:nth-child(3) a{
	background:#009ccf;
}

/* テキストエリア */
.link_btns li a span{
	display:flex;
	align-items:center;
	gap:0.5em;
	font-size:clamp(24px, 3vw, 48px);
	line-height:1.3;
	color:#fff;
}

/* SVG */
.link_btns li a .icon-arrow{
	width:1em;
	height:1em;
	flex-shrink:0;
}

/* QR画像 */
.link_btns li a img{
	display:block;
	max-width:12rem;
	width:100%;
	height:auto;
	flex-shrink:0;
}

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

	.link_btns li a{
		padding:1.5rem 2rem;
		gap:1.5rem;
	}

	.link_btns li a span{
		font-size:clamp(18px, 3vw, 32px);
	}

	.link_btns li a img{
		max-width:8rem;
	}

}