/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration: none;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
	overflow-x: auto;
}

p,div{
	font-size: 16px;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}
.container {
	max-width: min(100% - 40px, 1300px);
	margin: 0 auto;
  }
  
  .inner {
	max-width: 1090px;
	margin: 0 auto;
  }
  
  .fade-up {
	opacity: 0;
	transform: translateY(40px);
	transition: 0.8s ease-out;
  }
  .fade-up.show {
	opacity: 1;
	transform: translateY(0);
  }
.w-1300{
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
}
.w-1090{
	max-width: 1090px;
	width: 100%;
	margin: 0 auto;
}
p,li{
	color: #000;
	line-height: 1.5;
	margin:0;
}
body{
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	position: relative;
}
ul{
	list-style-type:none;
}
#mv{
	padding-top: 100px;
    background: no-repeat url(front-img/mv_pc.png);
    background-position: top left;
    background-size: cover;
}
.logo h1{
	font-size: 20px;
	color: #fff;
	text-shadow: 2px 2px 4px #000;
}
header{
    position: absolute;
	width: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.header-navi ul{
	display: flex;
	margin: 0;
	align-items: center;
}
.header-navi li a{
    display: block;
	font-weight: bold;
    color: #000;
    text-decoration: none;
    margin-right: 30px;
}
.menu-container{
	display: flex;
	align-items: center;
    justify-content: space-between;
}
.contact-btn a{
	text-decoration: none;
    display: block;
    text-align: center;
    color: #fff !important;
	font-weight: bold;
	margin-right: 0px!important;
}
.contact-btn{
    background-color: #C830CB;
    padding: 40px 30px;
}
#footer {
	margin-top:100px;
	box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.08);
  }
.footer-menu-item{
	font-weight: bold;
}
.mv-taitle_pc{
	padding-top: 55px;
    display: block;
    margin-left: auto;
}
.mv-taitle_sp{
	display: none;
}
.mv-text{
	width: 700px;
	padding: 50px 0;
	margin-left: auto;
}
#concept{
	padding-top:80px;
	padding-bottom: 300px;
	background: no-repeat url(front-img/concept-bg.jpg);
	background-position: top center;
	background-size: cover;
}
.concept-wrap{
	position: relative;
}

