html,body {
  width: 100%;
	 overflow-x: hidden !important; /* 横スクロールを防止 */
}



/* ページ全体のスタイリング */
body {
    width: 100%; /* ビューポートの幅に合わせる */
    overflow-x: hidden !important; /* 横スクロールを防止 */
}


@font-face {
    font-family: 'Catchy Mager';
    src: url('../fonts/Catchy Mager Regular.woff2') format('woff2'),
         url('../fonts/Catchy Mager Regular.woff') format('woff'),
         url('../fonts/Catchy Mager Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'SoukouMincho';
    src: url('../fonts/SoukouMincho.woff2') format('woff2'),
         url('../fonts/SoukouMincho.woff') format('woff'),
         url('../fonts/SoukouMincho.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}



body {
  position: relative;
  background-color: #fff;   
  font-size: 16px;
  line-height: 1.7;

font-family: "BIZ UDPMincho", serif;
font-weight: 300;
font-style: normal;

}

main{

}



header{
	padding: 20px 100px;
	position:fixed;
	width:100%;
	z-index:9999;
}


header {
    padding: 10px 100px;
    position: fixed;
    width: 100%;
    z-index: 9999;
    display: flex;
    justify-content: space-between; /* ロゴとナビゲーションメニューを左右に分ける */
    align-items: center;
	background: #F4F1ED;
	background:rgba(244,241,237,0.5);
}

.header-logo img {
    height: 60px; /* またはロゴの高さを指定 */
    width: auto; /* またはロゴの幅を指定 */
}

@media screen and (max-width: 767px) {
	.header-logo img {
    height: 40px; /* またはロゴの高さを指定 */
    width: auto; /* またはロゴの幅を指定 */
}
}

header nav ul {
	    display: flex;
    justify-content: end;
    gap: 50px;
	align-items:center;
	
}

header nav ul li a, header .menu_icon{
	    font-family: math;
    font-weight: bold;
    text-decoration: none;
    color: #000;
    letter-spacing: 1px;
}

header .sp_menu .menu_icon{

}

header .menu_icon{
	display:none;
	    margin-left: 0px;
}

header .menu_icon::before{
    content: "";
    position: absolute;
    right: 0px;
    top: 0;
    display: block;
    background: #000;
    width: 3px;
    height: 80px;
}

header .menu_icon span{
	letter-spacing: 5px;
    line-height: 20px;
}

footer{
	    padding: 100px 0 150px;
    background: #623E2A;
}

footer .ftr_wrap{
	max-width: 1024px;
    margin: 0 auto;
}

footer h2 a{
	    color: #fff;
    font-family: math;
    font-size: 34px;
	margin-bottom:100px;
	display:block;
	    font-weight: normal;
	width:fit-content;
	opacity:0;
	top:100px;
	position:relative;
}

footer .ftr_nav{
	    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px;
}

footer .ftr_nav div.cont{
	    border: solid 1px #fff;
    padding: 15px 20px;
	    color: #fff;
}

footer .ftr_nav div.cont h3{
	font-weight: 500;
    margin-bottom: 15px;
}

.ftr_tel, .ftr_main, .adress{
	position:relative;
	padding:5px;
	left:20px;
}

.ftr_tel a, .ftr_main a{
	color:#fff;
	text-decoration:none;
}

.adress::before{
		content:"";
	display:block;
	width:20px;
	height:20px;
	background-image:url(/wp-content/uploads/images/96cd6095-9e5b-4f53-a0d7-eeca1cae112c.svg);
	background-repeat:no-repeat;
	background-size:contain;
		position:absolute;
	    left: -20px;
    top: 50%;
    transform: translateY(-50%);
}

.ftr_tel::before {
		content:"";
	display:block;
	width:20px;
	height:20px;
	background-image:url(/wp-content/uploads/images/57b212c5-aa8d-4e8b-b0f8-d85b3b22b7fb.svg);
	background-repeat:no-repeat;
	background-size:contain;
		position:absolute;
	    left: -20px;
    top: 50%;
    transform: translateY(-50%);
}

.ftr_main::before{
	content:"";
	display:block;
	width:20px;
	height:20px;
	background-image:url(/wp-content/uploads/images/409343e6-c672-4b25-ab43-716acec160ba.svg);
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	left:-24px;
    top: 50%;
    transform: translateY(-50%);
	    background-position: center;
}


footer .ftr_nav .ftr_our_ev{
	margin-bottom: 10px;
}

footer .ftr_nav .ftr_sns {
	    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

body > footer > div > div > div:nth-child(3) > p > a{
	    color: #fff;
    text-decoration: none;
    font-size: 14px;
    border: solid 1px;
    padding: 10px;
    display: block;
    text-align: center;
    border-radius: 30px;
    margin-top: 20px;
}

footer .ftr_nav .ftr_sns figure{
	width:30px;
}

.mv{
	background-image: url(/wp-content/uploads/images/topmv.jpg);
    background-size: cover;
    background-repeat: no-repeat;
		padding: 300px 0 350px;
	position:relative;
	background-position: center;
}

.mv h1{
font-size: 128px;
    color: #fff;
    font-family: 'Catchy Mager';
    letter-spacing: 5px;
    text-align: center;
    line-height: 50px;
    margin-top: 100px;
	position:relative;
	top:50px;
	opacity:0;
	font-weight:normal;
}

.mv h1 span{
	font-size:48px;
}

.mv div{
	
}

.mv .mv_subttl{
	    text-align: center;
    font-size: 24px;
    letter-spacing: 5px;
 font-family: 'Raleway', sans-serif;
	font-weight: bold;
    color: #fff;
	
}

.mv3 .mv_subttl2{
	    text-align: center;
    font-size: 24px;
    letter-spacing: 5px;
 font-family: 'Raleway', sans-serif;
	font-weight: bold;
    color: #fff;

}

.mv3 h1.mv_subttl2{
line-height:10px !important;

}


.mv3{
	background-image: url(/wp-content/uploads/images/salespassmv.jpg);
    background-size: cover;
    background-repeat: no-repeat;
		padding: 300px 0 350px;
	position:relative;
	background-position: center;
}

.mv3 h1{
font-size: 128px;
    color: #fff;
    font-family: 'Catchy Mager';
    letter-spacing: 5px;
    text-align: center;
    line-height: 50px;
    margin-top: 100px;
	position:relative;
	top:50px;
	opacity:0;
	font-weight:normal;
}

.mv3 h1 span{
	font-size:48px;
}

.mv3 div{
	
}


.mv2 .mv_subttl2{
	    text-align: center;
    font-size: 24px;
    letter-spacing: 5px;
 font-family: 'Raleway', sans-serif;
	font-weight: bold;
    color: #fff;

}

.mv2 h1.mv_subttl2{
line-height:10px !important;

}


.mv2{
	background-image: url(/wp-content/uploads/images/breederpassmv.jpg);
    background-size: cover;
    background-repeat: no-repeat;
		padding: 300px 0 350px;
	position:relative;
	background-position: center;
}

.mv2 h1{
font-size: 128px;
    color: #fff;
    font-family: 'Catchy Mager';
    letter-spacing: 5px;
    text-align: center;
    line-height: 50px;
    margin-top: 100px;
	position:relative;
	top:50px;
	opacity:0;
	font-weight:normal;
}

.mv2 h1 span{
	font-size:48px;
}

.mv2 div{
	
}

h2.maintitle{
font-weight:bold;
	font-size:72px;
	letter-spacing:2px;
color:#623E2A;
	text-align:center;
}

h2.maintitle2{
font-weight:bold;
	font-size:72px;
	letter-spacing:2px;
color:#fff;
	text-align:center;
}

.subtitle{
	color:#623E2A;
	font-size:37px;
}

@media screen and (max-width: 767px) {
	h2.maintitle{
	font-weight:bold;
	font-size:42px;
	letter-spacing:2px;
color:#623E2A;
}
	
		h2.maintitle2{
	font-weight:bold;
	font-size:42px;
	letter-spacing:2px;
color:#fff;
}

}

.pdtop{
	padding-top:100px;
	background:#F4F1ED;
}

.president{
	
	background:#F4F1ED;
}


.president .wrap .grid h2 {
    color: #623E2A;
    /* position: relative; 不要ならば削除 */
    /* top: -100px; このプロパティを削除または調整 */
    /* opacity: 0; これがアニメーションの一部でなければ削除 */
    margin-top: 0; /* 上のマージンを取り除く */
    margin-bottom: 0.5em; /* 下のマージンを設定 */
}

.president .wrap .ttltop h2::before {
    /* その他のプロパティ */
    top: 50%; /* 位置を中央に調整 */
    transform: translateY(-50%); /* Y軸に沿って中央に移動 */
}


.president .wrap .grid p {
    margin-top: 0.5em; /* pの上のマージンを調整 */
    /* 余分なスペースがあればここで調整 */
}

.president .wrap {
    max-width: 1024px;
    margin: 0 auto;
    padding: 100px 0;
    background: #F4F1ED;
}

.president .wrap h2.title {
    color: #623E2A;
    margin: 0 0 20px; /* h2の下のマージンを調整 */
}

.president .wrap h2.title span{
    color: #623E2A;
font-size:70%;
}

.president .wrap .grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 50px; /* グリッドアイテム間のギャップを調整 */
    align-items: start; /* アイテムを上に揃える */
}

.president .wrap .grid .image-content {
    /* 画像コンテンツに関するスタイル */
}

.text-content {
   color:#333;
	font-weight:normal;


}

/* レスポンシブ調整 */
@media screen and (max-width: 767px) {
    .president .wrap .grid {
        display: flex;
        flex-direction: column;
    }
    /* スマートフォン表示での順番を指定 */
    .president .wrap .grid .image-content {
        order: 1;
    }
	 .president .wrap .grid h2 {
        order: 2;
    }
    .president .wrap .grid .text-content {
        order: 3;
    }
}

.president .wrap .ttltop h2::before{
content: "";
    display: block;
    width: 70px;
    height: 70px;
    background-image: url(/wp-content/uploads/images/czM6Ly9tZWRpYS1wcml2YXRlLmNhbnZhLmNvbS8yeWxNYy9NQUY0RkoyeWxNYy8xL3AuanBn.jpeg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: -90px;
    top: -50%;
    transform: translateY(15%);
    border-radius: 100px;
}




.president .ttltop {
    text-align: center; /* ここを追加 */
    width: 100%; /* 必要に応じて */
    margin: 0 auto; /* 必要に応じて */
}


.president .wrap .ttltop h2 span{
		top:-100px;
	    position: relative;
	opacity:0;
}

.spacetop{
padding-top:80px;

}

.spacetop2{
padding-top:30px;

}

.president .grid h2 span{
font-size:25px;

color:#623E2A;
}

.president .grid h2{
font-size:35px;

color:#623E2A;
}

body > main > section.president > div > div > div:nth-child(2) > figure{
	opacity:0;
}

.shamal_projects{
		padding:100px 0;
	background:#EFEBE5;
}



.shamal_projects .wrap {
	max-width: 1024px;
    width: 100%;
	margin:0 auto;
}

.shamal_projects .wrap .ttl h2{
text-align: center;
    color: #333 !important;
    margin: 0 auto;
    width: fit-content;
    position: relative;
}

.shamal_projects .wrap .ttl h2 span{
		top:-100px;
	    position: relative;
	opacity:0;
	color: #333 !important;
}

.shamal_projects .wrap .grid{
    margin: 100px auto 50px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.shamal_projects .wrap .grid figure{
	    height: 220px;
    overflow: clip;
    position: relative;
    margin-bottom: 20px;
}

.shamal_projects .wrap h3{
	font-family: 'Raleway', sans-serif;
    color: #623E2A;
}

.shamal_projects .wrap .grid figure img{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.shamal_projects .wrap .grid .content div{
	border: solid 2px #623E2A;
    padding: 10px 20px;
    font-size: 14px;
}

.news{
	background-image: url(/wp-content/uploads/images/s2.png);
    background-size: cover;
    background-repeat: no-repeat;
		padding: 100px 0;
	position:relative;
	background-position: center;
}

.news .wrap .ttl2 h2{
text-align: center;
    color: #fff;
    margin: 0 auto;
    width: fit-content;
    position: relative;
	top:100px;
	opacity:0;
}

.news .wrap {
	max-width: 1024px;
    width: 100%;
	margin:0 auto;
}

.news .wrap .grid{
	    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 100px;
    color: #fff;
    margin: 100px 0 50px;
}
.news .wrap .grid .content h3::before{
content: "";
    display: block;
    width: 10px;
    height: 2px;
    background: #fff;
    position: relative;
    left: 0;
    top: 0;
    margin: 30px 0 15px;
}
.news .wrap .grid .content::before{
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background-image: url(/wp-content/uploads/images/dfe1f4c0-1ec0-48be-8646-3535ded3935d.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    left: 0;
    top: 0;
    margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
	.mv h1 {
    font-size: 98px;
	}
	
	.mv2 h1 {
    font-size: 98px;
	}
	
		.mv3 h1 {
    font-size: 98px;
	}
	
	.president .wrap, .shamal_projects .wrap, .news .wrap, footer .ftr_wrap{
    max-width: 748px;
	}
	
}


.br-sp {
    display: none;
	
}

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

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

	
	 header {
        padding: 20px;
        position: relative; /* ヘッダーを相対的位置に設定 */
        display: flex;
        justify-content: space-between; /* ロゴとメニューアイコンを両端に */
        align-items: center;
    }



     header .sp_menu .menu_icon {
       position: absolute;
        top: 20px; /* 上からの距離 */
        right: 20px; /* 右からの距離 */
        z-index: 100;
    }

    header nav {
        position: fixed;
        top: 0;
        right: 0;
        transform: translateX(100%); /* 画面外に隠す */
        width: 55%;
        height: 70%;
        background: #fff;
        transition: transform 0.3s;
    }

    nav.open {
        transform: translateX(0); /* メニューが開いた時に表示 */
    }
	
	header nav ul {
		display: block;
		    margin: 100px 0px;
	}
	
		header nav ul li{
			    font-size: 18px;
    padding: 15px 50px;
    border-bottom: 1px solid #ccc;
	}
	
	header nav ul li a::after{
		  font-family: "Font Awesome 5 Free"; 
  content: "\f054"; 
  font-weight: 900; 
  padding-right: 10px;
		    position: absolute;
    right: 10px;
	}
	
	header .menu_icon {
margin-left: unset;
    padding-left: 15px;
		display:grid;
	}
	
	header .sp_menu .menu_icon{

		    border-left: 2px solid;
		z-index:100;
}
	
	header .menu_icon::before {
    content: unset;
	}
	
	footer .ftr_nav {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 0 auto;
    width: 80%;
	}
	
	footer {
    padding: 50px 0 100px;
	}
	
	footer h2 a{
		font-size: 34px;
    margin-bottom: 50px;
    padding-left: 10px;
	}
	
	.president .wrap .grid, .shamal_projects .wrap .grid, .news .wrap .grid{
		    grid-template-columns:1fr;
	}
	
	.president .wrap, .shamal_projects .wrap, .news .wrap{
		width:80%;
		
	}
	
	.mv h1 {
    font-size: 38px;
		    margin-top: 20px;
		    line-height: 30px;
		    text-wrap: nowrap;
	}
	
	.mv .mv_subttl2{
		font-size:15px;
	}
	
	.mv h1 span {
    font-size: 22px;
}
	
	.mv2 h1 {
    font-size: 98px;
		    margin-top: 20px;
		    line-height: 9rem;
		    text-wrap: nowrap;
	}
	
	.mv2 .mv_subttl2{
		font-size:15px;
	}
	
	.mv2 h1 span {
    font-size: 22px;
}
	
	
	.mv3 h1 {
    font-size: 98px;
		    margin-top: 20px;
		    line-height: 9rem;
		    text-wrap: nowrap;
	}
	
		.mv3 .mv_subttl2{
		font-size:15px;
	}
	
	.mv3 h1 span {
    font-size: 98px;
}
	
	
	h2{
		font-size:28px;
	}
	
	.president .wrap .grid h2{
		text-align:center;
	}
	
	.shamal_projects .wrap .ttl h2::before{
		  width: 50px;
    	height: 50px;
		    left: -60px;
    top: -35%;
	}
	
	.news .wrap .grid{
		gap:50px;
	}
	
	.shamal_projects .wrap .ttl h2{

		text-align:center;
	}
	
}

.content a{
	color:#fff;
	text-decoration:none;
}


/********************************************************/
/* 会社概要 */
/********************************************************/



.kaisha {
width: 100%;
	margin:0 auto;
margin-top:20px;
}

.kaisha th,
.kaisha td {
border: 1px solid #ccc;
padding: 20px;
}

.kaisha th {
font-weight: bold;
background-color: #dedede; 
}

.kaisha td{
	text-align:left;

}

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

	.subtitle{
		text-align:center;
	}
	
.kaisha {
width: 90%;
	margin:0 auto;
margin-top:20px;
}
	
.kaisha,
.kaisha tr,
.kaisha td,
.kaisha th {display:block;}
.kaisha th {width:auto;}
	
	
	
}

.koteibox{
	width:1000px;
	margin:0 auto;
	margin-top:30px;
	margin-bottom:30px;
	
}

@media screen and (max-width: 767px) {
.koteibox{
	width:95%;
	margin:0 auto;
	margin-top:30px;
	margin-bottom:30px;
}
}

/********************************************************/
/* お問い合わせフォーム */
/********************************************************/

#cf-tbl{
width: 1000px;
}

#cf-tbl table{
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}
#cf-tbl table tr th{
width: 35%;
background: #eee;
}
@media screen and (max-width:768px){
#cf-tbl{
width: 100%;
}

#cf-tbl table,
#cf-tbl table tbody,
#cf-tbl table tr,
#cf-tbl table tr th,
#cf-tbl table tr td{
display: block;
}

#cf-tbl table{
width: 100%;
border-width: 0 0 1px 0;
}

