@charset "UTF-8";
/*
Theme Name: runup
*/

/****** column用 ******/

/***編集エリア***/
	/*共通装飾*/
.column{font-size:16px; line-height: 1.5em;}
.column .column_container{width: 1100px;}
.column .u-fv{background: #004ea2;}
.column .u-fv h1,.column .u-fv p{color: #fff; font-size: 26px; width:1100px;}
.column .breadcrumbs_outer{background:#e9e9e9;}
.column .breadcrumbs{width: 1100px; font-size:14px;}
.column .column_container .right{width:325px;}
.column .column_container .right h3{font-size:18px; border-left: 5px solid #004ea2;}
.column .column_container .right .sidebar-wrapper .rpwe-li h3 a{color: #08287f; font-size: 15px;}
.column .column_container .right .sidebar-wrapper .rpwe-li a:hover{color:#211c70;}
.column .column_container .right .widget_categories .cat-item{font-size: 15px;}

	/*一覧ページ装飾*/
.column .column_container .left h2{color:#000; font-size:20px;}
.column .column_container .left ul .thumbnail{width: 270px;}
.column .column_container .left ul .thumbnail img{height:150px;}
.column .column_container .left ul .content .title{font-size:20px; color:#000;}
.column .column_container .left ul .content .des{font-size:14px; color:#000;}
.column .column_container .left ul .content .time{font-size:14px; color:#aaa;}

	/*詳細ページ装飾*/
.column .content .data .category a{font-size:12px;}
.column .content .data .time{font-size:12px;}
.column .content .left h1{font-size:28px;}
.column .content .left h2{font-size:22px; background:#004ea2; color:#fff;}
.column .content .left h3{font-size:18px; background:#fff; border-left:solid 3px #004ea2; background: #f7f7f7;}
.column .content .left h4{font-size:16px;}
.column .content .left h4:before {border-top: 1px solid; content: ""; width: 10px; margin-right: 5px;}
.column .content .left .thumbnail img{height:400px !important;}
.column .content #ez-toc-container .ez-toc-title{font-size:16px;}
.column .content #ez-toc-container a{font-size:16px;}
.column .content .yarpp h3{font-size:20px;}
.column .content .yarpp a .yarpp-thumbnail-title{font-size:16px;}
.supervisor .supervisor-title{font-size: 20px; background:#004ea2; color: #fff;}
.supervisor-profile .txt1{font-size: 20px;}
.supervisor-profile .txt2{font-size: 16px;}
.d1 .txt2{font-size: 16px;}	
.supervisor_box .title {font-size: 20px; background:#004ea2; color: #fff;}




/***非編集エリア***/
	/*共通装飾*/
.column{background:#fff; letter-spacing:1px;}
.column *,.column  *::before,.column  *::after{box-sizing: border-box;}
.column p{margin:0;}
.column .column_container{margin: 0 auto 0; display: flex; justify-content: space-between; padding: 30px 0 100px;}
.column .column_container .left{width:770px; margin:0 30px 0 0; color:#000; flex: 1;}
.column .u-fv{width: 100%;}
.column .u-fv h1,.column .u-fv p{font-weight: bold; letter-spacing: 2.5px; margin:0 auto; padding:40px 0; text-align:center;}
.column .breadcrumbs_outer{width: 100%;}
.column .breadcrumbs{margin:0 auto; padding:10px;}
.column .breadcrumbs  a:hover{text-decoration:underline;}

.column .column_container .right h3{color:#000; margin:0 0 15px; padding:10px;}
.column .column_container .right .sidebar-wrapper{margin:0 0 30px;}
.column .column_container .right .sidebar-wrapper .rpwe-li {display: grid; grid-template-columns: 40% 1fr; margin:0 0 20px; }
.column .column_container .right .sidebar-wrapper .rpwe-li h3{flex: 1; font-weight:normal; border:none; padding:0;}
.column .column_container .right .sidebar-wrapper .rpwe-li h3 a{width: auto; margin: 0; padding-left: 10px; display: inline-block;}
.column .column_container .right .sidebar-wrapper .rpwe-li a:hover{text-decoration:underline;}
.column .column_container .right .sidebar-wrapper .rpwe-li a img{width: 100%; object-fit: contain; height: 80px;}
.column .column_container .right .widget_categories .cat-item{background: #fff; color: #000; padding: 10px 10px; border-top: solid 1px #e5e5e5;}
.column .column_container .right .widget_categories .cat-item:hover{background: #f5f5f5;}
.column .column_container .right .widget_categories .cat-item:last-child{ border-bottom: solid 1px #eee}
.column .column_container .right .widget_categories .cat-item a{color:#000; display:flex; justify-content:space-between; padding:0;}
.column .column_container .right .widget_categories .cat-item a:hover{color:#211c70;}

	/*一覧ページ装飾*/
.column .column_container .left h2{margin:0 0 20px;}
.column .column_container .left ul a{margin:0 0 30px; padding:0 0 30px; display:flex; border-bottom: solid 1px #e5e5e5;}
.column .column_container .left ul .thumbnail{margin:0 20px 0 0;}
.column .column_container .left ul .thumbnail img{width:100%; object-fit:cover;}
.column .column_container .left ul .content{flex: 1;}
.column .column_container .left ul .content .title{margin:0 0 20px; font-weight:bold;}
.column .column_container .left ul .content .des{ margin:0 0 15px;}

.column .wp-pagenavi{margin:0; color:#000; text-align:center; font-size: 14px;}
.column .wp-pagenavi .current{color:#fff; background:#aaa; padding:5px 15px; margin:0 5px; border-radius:5px;}
.column .wp-pagenavi .page{color:#000; padding:5px 15px; margin:0 5px;}
.column .wp-pagenavi .page:hover{background:#eee; color:#000; border-radius:5px;}
.column .wp-pagenavi .pages{color:#aaa; padding:5px 15px; margin:0 5px;}
.column .wp-pagenavi .nextpostslink,.column .wp-pagenavi .previouspostslink{padding:5px 15px; margin:0 5px; color:#aaa;}
.column .wp-pagenavi .nextpostslink:hover,.column .wp-pagenavi .previouspostslink:hover{background:#eee; color:#000; border-radius:5px;}

	/*詳細ページ装飾*/
.column .content .data{display:flex; justify-content: space-between; margin:0 0 30px;}
.column .content .data_in{display:flex; justify-content: flex-start;}
.column .content .data .category a{background:black; padding:3px 15px 5px; font-weight:bold; color:#fff; margin: 0 10px 30px 0;}
.column .content .data .time{padding:5px 0; color:#bbb; }
.column .content .left h1{ margin:0 0 30px; line-height: 1.5;}
.column .content .left h2{ padding:15px; margin:70px 0 20px;}
.column .content .left h3{border-bottom: 1px solid #e5e5e5; padding:10px; margin:40px 0 20px;}
.column .content .left h4{ font-weight:bold; margin:10px 0 10px; display: flex; align-items: center;}
.column .content .left h4:before {border-top: 1px solid; content: ""; width: 10px; margin-right: 5px;}
.column .content .left .thumbnail{width:100%; margin:0 0 30px; border: solid 1px #e5e5e5;}
.column .content .left .thumbnail img{width:100%; object-fit:cover;}

.column .content .left a{color: #0b57d0; text-decoration: underline;}
.column .content .left a:hover{color:#e32959; text-decoration:underline;}

.column .content .left table {width: 100% !important; margin: 20px 0; display: block; border-collapse: collapse; border-spacing: 0; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch;}
.column .content .left table tbody {width: 100%; display: table;}
.column .content .left table th {padding: 10px; background: #f7f7f7; border: solid 1px #ccc;}
.column .content .left table td {padding: 10px; border: solid 1px #ccc;}
.column .content .left table ul {margin: 0; background: transparent; padding: 0 0 0 30px;}
.column .content .left table a {margin: 0; padding: 0; display: inline;}
.column .content .left ul{list-style:disc; margin:20px 10px; background:#f7f7f7; padding:20px 20px 20px 50px; line-height: 1.4em;}
.column .content .left ol{list-style:decimal; margin:20px 10px; background:#f7f7f7; padding:20px 20px 20px 50px; line-height: 1.4em;}
.column .content blockquote {position: relative; padding: 10px 15px 10px 60px; margin:20px 0 30px; box-sizing: border-box; font-style: italic; background: #f5f5f5; color: #333;}
.column .content blockquote:before{display: inline-block; position: absolute; top: 15px; left: 15px; content: "\f10d"; font-family: "Font Awesome 5 Free"; color: #777777; font-size: 30px; line-height: 1; font-weight: 900;}
.column .content blockquote p {padding: 0; margin: 7px 0; line-height: 1.7;}
.column .content blockquote a {display: block; text-align: right; font-size: 0.9em; margin:0 !important;}

.column .content #ez-toc-container{width:90%; margin:30px 5% 0; padding:20px 30px; border:solid 1px #dadada; border-radius:5px;}
.column .content #ez-toc-container .ez-toc-title{margin:0 0 20px;}
.column .content #ez-toc-container a{margin:0 0 10px; padding:0; border:none;}
.column .content #ez-toc-container a:hover{color:#66808f; text-decoration:underline;}
.column .content .yarpp h3{background:none; padding:0; border:none; margin:40px 0 20px;}
.column .content .yarpp .yarpp-thumbnails-horizontal{display:flex; flex-wrap: wrap;}
.column .content .yarpp a{width:50% !important; height:auto !important; display:flex; border:none; margin:0 0 20px;}
.column .content .yarpp a img{ width:40% !important; height:90px !important; object-fit:cover; margin:0 15px 0 0;}
.column .content .yarpp a .yarpp-thumbnail-title{width:60% !important; font-weight:normal; margin:0; color:#000; margin:0 15px 0 0;}
.column .content .yarpp a .yarpp-thumbnail-title:hover{color: #0b57d0 !important;text-decoration: underline;}

.supervisor{border: 1px solid #e3e3e3; padding: 20px; margin: 50px 0 30px 0;}
.supervisor .supervisor-title{text-align: center; margin:0 0 20px; padding:15px; color: #fff; font-weight:bold;}
.supervisor .supervisor-profile .txt1{margin: 0 0 10px; font-weight: bold;}
.supervisor .supervisor-profile .txt2{margin: 0 0 20px; font-weight: 400;}
.supervisor .d1{margin:0 0 20px;}
.supervisor .d1 .txt1{font-weight: bold;}
.supervisor .d1 .txt2{font-weight: 400; margin:0 0 10px;}
.supervisor .d1 .txt2:last-child{margin:0;}
.supervisor .supervisor-profile-img{display: flex;}
.supervisor .supervisor-img img{width: 100%;}
.supervisor .supervisor-img{width: 30%; text-align: center;}
.supervisor .supervisor-content{margin: 0 0 0 30px !important; width: 100% !important;}

.column .lkc-card { margin: 10px 10px 15px; }
.column .lkc-date,.column .lkc-url { margin: 3px 0; padding-left: 0; }
.column .lkc-content { height: auto; }
.column .lkc-external-wrap, .column .lkc-internal-wrap, .column .lkc-this-wrap { max-width: none; width: 100%; border: #c9c9c9 solid 1px; box-shadow: none; background-color: transparent; border-radius: 5px; }
.linkcard { margin-left: 0 !important; margin-right: 0 !important; }

.supervisor_box{border: 1px solid #e3e3e3; padding: 20px; margin: 50px 0 30px 0;}
.supervisor_box .title {margin: 0 0 20px; padding: 20px; font-weight: bold;}
.supervisor_box p {font-size:95%;}
.post_content .supervisor_box p {line-height:2; margin: 0; line-height:2; letter-spacing: 0; }
.supervisor_box p.name {font-size: 26px; font-weight:bold;}
.supervisor_box p.name span{font-size: 16px; font-weight:bold; margin-left:10px;}
.supervisor_box .supervisor_wrap{display:flex; margin-bottom: 20px;}
.supervisor_box .supervisor_name{padding-left: 20px; display: flex; justify-content: center; align-items: center; }
.supervisor_box p.detail_ttl{font-size:18px; font-weight:bold; border-bottom: solid 1px #000000; padding:10px; margin: 20px 0 5px; background: #f7f7f7;}
.supervisor_box .supervisor_detail{margin:0 0 20px}
.supervisor_box .supervisor_detail .text{font-weight:500;}
.supervisor_box .supervisor_name a{text-decoration: underline !important;}
.supervisor_box a:hover{text-decoration:underline;}
.post_content .supervisor_box a[target="_blank"] {color: #000 !important;}
.supervisor_box .sns_area .sns_box{display: flex;}
.supervisor_box .sns_area .sns_box a{margin-right: 30px;}


@media screen and (max-width:1100px) {
	.column .column_container{width:980px;}
	.column .column_container .left{width:610px;}
	.column .column_container .left .thumbnail{width:auto;}
	.column .breadcrumbs{width: 980px;}
	.column .u-fv h1,.column .u-fv p{width:980px;}
}

@media screen and (max-width:980px) {
	.column .breadcrumbs{overflow-x: scroll; white-space: nowrap;}
	.column .breadcrumbs{width:100%;}
	.column .u-fv h1,.column .u-fv p{width:100%;}
	.column .column_container{width:100%; margin:0 auto 0; display:block; padding:30px 0 30px;}
	.column .column_container .left{width:100%; margin:0; padding:0 15px;}
	.column .column_container .left a{ margin:0 0 40px;}
	.column .column_container .left ul a{display:block;}
	.column .column_container .left .thumbnail{width:100% !important; margin:0 0 10px !important;}
	.column .column_container .left .thumbnail img{width:100%;height: auto!important;max-height: 500px;}
	.column .column_container .left .content{width:100%;}
	.column .column_container .left .content .title{margin:0 0 10px;}
	.column .column_container .left .content .des{margin:0 0 10px;}
	.column .column_container .left .content .time{margin:0;}
	.column .column_container .right{width:100%; padding:0 15px;}
	.column .column_container .right h3{margin:0 0 15px;}
	.column .column_container .right .sidebar-wrapper{margin:0 0 30px;}
	.column .column_container .right .sidebar-wrapper .rpwe-li a{width:35%;}
	.column .column_container .right .sidebar-wrapper .rpwe-li a:has(img){min-width: 110px;}
	.column .column_container .right .sidebar-wrapper .rpwe-li h3{width:100%;}
	.column .column_container .right .sidebar-wrapper .rpwe-li a img {width: 100%; max-width: 180px; height: 90px; object-fit: cover;}
	.column .wp-pagenavi{margin:40px 0;}
	.column .content .data{display:block; margin:10px 0 10px;}
	.column .content .data .category a{display: inline-block; margin:0;}
	.column .content .data .time{margin:10px 0 0;}
	.column .content .yarpp{margin:20px 0 50px;}
	.column .content .yarpp .yarpp-thumbnails-horizontal{display:block;}
	.column .content .yarpp a{width:100% !important; margin:0 0 20px;}
	.column .content .yarpp a img{ width:35% !important; height:72px !important;}
	.column .content .yarpp a .yarpp-thumbnail-title{width:65% !important; margin:0 !important;}
	
	.column table {width: 100% !important; margin-bottom: 1rem; display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch;}
	.column tbody {width: 100%; display: table;}
	.column .content .left img{width:100%;}
	.insta img{width:27px; height:27px;}

	.supervisor .supervisor-profile-img{flex-direction: column;}
	.supervisor .supervisor-img{width: 90%; margin: 0 auto; text-align: center;}
	.supervisor .supervisor-img img{width: 50%;}
	.supervisor .supervisor-title{margin: 0 0 10px 0 !important;}
	.supervisor .supervisor-content{margin: 0 auto !important; width: 95% !important;}

	.supervisor_box .supervisor_wrap{display:block; margin-bottom: 20px;}
	.post_content .supervisor_box .supervisor_name p:not(:first-child),
	.post_content .supervisor_box .supervisor_detail p:nth-child(2),
	.post_content .supervisor_box .supervisor_detail p:nth-child(4){font-size: 14px!important;}
	.supervisor_box .supervisor_name{padding-left: 0; padding-top:10px; display: block;}
	.supervisor_box p.name {font-size: 20px;}
	.supervisor_box .supervisor_img{text-align:center;}
	.supervisor_box p {font-size: 100%;}
	.supervisor_box .supervisor_img img {width:250px;}
	.supervisor_box .sns_area .sns_box{flex-direction: column;}
	.supervisor_box .sns_area .sns_box a{margin: 0 0;}
	.supervisor_box .supervisor_detail{margin:0 0 40px}
}
@media screen and (max-width:630px) {
    img.lkc-thumbnail-img { height: auto !important; }
}
@media screen and (max-width:480px) {
    img.lkc-thumbnail-img { height: auto !important; }
}



/***追記エリア***/

/*-----------
  全体的/共通
-------------*/

/* 全ての要素に box-sizing を適用 */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
	font-size: 16px;
	color: #333;
	line-height: 1.6;
  	font-family: 'Noto Sans JP', sans-serif;
	padding-top: 0;
  	padding-bottom: 80px; /* .footer-bottom-fixed-cta-pc の高さ分 */
}

.inner {
	max-width: 1200px;
	width: 100%;
	padding-inline: 25px;
	margin-inline: auto;
}

.sp-only {
	display: none;
}

.sp-br {
	display: none;
}

a:hover {
	cursor: pointer;
}


.toph2-title {
	display: flex;
	flex-direction: column;
	text-align: center;
}

.toph2-title-en {
	font-size: 38px;
	font-weight: 800;
	color: #0057b7;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-family: 'Noto Sans', sans-serif; 
    font-style: italic; 
}

.toph2-title-jp {
	color: #0057b7;
	font-size: 24px;
	position: relative;
	margin-inline: auto;
	margin-top: 16px;
}

.toph2-title-en.toph2-title-en--white {
	color: #fff;
}

.toph2-title-jp.toph2-title-jp--white {
	color: #fff;
}

.toph2-title-jp {
  display: inline-flex;       /* テキストと横棒を横並びに */
  align-items: center;        /* 縦中央揃え */
  gap: 40px;                  /* テキストと棒の間隔 */
  font-weight: bold;
  color: #0057b7;
}

.toph2-title-jp::before,
.toph2-title-jp::after {
  content: "";
  display: inline-block;
  width: 100px;                /* 棒の長さ（調整可） */
  height: 2px;                /* 棒の太さ */
  background-color: #0057b7;  /* 棒の色 */
}

.toph2-title-jp--white.toph2-title-jp::before,
.toph2-title-jp--white.toph2-title-jp::after {
	background-color: #fff;
}

.en-italic {
	font-family: 'Noto Sans', sans-serif; 
    font-style: italic; 
}


.mt-40 {
	margin-top: 40px;
}

.pt-100 {
	padding-top: 100px;
}

.pb-100 {
	padding-bottom: 80px;
}

.bg-dark-gray {
	background-color: #333;
}

.bg-light-gray {
	background-color: #f5f5f5;
}

.bg-blue {
	background-color: #0057B7;
}

.img-wrap-full {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media screen and (max-width: 768px) {
	.inner {
		max-width: initial;
	}

	.pc-only {
	display: none
	}

	.sp-only {
		display: block;
	}
 
	.toph2-title-en {
		font-size: 32px;
		font-weight: 800;
	}

	.toph2-title-jp {
		font-size: 24px;
		display: block;
		position: relative;
		margin-top: 36px;
	}

	.toph2-title-jp::before {
		content: "";
  		display: block;
  		width: 80px;                /* 棒の長さ（調整可） */
  		height: 2px;                /* 棒の太さ */
  		background-color: #0057b7; 
		position: absolute;
		top: -16px;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.toph2-title-jp::after {
		display: none;
	}

	.pt-100 {
      padding-top: 50px;
	}

	.pb-100 {
		padding-bottom: 50px;
	}
}

/*-----------
  header周り
-------------*/
#header.header {
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100px;
	position: fixed;
	z-index: 100;
	padding-right: 0; /* デフォルトでついてるスタイルを消す */
}

.header__inner {
	padding: 16px 24px;
	display: flex;
	align-items: center;
	width: 100%;
	height: inherit;
	justify-content: space-between;
}

.header__logo {
	width: 332px;
	height: auto;
	aspect-ratio: 776 / 111;
	position: relative;
	z-index: 1100;
}

.header__logo a,
.header__logo a img {
	display: block;
	width: 100%;
	height: 100%;
}

.header__logo a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.header__nav-lists {
	display: flex;
	align-items: center;
}

.header__nav-list a {
	color: #333;
	display: block;
	white-space: nowrap;
	padding: 4px 14px;
	font-weight: 700;
	font-size: 20px;
}

.header__nav-list:not(:first-child) {
	margin-left: 40px;
}

.header__nav-list-with-sub-menu {
	position: relative;
}

/* 初期状態は非表示 */
.header__nav-list-submenu {
  display: none;
  position: absolute; /* PCナビで下に出す場合 */
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #ddd;
  min-width: 180px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  z-index: 1000;
}

/* 開いた状態 */
.header__nav-list-submenu.is-open {
  display: block;
}


.header__nav-list-submenu-link {
	position: relative;
	padding-right: 20px; /* アイコン分の余白 */
}


.header__nav-list-submenu-link:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 6px;
	height: 6px;
	border-right: 2px solid #333;
	border-bottom: 2px solid #333;
}


.header__nav-list--cta .header__nav-list-link {
  background: #0057b7;
  color: #fff;
  padding: 13.5px 40px 13.5px 50px;
  height: 60px;
  border-radius: 4px;
  font-weight: bold;
  position: relative;
  display: inline-block; /* 疑似要素を扱いやすく */
box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}


.header__nav-list--cta .header__nav-list-link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 12px; /* 文字との距離を調整 */
  transform: translateY(-50%);
  width: 28px;
  height: auto;
  aspect-ratio: 33 / 24;
  background: url('images/common/icon_mail_white.webp') no-repeat center center;
  background-size: contain;
}

.header__nav-list--cta .header__nav-list-link:hover {
  opacity: .8;
}

.header__hamburger.sp-nav,
.hamburger {
	display: none;
}

/* headerのメディアクエリ */
@media screen and (max-width: 768px) {
	#header.header {
		height: 50px;
		box-shadow: 0 2px 6px rgba(0,0,0,0.15);
		z-index: 10000;
	}

	.header__inner {
		padding: 4px 15px;
	}

	.header__logo {
		width: 50%;
		min-width: 172px;
		
	}

	.header__nav.header__pc-nav {
		display: none;
	}

	.header__hamburger.sp-nav {
		display: block;
	}

	.header__sp-nav-menu {
		background-color: #0057b7;
		overflow-y: scroll;
		padding: 60px 20px;
	}

/* ================================
   ハンバーガーメニュー
================================ */
.hamburger {
  display: inline-block;
  width: 28px;
  height: 22px;
  position: relative;
  cursor: pointer;
  border: none;
  background: none;
  z-index: 1001; /* メニューより上に */
}

.hamburger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #0057b7; /* SP背景が青なので白に */
  border-radius: 2px;
  transition: all 0.4s ease;
}

.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2) {
  top: 9px;
}
.hamburger span:nth-child(3) {
  top: 18px;
}

/* アクティブ状態（×印に変形） */
.hamburger.is-active span:nth-child(1) {
  transform: rotate(45deg);
  top: 9px;
}
.hamburger.is-active span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-active span:nth-child(3) {
  transform: rotate(-45deg);
  top: 9px;
}

/* ================================
   フルスクリーンナビ（SP用）
================================ */
.header__sp-nav-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0057b7;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__sp-nav-menu.is-active {
  opacity: 1;
  visibility: visible;
}

/* ================================
   メニューリスト
================================ */
.hamburger__nav-lists {
	margin-top: 100px;
	margin-bottom: 80px;
}

.hamburger__nav-list {
  margin: 1rem 0;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.hamburger__nav-list a {
  display: block;
  padding: 12px 0;
  font-size: 20px;
  color: #fff;
  text-decoration: none;
}

/* サブメニュー */

/* 初期状態は非表示 */
.hamburger__nav-list-submenu {
  display: none;
  margin-top: 0.5rem;
  background: rgba(255,255,255,0.1);
  padding: 0.5rem 0;
}

/* 開いた状態 */
.hamburger__nav-list-submenu.is-open {
  display: block;
}


.hamburger__nav-list-submenu-link {
	position: relative;
	padding-right: 20px; /* アイコン分の余白 */
}


.hamburger__nav-list-submenu-link:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 6px;
	height: 6px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}


.hamburger__nav-list-submenu {
  display: none;
  margin-top: 0.5rem;
}

.hamburger__nav-list-submenu.is-open {
  display: block;
}

.hamburger__nav-list-submenu a {
  font-size: 16px;
  opacity: 0.9;
  color: #fff;
}

/* CTAボタン（お問い合わせ） */
.hamburger__nav-list--cta a {
  background: #fff;
  color: #0057b7;
  padding: 10px 24px 10px 54px;
  border-radius: 4px;
  font-weight: bold;
  display: inline-block;
  margin-top: 20px;
  position: relative;
}

.hamburger__nav-list--cta a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -16px; /* 文字との距離を調整 */
  transform: translateY(-50%);
  width: 90px;
  height: auto;
  aspect-ratio: 99 / 22;
  background: url('images/common/icon_mail_blue.webp') no-repeat center center;
  background-size: contain;

}

}

/*-----------
ここからfront page top
-------------*/
.sp-br {
	display: none;
}

.top-page__fv {
	width: 100%;
	height: auto;
	aspect-ratio: 1920 / 600;
}

.top-page__fv picture,
.top-page__fv img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media screen and (max-width: 768px) {
	.top-page__fv {
		aspect-ratio: 375 / 454;
	}
}


.top-entry__hook-wrap {
	width: 100%;
	padding: 40px 0;
}

.top-entry__hook {
	font-size: 32px;
	color: #fff;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.top-entry__hook {
		font-size: 24px;
	}
}


.top-entry__cta-image-wrap {
	padding: 80px 24px;
	background-color: #0057b7;
}

.top-entry__cta-image-wrap-container {
	margin-inline: auto;
	
}

.top-entry__cta-image-wrap-container__link {
	width: 80%;
	max-width: 1200px;
	height: auto;
	display: block;
	margin-inline: auto;
	aspect-ratio: 1200 / 371;
}

.top-entry__cta-image-wrap-container picture,
.top-entry__cta-image-wrap-container picture img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

@media screen and (max-width: 768px) {
	.top-entry__cta-image-wrap  {
		padding: 30px 20px 40px;
	}

	.top-entry__cta-image-wrap-container__link {
		max-width: initial;
		aspect-ratio: 335 / 198;
		width: 100%;
	}
}


@media screen and (max-width: 425px) {
	.sp-br {
		display: block;
	}
}

/*-----------
top-problem セクション
-------------*/
.top-problem__items {
	display: flex;
	gap: 24px;
	flex-wrap: wrap; /* アイテムが折り返すように */
}

.top-problem__item {
	width: calc((100% - 56px) / 3);
	max-width: 380px;
	height: auto;
	position: relative;
}

.top-problem__img-wrap {
	width: 100%;
	height: auto;
	aspect-ratio: 640 / 427;
}

.top-problem-text {
	padding: 8px 10px 2px;
	background-color: #0057b7;
	color: #fff;
	font-weight: bold;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
}

.top-problem-text  span {
	display: inline-flex;      /* アイコンと文字を横並びに */
	align-items: center;       /* 縦位置を中央揃え */
	gap: 4px; 
	line-height: 1;   
}

.top-problem-text span::before {
	content: "";
	display: inline-block;
	width: 18px;               /* アイコンサイズ */
	height: 18px;
	background: url("images/common/probrem_icon.webp") no-repeat center center;
	background-size: contain;

}

@media screen and (max-width: 768px) {
	.top-problem__items {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.top-problem__item {
		width: 95%; /* 幅を95%にして少し余白を残す */
        max-width: none; /* max-widthの制限を解除 */
	}
}

@media screen and (max-width: 375px) {
    .top-problem__item {
        width: 100%; /* 幅を100%にして1列に並べる */
        max-width: none; /* 最大幅を制限しない */
    }
}

/*-----------
　　top-reason
-------------*/
.top-reason {
	background-color: #f5f5f5;
}

.top-reason__items {
	gap: 28px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.top-reason__item {
	border: 1px solid #0057b7;
	position: relative;
	background-color: #fff;
}

.top-reason__item-tag {
  display: inline-block;
  background-color: #0057b7;
  font-family: 'Noto Sans', sans-serif; 
  font-style: italic;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
  width: 150px;
  height: 32px;
  position: absolute;
  top: -1px;
  left: -1px;
}

.top-reason__item-tag span {
	display: block;
	color: #fff;
  	font-weight: bold;
  	font-size: 20px;
	text-transform: uppercase;
	padding-right: 14px;
	text-align: center;
}


.top-reason__item-container {
	padding: 24px;
	display: flex;
	flex-direction: column;
}

.top-reason__item-title-icon-wrap {
	width: 180px;
	height: auto;
	aspect-ratio: 1 / 1;
	margin-inline: auto;
}

.top-reason__item-title {
	font-weight: 900;
	font-size: 20px;
	text-align: center;
}

.top-reason__item-text {
	margin-top: 16px;
}

.top-reason__item-text span {
	display: block;
}

@media screen and (max-width: 768px) {
	.top-reason__items {
		grid-template-columns: 1fr;
		justify-items: center; /* アイテムを中央に配置 */
	}

	.top-reason__item {
		max-width: 580px;
		width: 80%;
	}
}


/*-----------
top-service セクション
-------------*/
.top-service {
	background-color: #fff;
}



.top-service-items {
}

.top-service-item {
	background-color: #f5f5f5;
	position: relative;
	padding: 32px;
}

.top-service-item:not(:first-child) {
	margin-top: 32px;
}

.top-service-item__inner {
	display: flex;
	gap: 24px;
}


.top-service-item__circle {
  width: 270px;
  height: 270px;
  border-radius: 50%;
  overflow: hidden;      /* 円からはみ出た部分を隠す */
}

.top-service-item__circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* ← 画像全体を収める */
}


.top-service-item__contents-wrap {
	display: flex;
	flex-direction: column;
	height: 270px;
	flex-grow: 1;
}

.top-service-item__head {
	border-bottom: 2px dotted #0057b7;
}

.top-service-item__heading {
	font-size: 32px;
	line-height: 1;
}

.top-service-item__price {
	font-size: 48px;
	color: #bd4037;
	font-weight: 900;
	margin-top: 4px;
}

.top-service-item__price span {
	font-size: 18px;
}

.top-service-item__bottom-text {
	font-weight: bold;
	margin-top: 8px;
}

.top-service-item__bottom-caution {
	font-size: 14px;
	margin-top: 8px;
}

.top-service-item__click {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 270px;
	height: 52px;
	clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
}

.top-service-item__click-button {
	background-color: #0057b7;
	display: block;
	text-align: center;
	font-size: 32px;
	font-weight: 700;
	color: #fff;
}

.top-service__cta-wrap {
	margin-top: 40px;
	text-align: center;
}

.button-chevron{
  /* 見た目 */
  --btn-bg: #0057b7;
  --btn-radius: 6px;
  --chev-size: 6px;   /* 角の長さ */
  --chev-stroke: 2px;  /* 線の太さ */

  display: inline-flex;
  align-items: center;
  gap: 10px;                 /* 文字と矢印の距離 */
  padding: 16.5px 40px;
  background: var(--btn-bg);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--btn-radius);
  line-height: 1;
  box-shadow: 0 1px 0 rgba(0,0,0,.08);
  transition: gap .2s ease, transform .2s ease, box-shadow .2s ease;
}

/* 右向きchevron（ボーダーだけで作成） */
.button-chevron::after{
  content: "";
  width: var(--chev-size);
  height: var(--chev-size);
  border-right: var(--chev-stroke) solid currentColor;
  border-top: var(--chev-stroke) solid currentColor;
  transform: rotate(45deg); /* → 方向 */
  transition: transform .2s ease;
}

/* ホバー/フォーカスのちょいアニメ */
.button-chevron:hover,
.button-chevron:focus-visible{
  gap: 12px; /* 文字と矢印が少し広がる */
  box-shadow: 0 3px 10px rgba(0,0,0,.12);
}

/* キーボード操作の見やすいフォーカス */
.button-chevron:focus-visible{
  outline: 2px solid #fff;
  outline-offset: 2px;
}

@media screen and (max-width: 768px) {
	.top-service-item {
		padding: 20px 20px 46px;
	}

	.top-service-item__heading {
		text-align: center;
		font-size: 24px;
	}

	.top-service-item__contents-wrap {
		height: initial;
	}

	.top-service-item__price {
		text-align: center;
	}

	.top-service-item__circle.sp-only {
		display: block;
		margin-inline: auto;
		width: 200px;
		height: auto;
		aspect-ratio: 1 / 1;
		margin-top: 24px;
	}

	.top-service-item__bottom {
		margin-top: 24px;
	}

	.top-service-item__bottom-text {
		font-size: 18px;
	}

	.top-service-item__bottom-caution {
		font-size: 14px;
	}

	.top-service-item__click {
		width: 135px;
		height: 26px;
	}

	.top-service-item__click-button {
		line-height: 1.8;
		font-size: 16px;
		font-weight: 700;
	}
}

/*-----------
top-about
-------------*/

.top-about {
	background: url('images/common/about_bg_blue.webp') no-repeat center center;
	background-size: cover;
}

.top-about__container {
	display: flex;
}

.top-about__img-wrap {
	width: 380px;
	height: 234px;
	aspect-ratio: 380 / 234;
	box-shadow: 0 0 40px 4px rgba(0,0,0,0.25);
}

.top-about__text-wrap {
	margin-left: 32px;
    padding-top: 40px;
    padding-bottom: 40px;
}

.top-about__text-wrap  p {
	color: #fff;
}

.top-about__text-wrap  p + p {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
	.top-about__container {
		flex-direction: column;
	}

	.top-about__img-wrap {
		max-width: 380px;
		width: 90%;
		height: auto;
		margin-inline: auto;
	}

	.top-about__text-wrap {
		margin-left: 0;
		margin-top: 24px;
	}
}


/*-----------
 top-insert-section
-------------*/
.top-insert-section__inner {
	padding-top: 30px;
	padding-bottom: 30px;
}

.top-insert-section p {
	color: #fff;
	text-align: center;
	font-size: 24px;
	line-height: 1.66;
}

@media screen and (max-width: 768px) {
	.top-insert-section__inner {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.top-insert-section p {
		font-size: 20px;
	}
}

/*-----------
 top-flow-section
-------------*/
.top-flow-items {
	
}

.top-flow-item {
	position: relative;
}

.top-flow-item:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -18px;              /* 三角がはみ出す分 */
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 30px solid transparent;  /* 左側透明 */
	border-right: 30px solid transparent; /* 右側透明 */
	border-top: 20px solid #0057b7;       /* 上辺を色付きに → 下向き三角 */
}

.top-flow-item:not(:first-child) {
	margin-top: 38px;
}

/* 最後の li.top-flow-item の三角を消す */
ul.top-flow-items li.top-flow-item:last-of-type::after {
  display: none;
}

.top-flow-item__flex {
	display: flex;
}

.top-flow-item__left-box {
	display: flex;
}

.top-flow-item__left-number-wrap {
	background-color: #0057b7;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-inline: 20px;
}

.top-flow-item__left-number-step {
	display: block;
	color: #fff;
	text-transform: uppercase;
	font-size: 32px;
	font-weight: 700;
	font-family: 'Noto Sans', sans-serif; 
    font-style: italic; 
}

.top-flow-item__left-number {
	display: block;
	color: #fff;
	font-size: 64px;
	font-weight: 700;
	font-family: 'Noto Sans', sans-serif; 
    font-style: italic; 
	line-height: 1;
}

.top-flow-item__left-img-wrap {
	width: 320px;
	height: 197px;
	aspect-ratio: 320 / 197;
}

.top-flow-item__right-box {
	flex-grow: 1;
	background-color: #f5f5f5;
	display: flex;
	align-items: center;
}

.top-flow-item__right-box-contents-wrap {
	padding-inline: 32px;
}

.top-flow-item__right-box-contents-wrap p span {
	display: block;
	font-size: 14px;
}

.top-flow-item__heading {
	color: #0057b7;
	font-size: 24px;
	font-weight: 700;
}

.top-flow-item__text {
	margin-top: 20px;
}

@media screen and (max-width: 768px) {
	.top-flow-item__flex {
		flex-direction: column;
	}

	.top-flow-item__left-box {
		flex-direction: column;
	}

	.top-flow-item__left-number-wrap {
		flex-direction: row;
	}

	.top-flow-item__left-number-step,
	.top-flow-item__left-number {
		display: inline-flex;
		font-size: 24px;
		font-weight: 700;
		letter-spacing: 0.06em;
	}

	.top-flow-item__left-img-wrap {
	width: 100%;
	height: auto;
    }

	.top-flow-item__right-box-contents-wrap {
		padding: 20px;
	}
}

/*----------- top-voice-section -------------*/
.inner.top-voice__inner {
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
}

.top-voice__swiper-container {
  width: 95%; 
  position: relative; /* スワイパーの矢印位置のため */
  margin-inline: auto;
}

.top-voice-swiper {
  width: 100%;
  margin: 0 auto; /* 横並びにする */
  position: relative;
}

.top-voice-swiper__swiper-wrapper {
  display: flex; /* 横並びにする */
}

.swiper-slide {
  background: #f5f5f5;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  box-sizing: border-box;
  flex-shrink: 0; /* 幅が縮まないように */
}

	  /* swiper-button のデフォルト矢印のスタイル */ 
      .swiper-button-prev, .swiper-button-next { 
        position: absolute; 
        top: 50%; 
        color: #333; /* 矢印の色 */ 
        font-size: 16px; /* 矢印のサイズを少し小さくする */ 
        transform: translateY(-50%); } 

		/* LTR（通常） */
		div.swiper-button-prev { left: -40px; right: auto; }
		div.swiper-button-next { right: -40px; left:  auto; }

		/* RTL（Swiperが .swiper-rtl を付与） */
		div.swiper-rtl .swiper-button-prev { right: -40px; left:  auto; }
		div.swiper-rtl .swiper-button-next { left:  -40px; right: auto; }


      /* 前へ次への矢印カスタマイズ */

	  .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after,
	  .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
		content: "";
	  }
	  
     /* 共通スタイル（chevron化のためborderをリセット） */
        .swiper-button-prev::after,
        .swiper-button-next::after {
          content: "" !important;
          display: inline-block;
          width: 14px;   /* 横幅（高さ24pxに合わせて半分） */
          height: 14px;  /* 縦のサイズ */
          border: solid #333;
          border-width: 0 3px 3px 0;  /* 右下の線だけ残す */
          padding: 0;
        }

        /* 前へ（左 chevron） */
        .swiper-button-prev::after {
          transform: rotate(135deg); /* ←方向 */
        }

        /* 次へ（右 chevron） */
        .swiper-button-next::after {
          transform: rotate(-45deg); /* →方向 */
        }

        @media screen and (max-width: 1024px) {
			/* LTR（通常） */
			div.swiper-button-prev { left: -32px; right: auto; }
			div.swiper-button-next { right: -32px; left:  auto; }

			/* RTL（Swiperが .swiper-rtl を付与） */
			div.swiper-rtl .swiper-button-prev { right: -32px; left:  auto; }
			div.swiper-rtl .swiper-button-next { left:  -32px; right: auto; }
        }

          @media screen and (max-width: 768px) {
            .inner.top-voice__inner {
              max-width: initial;
              width: 90%;
            }
            /* LTR（通常） */
			div.swiper-button-prev { left: -28px; right: auto; }
			div.swiper-button-next { right: -28px; left:  auto; }

			/* RTL（Swiperが .swiper-rtl を付与） */
			div.swiper-rtl .swiper-button-prev { right: -28px; left:  auto; }
			div.swiper-rtl .swiper-button-next { left:  -28px; right: auto; }

        } 



/* カードの中身 */
.top-voice-card {
	padding: 20px;
	background-color: #fff;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.top-voice-card__top-part {
	display: flex;
}

.top-voice-card__top-left {
	display: flex;
	flex-direction: column;
	padding-left: 80px;
}

.top-voice-card__top-left::before {
	content: "";
    position: absolute;
    top: 54px;
    left: 24px; /* 文字との距離を調整 */
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    background: url('images/common/voice_icon.webp') no-repeat center center;
    background-size: contain;

}

.top-voice-card__top-right {
	margin-left: 10px;
}

.top-voice-card__top-right p {
	color: #FFC809;
	letter-spacing: 0.15em;
}

.top-voice-card__tag {
	color: #fff;
	padding: 4px 10px;
	background-color: #0057b7;
}

.top-voice-card__area {
	margin-top: 10px;
}

.top-voice-card__bottom-part {
	margin-top: 10px;
}

@media screen and (max-width: 768px) {
	.top-voice-card__top-part {
		flex-direction: column;
	}
	.top-voice-card__top-right {
		margin-top: 8px;
		margin-left: 0;
	}
}



/*-----------
 top-area-section
-------------*/
.top-area__container {
	position: relative;
}

.top-area__container::after {
	content: "";
	position: absolute;
	top: 0;
	right: 60px; /* 文字との距離を調整 */
	width: 659px;
	height: 391px;
	aspect-ratio: 659 / 391;
	background: url('images/common/area_img_green.webp') no-repeat center center;
	background-size: contain;
}

.top-area__dls-wrap {
	width: 48%;
}

.top-area__dl:not(:first-child) {
	margin-top: 20px;
}

.top-area__dl dt a,
.top-area__dl dd {
	color: #fff;
}

.top-area__dl dt {
	font-weight: 900;
	font-size: 20px;
}

.top-area__dl dd {
	margin-top: 10px;
}

@media screen and (max-width: 768px) {
	.top-area.pb-100 {
		padding-bottom: 250px;
	}

	.top-area__dls-wrap {
		width: 100%;
	}

	.top-area__container::after {
		content: "";
		position: absolute;
		top: initial;
		bottom: -200px;
		left: 0;
		width: 100%;
		height: auto;
		aspect-ratio: 335 / 198.6;
		background: url(images/common/area_img_green_sp.webp.webp) no-repeat center center;
		background-size: contain;
	}
}

/*-----------
 top-faq-section
-------------*/

/* ここからfaq中身 */
.faq-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.faq-item:not(:first-child) {
 margin-top: 20px;
}

.faq-question {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 16px;
  font-weight: 800;
  background: #f7f7f7;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: 20px;
}

.faq-q {
  color: #095cba;
  margin-right: 20px;
  font-style: italic;
  font-family: 'Noto Sans', sans-serif; 
  font-size: 32px;
  font-weight: 800;
}

.faq-a {
  color: #c00;
  margin-right: 20px;
  font-weight: bold;
  font-family: 'Noto Sans', sans-serif; 
  font-style: italic; 
  font-size: 32px;
  font-weight: 800;
}
/* Q&Aアイコンのベース */
.faq-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
}

/* 共通線 */
.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background-color: #000;
  transition: transform 0.3s ease;
}

/* 横線 */
.faq-icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

/* 縦線 */
.faq-icon::after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
  transform-origin: center;
}

/* open時：縦棒を横棒に回して重ねる */
.faq-item.open .faq-icon::after {
  transform: translateX(-50%) rotate(90deg);
  top: 50%;                /* 縦の中央に強制揃え */
  height: 2px;             /* 横線と同じ太さに揃える */
  transform-origin: center;
  opacity: 0; /* ← 重なった後は透明に */
}


.faq-answer {
  display: none;
  padding: 16px;
  background: #fff;
}
.faq-item.open .faq-answer {
  display: block;
}

@media screen and (max-width: 768px) {
  .faq-question {
	font-size: 18px;
	padding-right: 40px;
  }
}

/*-----------
footer
-------------*/
.footer-top {
	padding: 80px 0 60px;
}

.footer-top__area-wrap {
	margin-top: 60px;
}

.footer-top__area-title {
	color: #fff;
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
}

.footer-top__area-dls-wrap {
	margin-top: 20px;
	padding-right: 60px;
}

.footer-top__area-dl:not(:first-child) {
	margin-top: 20px;
}

.footer-top__area-dl dt{
	background-color: #bd4037;
	padding: 0 8px;
	color: #fff;
	display: inline-block;
	font-weight: 900;
}

.footer-top__area-dl dd {
	margin-top: 10px;
	color: #fff;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .footer {
		padding-bottom: 46px;
	}

	.footer-top__area-dls-wrap {
		padding-right: 0;
	}
}


/*-----------
画面下固定CTA
-------------*/
.footer-bottom-fixed-cta-pc {
	position: fixed;
	bottom: 0;
	left: 0;
	padding: 8px 24px;
	width: 100%;
	min-height: 80px;
	z-index: 1000;
	box-sizing: border-box; /* パディング込みでサイズ調整 */
}

.footer-bottom-fixed-cta-pc__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media screen and (max-width: 1024px) {
	.footer-bottom-fixed-cta-pc__inner.inner {
		max-width: 100%; /* ビューポート幅に合わせる */
      	padding: 0 24px;
	}
}

.footer-bottom-fixed-cta-pc-box01 {
	width: 25%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.footer-bottom-fixed-cta-pc-box01__red {
	background-color: #bd4037;
	text-align: center;
	font-weight: 700;
	font-size: 12px;
	color: #fff;
	width: 100%;
}

.footer-bottom-fixed-cta-pc-box01__white {
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  margin: 0;
}

.footer-bottom-fixed-cta-pc-box02 { 
	width: 48%;
	align-items: center;
    display: flex;
    justify-content: center;
}

.footer-bottom-fixed-cta-pc-box02-phone-number {
	display: block;
	padding-left: 58px;
	font-weight: 700;
	font-size: 52px;
	color: #fff;
	position: relative;
}

.footer-bottom-fixed-cta-pc-box02-phone-number::before {
	content: "";
	position: absolute;
	top: 54%;
	left: 4px; /* 文字との距離を調整 */
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	background: url('images/common/icon_tel_white.webp') no-repeat center center;
	background-size: contain;
}

.footer-bottom-fixed-cta-pc-box03 {
	width: 20%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.footer-bottom-fixed-cta-pc-box03__mail-button {
	background-color: #fff;
	padding: 2px 16px;
	color: #0057b7;
	display: block;
	padding-left: 35px;
	position: relative;
	border-radius: 8px;
	font-weight: 700;
	text-align: center;
}

.footer-bottom-fixed-cta-pc-box03__p {
	color: #fff;
	white-space: nowrap;
}

.footer-bottom-fixed-cta-pc-box03__mail-button {
	width: 217px;
}

.footer-bottom-fixed-cta-pc-box03__mail-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 14px; /* 文字との距離を調整 */
	transform: translateY(-50%);
	width: 25px;
	height: 18px;
	background: url('images/common/icon_mail_blue.webp') no-repeat center center;
	background-size: contain;
}

.footer-bottom-fixed-cta-sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.footer-bottom-fixed-cta-pc__inner.inner {
		padding: 0 15px;
	}

	.footer-bottom-fixed-cta-sp.sp-only {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
	}

	.footer-bottom-fixed-cta-sp__flex {
		display: flex;
		border-top: 1px solid #fff;
	}

	.footer-bottom-fixed-cta-sp-box01,
	.footer-bottom-fixed-cta-sp-box02 {
		width: 50%;
		padding: 4px;
	}

	.footer-bottom-fixed-cta-sp-box01 {
		background-color: #bd4037;
		border-right: 1px solid #fff;
	}

	.footer-bottom-fixed-cta-sp-box01__jp,
	.footer-bottom-fixed-cta-sp-box02__jp {
		text-align: center;
		font-size: 8px;
		display: block;
	}

	.footer-bottom-fixed-cta-sp-box01-phone-number {
		display: block;
		text-align: center;
		padding-left: 24px;
		position: relative;
	}

	.footer-bottom-fixed-cta-sp-box01 {
		
	}

	.footer-bottom-fixed-cta-sp-box01-phone-number::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 20px; /* 文字との距離を調整 */
		transform: translateY(-50%);
		width: 22px;
		height: auto;
		aspect-ratio: 48/48;
		background: url('images/common/icon_tel_white.webp') no-repeat center center;
		background-size: contain;
	}


	.footer-bottom-fixed-cta-sp-box02 {
		background-color: #0057b7;
		position: relative;
	}

	.footer-bottom-fixed-cta-sp-box01 a span,
	.footer-bottom-fixed-cta-sp-box02__jp,
	.footer-bottom-fixed-cta-sp-box02__to-form {
		color: #fff;
		display: block;
	}

	.footer-bottom-fixed-cta-sp-box02__to-form {
		display: block;
		text-align: center;
		padding-left: 24px;
		position: relative;
	}

	.footer-bottom-fixed-cta-sp-box02__to-form::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 20px; /* 文字との距離を調整 */
		transform: translateY(-50%);
		width: 22px;
		height: auto;
		aspect-ratio: 33 / 24;
		background: url('images/common/icon_mail_white.webp') no-repeat center center;
		background-size: contain;
	}
}

@media screen and (max-width: 425px) {
	.footer-bottom-fixed-cta-sp-box02::before {
		left: 14px;
	}

	.footer-bottom-fixed-cta-sp-box01::before {
		left: 6px;
	}
}


/*-----------
footer
-------------*/
.footer {
	background-color: #004898;
	padding: 60px 0;
}

.footer__inner {
	padding-bottom: 60px;
}

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

.footer__left {
	width: 280px;
}

.footer__right {
	width: 46%;
}

.footer__logo {
	width: 280px;
	height: 40px;
}

.footer__logo a {
	display: block;
}

.footer__logo a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
} 

.footer__nav {
	display: flex;
	gap: 20px;
}

.footer-nav-items {
	min-width: 200px;
}

.footer-nav-items:not(:first-child) {
	margin-left: 14px;
}

.footer-nav-item:not(:first-child) {
  margin-top: 10px;
}

.footer-nav-item a {
	display: block;
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
}

#copyright.copyright {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 24px 100px;
}

#copyright.copyright p {
	text-align: center;
	display: block;
	color: #fff;
	font-weight: 700;
	width: 100%;
	padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.footer__flex {
		flex-direction: column;
	}

	.footer__left,
	.footer__right {
		width: 100%;
	}

	.footer-right {
		margin-top: 40px;
	}

	.footer__logo {
		width: 50%;
		min-width: 172px;
	}

	.footer__nav {
		flex-direction: column;
		gap: 24px;
	}

	#copyright.copyright {
		padding-bottom: 80px;
	}
}