#concept .concept-title{
	position: absolute;
	margin-left: calc((100% - 1090px) / 2);
	padding-top: 50px;
}
.taitle-container{
	display: flex;
    align-items: flex-end;
    gap: 10px;
}
.sec-taitle{
	font-size: 40px;
	font-weight: bold;
}
.sec-sub-taitle{
	font-size: 16px;
}
.taitle-ver1,.sub-taitle-ver1{
	color: #fff;
}
.taitle-ver2{
	line-height: 1.5;
	background: linear-gradient(to right, #EA1E63, #6D1EF1);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.sub-taitle-ver2{
	color:#000;
	margin-bottom: 10px;
}
.concept-text-container{
	padding: 200px 0;
    padding-right: 170px;
    display: flex;
	align-items: center;
    justify-content: flex-end;
}
.concept-container-01{
	width: 70%;
	margin-left: 0;
	background: linear-gradient(135deg, #EA1E63, #6D1EF1);
}
.concept-container-01 img{
	margin-top: 130px;
	position: absolute;
    width: 400px;
    margin-left: calc((100% - 1300px) / 2);
}
.concept-text-item{
	color: #fff;
    font-weight: bold;
    padding: 1em;
}
.concept-text-element{
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
  }
  
  .concept-text-element::before,
  .concept-text-element::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 2px;
	background: #fff;
  }
  
  .concept-text-element::before{
	transform: rotate(45deg);
  }
  
  .concept-text-element::after{
	transform: rotate(-45deg);
  }
  .concept-container-02{
	display: flex;
	gap:100px;
	position: absolute;
	left: 50%;
    transform: translate(-50%);
	top: 85%;
  }
  .concept-container-02-item{
	width: 600px;
	padding-bottom: 60px;
	background-color: #fafafa;
  }
  .concept-container-02-item .taitle-container{
	justify-content: center;
	padding-top: 60px;
  }
  .concept-list{
	padding: 0;
    width: 390px;
	display:flex;
	gap:10px;
    justify-content: center;
	margin: 30px auto 0;
  }
  .concept-list-item{
	width: 90px;
	padding: 10px 0;
	background: #fff;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  }
  .list-item{
	padding-top: 10px;
	text-align: center;
  }

  .concept-icon {
	display: block;
    width: 90px;
    height: 50px;
    background-size: contain;
  }
  .icon-uchu{
    background: url(front-img/icon-uchu.svg) no-repeat center;
  }
  .icon-kaiyo{
    background: url(front-img/icon-kaiyo.svg) no-repeat center;
  }
  .icon-kinyu{
    background: url(front-img/icon-kinyu.svg) no-repeat center;
  }
  .icon-syakai{
    background: url(front-img/icon-syakai.svg) no-repeat center;
  }
  .icon-souzo{
    background: url(front-img/icon-souzo.svg) no-repeat center;
  }
  .icon-kadai{
    background: url(front-img/icon-kadai.svg) no-repeat center;
  }
  .icon-kyodo{
    background: url(front-img/icon-kyodo.svg) no-repeat center;
  }

#business{
	padding:60px 0;
	background-color: #fafafa;
}
.business-item img{
    width: 100%;
}
.business-container{
	margin-top: 60px;
	display: grid;
	grid-template-columns: 3fr 2fr;
	align-items: center;
}
.stlong-text{
	font-size: 40px;
	color: #000;
	font-weight: bold;
}
.default-text{
	margin-top: 30px;
}
.main-business{
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.business-element{
	width: 430px;
	height: 1px;
	background: #000;
}
.main-business-container{
	margin-top: 40px;
}
.main-business-item{
	margin-top:40px;
	display: grid;
	gap:20px;
	grid-template-columns: 1fr 1fr 1fr;
}
.main-business-item-box{
	background: #fff;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.main-business-item-box img{
	width: 100%;
}
.main-business-item-box ul{
    margin: 3em 2em 3em 0;
    list-style-type: disc;
}
#vision{
	padding: 100px 0;
	background: no-repeat url(front-img/vision-bg.jpg);
	background-position: top center;
	background-size: cover;
}
.vision-item{
	margin-top:40px;
}
.vision-item img{
	width: 100%;
	margin-top: 40px;
}
#examples{
	padding:60px 0;
	background-color: #fafafa;
}
.example-item-container{
	margin-top: 60px;
	display: flex;
    flex-direction: column;
    gap: 30px;
}
.example-item{
	display: grid;
	gap:20px;
	grid-template-columns: 1fr 2fr;
	align-items: center;
}
.example-item-img{
	height:200px;
	overflow:hidden;
}
.example-item-img img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.example-item-deta{
	color: #999999;
}
.example-item-title,.message-item-title{
	color: #000;
	font-size: 1.2em;
	font-weight: bold;
}
.example-item-title-box{
	display: flex;
	gap:10px;
	align-items: center;
	margin-bottom:16px;
}
#message{
	padding:60px 0;
}
.message-item-container{
	margin-top: 40px;
    display: grid;
    gap: 50px;
    grid-template-columns: 4fr 1fr;
    align-items: center;
}
.message-img-sp{
	display:none;
}
.message-item-box img{
	width: 100%;
}
.message-item-box .p-right{
	margin-top: 20px;
}
.message-item-title{
    margin: 12px 0;
}
#company{
	background-color: #555555;
}
.company-wrap{
	display: flex;
	gap: 70px;
	align-items: center;
}
.company-list{
	margin-top: 60px;
	width: 700px;
    margin-right: calc((100% - 1090px) / 2);
}
.company-list .company-item:not(:last-of-type) {
    border-bottom: solid 1px #aaa;
}
.company-item{
	display: flex;
	color: #fff;
	padding: 1.5em 4rem;
}
.company-item :first-child{
	flex-basis: 25%;
}
.company-text{
	flex-basis: 75%;
}
#footer{
	padding-top: 40px;
}
#footer .logo{
	font-size: 20px;
	font-weight: bold;
	color:#000;
}
#footer .container{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-menu{
	display: flex;
}
.footer-menu-box{
	width: 200px;
}
.footer-menu-item a{
    display: block;
    text-decoration: none;
    color: #000;
    margin: 12px 0;
}
#footer .contact-btn {
    padding: 20px 30px;
}
.copyright-container{
	background: #EEEEEE;
}
.copyright-box{
	text-align: right;
    padding: 20px 0;
    font-size: 12px;
    color: #000;
}
@media screen and (max-width: 768px) {
	body {
		padding-top: 60px; 
	  }
	.padding-30{
		padding: 0 30px;
	}
	.menu-container{
		flex-direction: column;
		align-items: flex-start;
	}
	.header-navi ul{
		flex-direction: column;
		position: absolute;
		right: 0px;
		background-color: #fff;
        height: 100vh;
		padding: 30px 0 30px 30px;
		z-index: 100;
	}
	.header-navi ul li{
		margin-right: 30px;
	}
	.header-navi li a {
		margin: 10px 0;
	}
	.contact-btn{
		margin-top: 10px;
		margin-bottom: 30px;
		padding:0 30px;
	}
	.layer{
        background: rgb(0 0 0 / 60%);
        position: fixed;
        top: 59px;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
		z-index: 100;
	}
	.header-navi,
	.layer {
	  display: none;
	}
	.menu-js-open {
	  display: block;
	}
	.header-navi_sp {
	position: absolute;
	top: 30px;
	right: 30px;
	display: block;
	width: 30px;
	height: 2px;
	background: #C830CB;
	transition: 0.3s;
  }
  .header-navi_sp::before {
	content: "";
	position: absolute;
	left: 0;
	top: -8px;
	width: 30px;
	height: 2px;
	background: #C830CB;
	transition: 0.3s;
  }
 .header-navi_sp::after {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 30px;
	height: 2px;
	background: #C830CB;
	transition: 0.3s;
  }
  .header-navi_sp.menu-js-open {
	background: transparent; 
  }
  
  .header-navi_sp.menu-js-open::before {
	top: 0;
	transform: rotate(45deg);
  }
  
  .header-navi_sp.menu-js-open::after {
	top: 0;
	transform: rotate(-45deg);
  }
	#header {
		position: fixed;
		transform:none;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
		background: #fff;
	  }
	.menu-container{
		margin: 0 30px;
	}
	.logo h1 {
		font-size: 16px;
		color: #000;
		text-shadow: none;
		margin: 20px 0;
	}
	#mv{
		padding: 0;
	}
	.mv-taitle_pc{
		display: none;
	}
	.mv-taitle_sp{
		display: block;
	}

	.mv-taitle_sp{
		padding: 0 30px;
		background: no-repeat url(front-img/mv-taitle-bg_sp.jpg);
		background-position: center;
        background-size: cover;
	}
	.mv-taitle_sp img{
		padding: 130px 0 30px 0;
	}
	.mv-text{
		width: 100%;
		padding:30px;
	}
	#mv{
		background: no-repeat url(front-img/mv_sp.png);
        background-position: center;
        background-size: contain;
	}
	#concept{
		padding-top: 50px;
		padding-bottom: 450px;
	}
	#concept .concept-title {
		justify-content: center;
		width: 100%;
        margin: 0 auto;
        padding: 30px 0 0 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.concept-text-container{
		padding: 30px 0 100px 0;
		justify-content: center;
	}
	.concept-container-01 {
		padding-top: 1px;
		width: calc(100% - 30px);
    }
	.concept-container-01 img{
		position: static;
		width: 80%;
		margin-left:0 ;
	}
	.concept-container-02{
		flex-direction: column;
		width: calc(100% - 30px);
		gap: 0;
        left: 30px;
		transform:none;
	}
	.concept-container-02-item{
	width: 100%;
	padding: 0px;
	}
	.concept-container-02-item:last-child{
		padding-bottom: 30px;
	}
	.concept-list {
        width: calc(100% - 60px);
		gap: 5px
	}
	.concept-list-item {
	width: 75px;
	}
	.concept-list-item .list-item{
	font-size: 12px;
	}
	.concept-icon {
		width: 65px;
		margin: auto;
	}

	.concept-container-02-item .taitle-container{
		padding-top:30px;
	}
	.taitle-container{
		justify-content: center;
	}
	#business {
		padding: 30px 0;
	}
	.business-container{
		margin-top: 30px;
	}
	.business-container{
		display: block;
	}
	.stlong-text{
		font-size: 20px;
	}
	.pc_br{
		display: none;
	}
	.business-item img{
		margin-top: 30px;
	}
	.business-element{
		width: 100px;
	}
	.main-business-item{
        display: flex;
        flex-direction: column;
		margin-top: 30px;
	}
	.main-business-item-box ul{
		margin:1em;
	}
	#vision{
		padding: 50px 0;
	}
	#examples{
		padding:30px;
	}
	.example-item{
		display: flex;
		flex-direction: column;
	}
	.example-item-img{
		width: 100%;
	}
	.example-item-title-box{
		flex-direction: column;
		align-items: flex-start;
	}
	#message{
		padding:30px 0;
	}
	.message-img-pc{
		display: none;
	}
	.message-img-sp{
		display: block;
	}
	.message-item-container{
		display: flex;
	}
	.message-sp{
		margin-top: 10px;
        display: grid;
        gap: 10px;
        align-items: center;
        grid-template-columns: 3fr 1fr;
	}
    .company-wrap{
		flex-direction: column;
		gap:30px;
    }
	.company-list{
		width: 100%;
		margin: 0;
	}
	.company-item-img-box{
        width: 100%;
        height: 200px;
        overflow: hidden;
	}
	.company-item-box:last-child{
		margin-bottom: 30px;
		width: calc(100% - 60px);
	}
	.company-item-box img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.company-item{
		width: 100%;
		flex-direction: column;
		padding: 1.5em 0;
	}
	.company-title{
		margin-bottom: 0.5em;
	}
	#footer .container {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.footer-menu-box{
		width: 100%;
	}
	.footer-menu{
		width: 100%;
	}
	.copyright-container{
		padding-top: 20px;
		padding-bottom: 20px;
	}
}
.page-contents{
	padding-top: 100px;
}
@media screen and (max-width: 768px) {
	.page-contents{
		padding-top: 0px;
	}
	.page-body{
		width: 100%;
        padding: 30px;
	}
}