#cf-tbl table tr th,
#cf-tbl table tr td{
width: 100%;
padding: 3% 5%;
}

#cf-tbl table tr td{
border-width: 0px 1px 0px 1px;
}
}
/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #F57500;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background: #ffaa56;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 15px auto 0
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 250px;
}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}


.pc{
display:block;
}

.sp{
display:none;
}


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

	.sp{
display:block;
}
	
}


/*---------CARD中身----------*/


.visual__box {
    display: flex;
    justify-content: center; /* 水平方向の中央寄せ */
    align-items: center; /* 垂直方向の中央寄せ */
	padding-top:30px;
padding-bottom:30px;
}

.visual__txt a{
	color:#fff;
	text-decoration: underline !important;
}
/*sp*/
.visual {
	padding: 5em 0;
	background: -webkit-linear-gradient(left, #F7F7E7, #F7F7E7 92%, #ffffff 8%, #ffffff);
	background: -o-linear-gradient(left, #F7F7E7, #F7F7E7 92%, #ffffff 8%, #ffffff);
	background: linear-gradient(to right, #F7F7E7, #F7F7E7 92%, #ffffff 8%, #ffffff);
}
.visual__area {
	padding: 5em 0;
	margin: 0 auto;
}
.visual__img img {
    height: 210px;
    width: 100%;
    object-fit: cover;
    object-position: top;
    box-shadow: 0 0 15px #ccc;
}

.visual__img2 img {
    height: 210px;
    width: 100%;
    object-fit: cover;
    object-position: top;
    box-shadow: 0 0 15px #ccc;
}

.visual__img3 img {
    height: 250px;
    width: 100%;
    object-fit: cover;
    object-position: middle;
    box-shadow: 0 0 15px #ccc;
}

.visual__txtbox {
    width: 90%;
    margin-top: -0px;
    margin-left: 10%;
    padding: 10px 10px 10px;
    background-color: #614C3F;
    color: #fff;
    z-index: 0;
    position: relative;

    line-height: 24px;
}
.visual__subttl {
	position: relative;
    line-height: 14px;
    padding-left: 36px;
    font-size: 10px;
}
.visual__subttl:before {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 20px;
    height: 1px;
    background-color: #ffffff;
}
.visual__ttl {
    line-height: 20px;
    padding: 20px 0 20px;
    font-size: 20px;
	
}
.visual__txt {
	margin-bottom: 30px;
	font-size: 17px;
	line-height: 1.5em;
	
}
.category-list {
	list-style: none;
    display: flex;
    flex-wrap: wrap;
}
.category-list__item {
    display: block;
    padding: 0 10px;
    border: 1px solid #707070;
    font-size: 10px;
    letter-spacing: -0.4px;
    border-radius: 5px;
    margin: 8px 8px 0 0;
}
/*tb*/
@media (min-width: 900px) {
	.visual__box {
		display: flex;
    	flex-direction: row-reverse;
	}
	.visual__img {
		width: 120%;
	}
	.visual__img img {
		height: auto;
	}
	
	.visual__img2 {
		width: 120%;
	}
	.visual__img2 img {
		height: auto;
	}
	
	.visual__img3 {
		width: 120%;
	}
	.visual__img3 img {
		height: auto;
	}
	
	.visual__txtbox {
		width: 100%;
    	max-width: 830px;
    	padding: 55px 60px 61px;
		margin-right: -10%;
		margin-top: 3%;
    	font-size: 14px;
	}
	.visual__subttl {
		font-size: 13px;
	}
	.visual__ttl {
    	font-size: 20px;
    	font-weight: bold;
	}
	/*reverse*/
	.visual__box--reverse {
		flex-direction: row;
	}
	.visual__box--reverse .visual__txtbox {
		margin-right: 10%;
		margin-left: -4%;
	}
}

/*pc*/
@media (min-width: 1280px) {

	
	.visual__img2 {
    	max-width: 890px;

	}
	.visual__img2 img {
    	max-height: 840px;
	}
	
	.visual__img3 {
    	max-width: 890px;

	}
	.visual__img3 img {
    	max-height: 840px;
	}
	
}


/*pc*/
@media (min-width: 1290px) {
	

	
	.visual__box {
    	align-items: flex-end;
		margin: 0 auto;
	}
	.visual__img {
    	max-width: 1000px;
	}
	.visual__img img {
    	max-height: 540px;
	}
	
	.visual__img2 {
    	max-width: 900px;

	}
	.visual__img2 img {
    	max-height: 840px;
	}
	
	.visual__img3 {
    	max-width: 900px;

	}
	.visual__img3 img {
    	max-height: 840px;
	}
	
	
	.visual__txtbox {
		margin-right: -5%;
		margin-bottom: -3%;
	}
}

/* スマートフォン用のスタイリング */
@media (max-width: 900px) {
    .visual__box {
        flex-direction: column; /* アイテムを縦方向に並べる */
    }

    .visual__img, .visual__img2, .visual__img3 {
        width: 100%; /* 画像の幅を親要素に合わせる */
        margin-bottom: 20px; /* 画像とテキストボックス間のマージン */
    }

    .visual__txtbox {
        width: 90%; /* テキストボックスの幅を調整 */
        margin: 0 auto; /* 左右中央寄せ */
        padding: 10px; /* パディングを調整 */
    }
}

a.btn_03 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 150px;
	margin: auto;
padding:10px;
	font-weight: bold;
	border: 2px solid #06C152;
	color: #06C152;
	border-radius: 100vh;
	transition: 0.5s;
	margin-top:20px;
	margin-bottom:20px;
}
a.btn_03:hover {
	color: #fff;
	background: #06C152;
}

p.copy{
	margin-top:50px;
	color:#fff;
	text-align:center;
}

.ttltop2{
color:#fff;
	text-align:center;
}


/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
text-decoration:none;
}

/*その他と主な共通部分は省略*/

a.btn-flat {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #333;
  border-radius: 5px;
  background: #fff;
	margin-top:30px;
	text-decoration:none !important;
}

a.btn-flat span {
  position: relative;
	text-decoration:none;
}

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 70px;
  width: 150%;
  height: 500%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-70%) rotate(135deg);
  transform: translateX(-98%) translateY(-70%) rotate(135deg);
  background: #fff100;
}

a.btn-flat:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
  transform: translateX(-9%) translateY(-25%) rotate(135deg);
}

.midashi{
	text-align:center;
	padding-top:10px;
}

.white a{
	color:#fff;
	font-size:110%;
}

.box_blog{
	width:100%;
}

.name_blog{
	width:100%;
}

.txtarea_topic{
	margin-bottom:30px;
}