.page-title{
	font-size: 2em;
}
.page-title {
	font-weight: 600;
	display: flex;
	align-items: center; 
	gap: 8px;
  }
  
  .page-title::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 4px;
	background: #C830CB;
  }
/* お問い合わせ */
.form-block {
	background: #FCF5FC;
	padding: 35px 0;
	margin-top: 40px;
  }
  .form-inner {
	width: min(100% - 40px, 1040px);
	margin-inline: auto;
  }
  .form-item {
	padding-bottom: 30px;
  }
  .form-label {
	font-size: max(14px, min(3vw, 16px));
	display: block;
  }
  button, input[type="text"], input[type="email"], input[type="submit"], optgroup, select, textarea {
	-webkit-appearance: none;
	font-size: 16px;
	border-radius: 5px;
	border: 1px solid #CCC;
	width: 100%;
	padding: .6em 1em;
  }
  .form-notes {
	padding: 0 20px;
  }
  .form-notes a {
	color: #C830CB;
	text-decoration: underline;
  }
  .form-notes .wpcf7-list-item {
	margin: 0;
  }
  .form-submit {
	width: min(100% - 40px, 340px);
	margin-inline: auto;
	padding: 30px 0 0 0;
  }
  .form-submit input[type="submit"] {
	font-size: max(16px, min(3vw, 20px));
	border-radius: 30px;
	background: #C830CB;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
  }
  .form-submit input[type="submit"]:hover {
	opacity: .8;
  }
  .wpcf7-spinner {
	display: block;
	margin-inline: auto;
  }
  @media(max-width: 740px) {
	.form-block {
	  padding: 30px 0;
	  margin-top: 30px;
	}
	.form-label {
	  margin-bottom: 10px;
	}
	.form-submit {
	  padding: 15px 0 0 0;
	}
  }
  @media(min-width: 741px) {
	.form-item {
	  display: grid;
	  grid-template-columns: 25% 1fr; 
	}
	.form-item:not(.form-textarea) {
	  align-items: center;
	}
  }
  
/* 投稿 */
.page-contents p{
	line-height: 2;

}
.article-section{
padding-top: 60px;
}
.eye-catch {
    width: min(100%, 700px);
    margin: 0 auto 30px auto;}
.section__heading{
	font-size: 20px;
	padding-bottom: 20px;
	border-bottom: solid 1px #ccc;
}
.post-date{
	font-size: 1em;
	color: #999;
}
.content-h1{
	font-size: 20px;
	padding-bottom: 0.5em;
	border-bottom: solid 1px #ccc;
}
  h2 {
	margin-top: 2em;
	font-size: 20px;
	position: relative;
	padding-left: 12px; /* バーの分余白 */
  }
  
  h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background: #C830CB;
  }
  .wp-block-list{
	list-style-type: initial;
  }
  .post-pagination-wrapper{
	margin-top: 60px;
  }
  .pagination-label{
	font-size: 20px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 6px;      
	margin-bottom: 0.5em;
  }
  .next-icon {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(45deg);
  }
  .prev-icon {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(-135deg);
  }
  .pagination-prev-date,.pagination-next-date{
	font-size: 0.8em;
	color: #999;
	padding-right: 1em;
  }
  .pagination-prev-link,
.pagination-next-link {
  display: block;
  padding: 16px 0;
  border-top: 1px solid #ddd;
}

.pagination-next-link {
  border-bottom: 1px solid #ddd;
}
.section__link.prev-link {
	margin-top: 30px;
	position: relative;
	padding-left: 28px; 
	display: inline-block;
	color: #C830CB;
	font-weight: 700;
	text-decoration: none;
  }
  
  /* 丸 */
  .section__link.prev-link::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 18px;
	border: 2px solid #C830CB;
	border-radius: 50%;
	transform: translateY(-50%);
  }
  
  /* ＜ */
  .section__link.prev-link::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	width: 6px;
	height: 6px;
	border-left: 2px solid #C830CB;
	border-bottom: 2px solid #C830CB;
	transform: translateY(-50%) rotate(45deg);
  }
/* 投稿一覧 */
#archive-page{
	padding-top: 100px;
}
.example-item {
	display: flex;
	gap: 20px;
	margin-bottom: 30px;
  }
  
  .example-thumb img {
	width: 260px;
	height: auto;
	object-fit: cover;
  }
  
  .example-body {
	flex: 1;
  }
  
  .example-date {
	font-size: 14px;
	color: #888;
  }
  
  .example-title {
	font-size: 18px;
	font-weight: bold;
	margin: 5px 0;
  }
  
  .example-excerpt {
	font-size: 14px;
	color: #444;
	line-height: 1.6;
  }
  .example-link{
	display: flex;
	gap:30px;
}
  /* パンくず */
  .breadcrumb {
	padding: 30px 0 60px;
	font-size: 14px;
	color: #808080;
  }
  #archive-page  .breadcrumb {
	padding-bottom: 30px;
}
  
  .breadcrumb a {
	color: #808080;
	text-decoration: none;
  }
  
  /* 区切り（＞）を疑似要素で */
  .breadcrumb a::after {
	content: "＞";
	margin: 0 6px;
	color: #808080;
  }

  .top-example-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
  }
  
  .top-example-card {
	background: #fff;
	box-shadow: 0 8px 24px rgba(0,0,0,.12);
  }
  
  .top-example-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
  }
  
  .top-example-card__thumb img,
  .no-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: #d9d9d9;
  }
  
  .top-example-card__body {
	padding: 24px;
  }
  
  .top-example-card__date {
	color: #999;
	font-size: 14px;
	margin-bottom: 12px;
  }
  
  .top-example-card__title {
	font-size: 18px;
	line-height: 1.7;
	font-weight: 700;
  }
  .top-example-more {
	text-align: center;
	margin-top: 40px;
  }
  
  .top-example-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 40px;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
	text-decoration: none;
  
	/* グラデーション */
	background: linear-gradient(90deg, #ff2a7f, #7b2cff);
  }
  
  /* 矢印 */
  .top-example-btn .arrow {
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
  }
  .example-excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; /* PC：3行 */
	overflow: hidden;
  }
  @media(max-width: 740px) {
	.top-example-list {
		display: flex;
		flex-direction: column;
	
	}
	#archive-page {
		padding-top: 0px;
	}
	.article-section {
		padding-top: 0px;
	}
	.example-link{
		flex-direction: column;
	}
	.example-thumb img{
		width: 100%;
	}
	.example-excerpt {
		-webkit-line-clamp: 3;
	  }
	.pagination-label{
		font-size: 16px;
	}
  }
  /* CEOメッセージ */
  .page-header{
	margin-bottom: 60px;
  }
  .message-grid {
	display: grid;
	grid-template-columns: 2fr 1fr; /* ←ここが2:1 */
	gap: 40px;
	align-items: center;
  }
  
  .message-grid img {
	width: 100%;
	height: auto;
	object-fit: cover;
  }
  .reverse{
	grid-template-columns: 1fr 2fr;
  }
  .p-right{
	text-align: right;
  }
  .ceo-sign{
	font-size: 2em;
	font-family: "Yuji Syuku", "Hiragino Mincho ProN", "Yu Mincho", serif;
  }
  @media(max-width: 740px) {
	.message-grid {
		display: flex;
		flex-direction: column;
		gap:20px;
	}
	.ceo-sign-containet{
		margin-top: 30px;
	}
	.ceo-sign{
		font-size: 1.5em;
	}
  }
  .more-btn {
	margin: 1em 0;
	position: relative;
	display: inline-flex;
	margin-right: auto;
	align-items: center;
	gap: 10px;
	font-weight: 500;
	font-size: 14px;
	color: #C830CB;
  }
  
  /* 丸 */
  .more-btn::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 1px solid #C830CB;
	border-radius: 50%;
	position: relative;
  }
  
  /* 矢印（＞） */
  .more-btn::before {
	content: "";
	position: absolute;
  
	width: 6px;
	height: 6px;
  
	border-top: 2px solid #C830CB;
	border-right: 2px solid #C830CB;
  
	transform: rotate(45deg);
  
	/* 丸の中に配置 */
	right: 7px;
  }
  .front-footer #footer{
margin: 0;
  }