*{
	box-sizing:border-box;
}
html,body{
	margin:0;
	padding:0;
}
body{
	margin:0 auto;
	color:#333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(14px, 1.1vw, 18px);
	letter-spacing: .04em;
	line-height: 2.1;
	background: url("../images/bg.png") no-repeat center center / cover;
	z-index:1;
}
main{
}
.inner{
	max-width:1170px;
	width:100%;
	margin:0 auto;
}
h1,h2,h3{
	color:#155e71;
}
h1{
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(26.4px, 3.3vw, 44px);
	letter-spacing:.06em;
	color:#fff;
	margin-top:15vh;
	margin-left:6vw;
}
h2{
	font-family:"Shippori Mincho", serif;
	font-weight: 550;
	font-style: normal;
	font-size: 1.98vw;
}
h3{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: .04em;
	padding-bottom:1.5vh;
	font-size:1.6vw;
	margin:0;
}
p,ul li{
	font-family: "Noto Sans JP", sans-serif;
	font-size:1.1vw;
	letter-spacing: .04em;
	line-height: 2.1;
}
.hero{
	width:100%;
	min-height: calc(100vh - 87px);
	background-image:url(../images/header_top.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
}
.header_polygon{
	position:absolute;
	background-color:#014c61;
	width:100%;
	height:calc(100vh - 87px);
	opacity:.5!important;
	clip-path:polygon(0 0,40% 0,23% 65%,35% 100%,0 100%);
}
.deco_text{
	font-family:"Montserrat", sans-serif;
	color:#fff;
	font-size:7vw;
	letter-spacing:.01em;
	line-height:1.1em;
	font-weight:450;
	position: relative;
	top: 6vh;
	padding-left: 6vw;
}
nav{
	margin:0;
	padding:0;
	background-color:#fff;
	box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
}
.nav_flex{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	height:87px;
}
nav ul{
	font-family: "Noto Sans JP", sans-serif;
	display:flex;
	align-items:center;
	flex-wrap:nowrap;
	list-style:none;
	padding-right:7%;
	margin-left:auto;
	text-align:center;
}
nav ul li{
	line-height:68px;
	position:relative;
	padding:0 15px;
	white-space:nowrap;
}
.nav_text::before{
	content:"";
	position:absolute;
	left:0;
	top:50%;
	transform: translateY(-50%);
	width:1px;
	height:13px;
	background:#000;
}
nav ul li a{
	text-decoration:none;
	color:#333;
	font-size:1.1vw;
}
.nav_btn a{
	color:#fff;
	background-color:#278cef;
	padding:8px 20px;
}
.nav_flex h1{
	height:68px;
	width:auto;
	margin:0;
	padding-bottom:9px;
	padding-left:40px;
}
nav ul li a:hover{
	opacity: 0.6;
	transition: opacity 0.3s ease;
}
/* --- main --- */

.flex2r{
	display:flex;
	align-items:center;
	justify-content:center;
}
#about .flex2r{
	gap:4vw;
	display: grid;
	grid-template-columns: 200px 1fr;
	margin-top:15vh;
}
#about p{
	text-align:left;
	max-width:36vw;
	margin:0;
	padding-bottom:2vh;
}
#poseidon_dai{
	width:640px;
	height:auto;
}
#poseidon_syou{
	width:300px;
	height:auto;
	transform: translateY(-15vh);
}
.photo_position2{
	display:flex;
	flex-direction:column;
}
.photo_position3{
	display:flex;
	justify-content:center;
	align-items:flex-end;
	gap:1.5vw;
}
.photo_position3 > div:nth-child(2){
	margin-left:1.5vw;
}

.photo_position4 h3{
	margin:0;
	padding:0;
}
.photo_position{
	display:flex;
	justify-content:flex-end;
	gap:4.5vw;
	padding-left:5vw;
	margin-top:10vh;
}

/* --- programs --- */
#programs .inner{
	max-width:1490px;
}
img.dai{
	width:640px;
	height:420px;
  	object-fit: cover; 
  	object-position: center;

}
img.syou{
	width:700px;
	height:auto;
	display: block;
	margin: 0 auto;
  	object-fit: cover; 
  	object-position: center;
	transform: translateX(12vw); 
}
#programs h2,#programs h3{
	margin:0;
	padding:0;
}
#programs h3{
	font-size:1.3vw;
}
#programs .flex2r{
	margin-top:12vh;
	align-items:flex-start;
	justify-content:flex-end;
	gap:5vw;
	margin-bottom:5vh;
}
#programs p{
	max-width:36vw;
}
#programs #sakan .flex2r{
	justify-content:flex-start;
	padding-left:1.1vw;
}
#programs #fukugen .flex2r{
	align-items:flex-end;
}
#sakan .syou{
	transform: translateX(-11vw); 
}
.right{
	display:flex;
	justify-content:flex-end;
	margin-top:5vh;
}
/* --- works --- */
:root{
--work-img-w: 310px;
--work-gap: 40px;
}

#works .inner{
	display: grid;
	grid-template-columns: 150px var(--work-img-w) 0.5fr var(--work-img-w);
	align-items: start;
	overflow-x: clip;
	margin-top: 20vh;
	padding-left: 3vw;
}

#works .works_header{
	grid-column: 1;
	grid-row: 1 / -1;
}

#works .works_photo{
	grid-column: 2 / 5;
	display: grid;
	grid-template-columns: var(--work-img-w) auto var(--work-img-w); /* before / arrow / after */
	column-gap: 20px;
	row-gap: 12px;
	align-items: center; 
}
#works .works_photo .before,
#works .works_photo .after{
	width: 100%;
	height: auto;
	display: block;
}

#works .works_photo .arrow{
	width: 52px;
	height: auto;
	justify-self: center;
}

#works .works_photo .works_meta{
	grid-column: 1 / -1;
	margin-top: 6px;
}
#works .works_meta h3{
	margin: 0 0 8px;
	font-weight: 500;
	font-family: "Shippori Mincho", serif;
	text-align:center;
}

#works .inner > a{
	grid-column: 2 / 5;
	justify-self: end;
	margin-top:2vh;
	margin-right:1.5vw;
}
/* --- 紹介動画--- */
#video .inner{
	max-width:1270px;
}
#video .flex3 {
	display: grid;
	grid-template-columns: 100px 80px 1fr;
	margin-top:15vh;
}
.center{
	margin:0 auto;
}

/* --- accessー--- */
#access .inner{
	max-width:1270px;
}
#access .flex3 {
	display: grid;
	grid-template-columns: 100px 500px 1fr;
	margin-top:10vh;
}
#access h2{
	font-size:1.8vw;
	color:#333;
}
#access p{
	font-size:1.3vw;
	letter-spacing: .04em;
	color:#333;
}


/* --- 固定バナー--- */
.kotei{
	position: fixed;
	right: 56px;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	z-index: 1000;
}
.gattai{
	display: inline-block;
	line-height: 0;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 6px 16px rgba(0,0,0,.15);
}

.gattai img{
	display:block;
	width:auto;
	height:auto;
	border-radius:0;
	box-shadow:none;
}
.gattai a:hover {
	opacity: 0.6;
	transition: opacity 0.3s ease;
}
/* --- footer --- */
footer{
	background-size:cover;
	background-color: black;
}
footer .inner {
  	padding: 0 20px;
  	display: flex;
 	flex-direction: column;
  	text-align: center;
	color: #fff;

}
.footerlogo img {
	width: 80px;
	margin-top: 20px;
}

.footerlogo{
	display: flex;
	align-items: center;       /* ← 縦の中央揃え */
	justify-content: center;   /* ← 横中央揃え */
	gap: 16px; 
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
}

.footer_name{
	display: inline-block;  /* ← 高さや padding が効くようになる */
	height: 10px;            /* ← 任意の高さ */
	line-height: 40px;       /* ← テキストを縦中央に */
}
	
.footer_contact{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	 
}

.toiawase,.privacy{
	text-decoration: none;
	color: #fff;
}
 
.toiawase:hover,.privacy:hover {
	opacity: 0.6;
	transition: opacity 0.3s ease;  /* アニメーション */
}
.copyright{
	color: #C0C0C0;
}
img[alt="詳細を見る"] {
	transition: transform 0.3s ease;
}

img[alt="詳細を見る"]:hover {
	transform: scale(1.1)!important;
}
/* --- 古代コンクリートとは --- */
.page-concrete #programs .inner{ max-width:1300px; margin:0 auto; }
.page-concrete #video    .inner{ max-width:1170px; margin:0 auto; }
.page-concrete #access   .inner{ max-width:1170px; margin:0 auto; }
#concrete{
	width:100%;
	min-height: calc(100vh - 87px);
	background-image:url(../images/Colosseum.jpeg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
}
.page-concrete #about .flex2r{
	display: grid;
	grid-template-columns: 120px 1fr;
	padding-left:5vw;
	margin-top:15vh;
}
.page-concrete #about p{
	text-align:left;
	max-width:60vw;
	margin:0;
	padding-bottom:2vh;
}

.page-concrete .photo_position {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top:12vh;
	padding:0 2vw; 
} 
.page-concrete .photo_position2 {
	display:flex;
	align-items: flex-end;
	flex-direction:row; gap:2vw; 
} 
.page-concrete .photo_position3 {
	display:flex;
	flex-direction:column;
	align-items: flex-end;
	gap:1.5vw; 
} 
.kodai_dai{
	width:600px;
	height:auto;
}
.page-concrete .photo_position3{
	overflow: visible;
}
.kodai_syou{ 
	width:300px; 
	height:auto;
	transform: translateX(10vw)!important; 
}

#p01{
	text-align:left;
	padding:5vh 0 8vh 6vw;
}
.page-concrete .right{
	padding:0;
}
.p01_img{
	width:430px;
	height:280px;
  	object-fit: cover; 
  	object-position: center;
}
.p03_img{
	width:430px;
	height:430px;
  	object-fit: cover; 
  	object-position: center;
}
.p02_img{
	width:350px;
	height:550px;
  	object-fit: cover; 
  	object-position: center;
}
.page-concrete #programs .flex2r{
	margin:0;
	align-items:center;
	justify-content: space-between;
	padding:0 0 0 4vw;
}
.page-concrete #p02 .flex2r,.page-concrete #p04 .flex2r,.page-concrete #p01 .flex2r{
	padding: 6vw 0 0 4vw;
}
.page-concrete #p03 .flex2r,.page-concrete #p05 .flex2r{
	display: grid;
	grid-template-columns: 1fr 500px;
	padding:6vw 0 0 4vw;
	justify-content:flex-end;
}
#seihin{
	width:100%;
	min-height: calc(100vh - 87px);
	background-image:url(../images/seihin.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
}



#news{
	margin:5vh 0;
}
.news-widget{
	font-family: "Noto Sans JP", sans-serif;
	color:#333;
	width: min(92vw, 760px);
	margin-inline: auto;
}
.news-widget h2{
	font-family:"Shippori Mincho", serif;
	font-weight:550;
	font-size: clamp(22px, 2.2vw, 30px);
	color:#155e71;
	letter-spacing:.04em;
	margin:0 0 10px;
	line-height:1.3;
	text-align: center;
}
.news-widget .list{
	border-top:1px solid #e5e7eb;
}
.news-widget .row{
	display:grid;
	grid-template-columns: 9em 1fr;
	gap:12px;
	border-bottom:1px solid #e5e7eb;
}
.news-widget .date{
	font-size:1.1em;
	color:#6b7280;
	line-height:1.6;
	letter-spacing:.04em;
}
.news-widget .title{
	font-size:clamp(18px, 1.8vw, 24px);
	font-weight:400;
	line-height:1.5;
	letter-spacing:.02em;
}
.news-widget .title a{
	font: inherit;
	color:#333;
	text-decoration:none;
}
.news-widget .title a:hover{
	opacity:.6;
	transition:opacity .2s;
}
.news-widget a.btn{
	display:block;
	width: fit-content;
	min-width: 160px;
	margin:16px 0 0 auto;
	font-size: clamp(18px, 1.8vw, 22px);
	padding: .7em 1em;
	line-height: 1.2;
	white-space: nowrap;
	background:#278cef;
	color:#fff;
	border:1px solid #278cef;
	border-radius:8px;
	font-weight:500;
	text-align:center;
	text-decoration:none;
}
@media (max-width: 640px){
.news-widget .row{
	grid-template-columns: 7.5em 1fr;
	padding:14px 8px;
}
}
/* ====== 新着情報 ====== */

.page-news-list, .page-news-detail{
	font-size: clamp(16px, 1.25vw, 20px);
}

.page-news-list p, .page-news-detail p,
.page-news-list li, .page-news-detail li{
	font-size: inherit;
}

.page-news-list .title, .page-news-detail .title{
	font-size: clamp(18px, 1.8vw, 24px);
	font-weight: 700;
	line-height: 1.5;
}
.page-news-list .title a, .page-news-detail .title a{
	font: inherit;
	text-decoration: none;
	color: #333;
}
.page-news-detail .news-hero img{
	display:block;
	max-width:100%;
	height:auto;
	border-radius:12px;
}
body.page-news-list,
body.page-news-detail{
	background-image: url("../images/bg.png");
	background-repeat: repeat-y;
	background-position: center top;
	min-height: 100vh;
}



/* コンクリート補修　施工事例 */
#header_sekojirei{
	width:100%;
	min-height: calc(100vh - 87px);
	background-image:url(../images/header_sekojirei.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
}
#header_sekojirei .deco_text,
#header_sekojirei h1,{
	position: relative;
	z-index: 1;
}
.doma .ohter {
	margin-bottom: 20px;
	text-align: center;
}
.doma h2 {
	font-size:2.5vw;
	padding:0;
	margin:0;
}
.doma_row{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	width: 100%;
}
.doma_set {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: 100%;
}
.doma_images {
	display: flex;
	flex-direction: column;
	align-items: center;
	width:85%;
}
.yajirusi{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	width: 50%;
	padding-top: 2em;
}
.yajirusi img{
	max-width: 100%;
	height: auto;
}

#sekojirei .inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.doma_before, .doma_after {
	width: 40%;
	display: inline-block;
}

.jirei h2{
	text-align:center;
	font-size:2.5vw;
	margin-right:0 auto;
}
.koku {
	text-align: center;
}
/* コンクリート補修　施工事例ここまで */


/* 研修内容の詳細 */
.header_programs{
	width:100%;
	min-height: calc(100vh - 87px);
	background-image:url(../images/header_programs.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
}
.header_programs .deco_text,
.header_programs h1{
	position: relative;
	z-index: 1;
}
#kensyu .inner{
	max-width:1490px;
	width: 100%; 
	margin: auto;
}
img.dai2 {
	width: 430px;
	height: 280px;
	object-fit: cover;
	object-position: center;
	display: block;
	margin-left: auto;
	margin-right: 0;
}
img.naga{
	width: 350px;
	height: 550px;
	object-fit: cover;
	object-position: center;
}


.flex3r {
 	display: flex;
	margin-top: 10vw; 
 	flex-direction: row;
 	align-items: center;
 	gap: 6vw;
}
.flex4r {
	display: flex;
	margin-top: 10vw; 
	max-width: 1490px;
 	align-items: center;
	gap: 1vw;
}

.text-block2 {
	width: 60%;
}
.image-block2 {
	width: 40%;
	display: flex;
	justify-content: center; /* ← 横方向に中央揃え */
	align-items: center;  
}

.image-block1 img,.image-block3 img{
	width: 100%;
	height: auto;
	object-fit: cover;
}
.flex5r {
 	display: flex;
	margin-top: 10vw; 
 	flex-direction: row;
 	align-items: center;
	gap: 6vw;
}
.text-block3 {
	width: 62%;
}
.image-block3 {
 	width: 38%;
}
.text-block3 h2,.text-block3 p {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
.text-block1 h3{
	margin-bottom:-2vw;;
	padding:0;
	font-size:1.3vw;
}
.text-block3 h3{
	margin-bottom:-1vw;;
	padding:0;
	font-size:1.3vw;
}
.pdf-link {
	display: block;              /* 画像を中央揃えしやすくするため */
	text-align: center;          /* 中央揃え */
	margin-top: 20px;
}
img.pdf {
	width:300px;
	height:auto;
}
#voice{
	width: 100%; 
	margin: 0 auto;
	padding:0;
	height: 1000px;
	background-color:#DCDCDC;
	margin-top: 100px;
}
.voice_text {
	text-align: center;
	padding-top: 20px;
}
.voice_text h2{
	text-align: center;
}
	
.voice_text p{
	text-align: center;
	margin-top:-50px;
	color:#155e71;
	font-family: "Noto Sans JP", sans-serif;
}
p.important-text {
	color: black !important;
	margin:80px 0;
}
.voice_main{
	display: flex;
	gap: 10px; /* 任意：ボックス間の余白 */
	flex-wrap: wrap;
	align-items: flex-start; /* 縦揃え調整 */
	justify-content: flex-start;
	width: 100%;             /* ← 幅をベースとして */
	margin: 0 auto;          /* ← センターに寄せる（任意） */
	box-sizing: border-box;  /* ← paddingの影響防止（重要） */
}
.voice_archive{
	flex: 0 0 calc((100% - 30px) / 3);  /* 3列＆gap(10px*2)対応 */
	height: 550px;
	position: relative;
	box-shadow: 0 0px 16px -1px rgb(0 0 0 / 10%);
	border-radius: 8px;	
	overflow: hidden;
	padding:120px 20px 20px 20px;
	background-color:#fff;

	min-width: 0;
}
.eyecatch::before{
	content: "";
	position: absolute;
	top: -190px;
	left: -180px;
	display: block;
 	height:250px;
	width:480px;
	background:#f5f5f6;
	z-index: 0;
	transition: all .2s ease-out;
	transform: rotate(135deg);
}
.eyecatch:hover::before {
	width: 520px; /* 少し横に広げる */
	height: 280px; /* 少し縦に広げる */
	top: -200px;   /* 少し上に引いて自然な伸びに */
	left: -170px;  /* 少し右へ寄せると自然 */
}
.eyecatch .maru {
	z-index: 10;
	left: 60%;
	bottom: 24px;
}
.maru{
	position: absolute;
	right: 40%;
	width: 100px;
	height: 100px;
	top: 24px;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.maru img{
	width:100%;
	height:100%;
	object-fit: cover;
	display: block;
}

.text_box {
	color:#333;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.05em;
}
.text_box h4{
	font-size:1.2rem;
	display: flex;
	justify-content: center; 
	align-items: center;     
	height: 60px;          
	text-align: center;   
	border: solid 3px #155e71;/*線色*/
  	padding: 0.5em;/*文字周りの余白*/
  	border-radius: 0.5em;/*角丸*/  
}
.text_box p{
	font-size:1.2rem;
	text-align: center;
	margin: 0 auto;
	width: 340px;
}

img[alt="pdfを見る"] {
	transition: transform 0.3s ease;
}

img[alt="pdfを見る"]:hover {
	transform: scale(1.1)!important;
}
/* 研修内容の詳細 ここまで */


/* お問い合わせフォームここから */
#contact{
	width:100%;
	min-height: calc(100vh - 87px);
	background-image:url(../images/header_contact.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
}
.page-contact #about .flex2r{
	display: grid;
	grid-template-columns: 120px 1fr;
	padding-left:5vw;
}
.page-contact #about .flex2r p{
	max-width:28vw;
}
.page-contact #form{
	margin-top:12vh;
}
.page-contact #form .inner{
	max-width: 1300px;
	margin: 0 auto;
	background-color:#f4f5f8;
	border-radius:1em;
	padding:1vh 3vw;
}
.page-contact #form .inner .form_table{
	display:grid;
	grid-template-columns:24% auto;
}
.page-contact #form .inner .form_table dt{
	border-top:1px solid #ccd3db;
	font-weight:600;
	padding:2em 0;
	margin:0;
}
.page-contact #form .inner .form_table dt:first-of-type,.page-contact #form .inner .form_table dd:first-of-type{
	border:0;
	padding-top:4em;
}
.page-contact #form .inner .form_table dt span,.page-contact p span{
	color:#ff0000;
}
.page-contact #form .inner .form_table dd{
	border-top:1px solid #ccd3db;
	padding:2em 0;
	margin:0;
}
.page-contact #form .inner .form_table dd .youken_cursor,.page-contact #form .inner .form_table input[type="radio"]{
	cursor:pointer;
}
input::placeholder{
	color:#ccd3db;
	opacity:1;
}
textarea::placeholder{
	color:#ccd3db;
	opacity:1;
}
.page-contact textarea,.page-contact .text-width,.page-contact input[name="yubin"]{
	border-radius:5px;
	border:2px solid #ccd3db;
	padding:0.5em 1em;
	font-size:1.1vw;
	color:#333;
	font-family: "Noto Sans JP", sans-serif;
}

.page-contact #form .inner .form_table textarea[name="msg"]{
	width:100%;
	height:15em;
}
.page-contact #form .inner .form_table textarea[name="jusyo"]{
	width:100%;
	height:8em;
	margin-top:1em;
}
.page-contact #form .inner .form_table .text-width{
	width:40%;
	height:60px;
}
.page-contact #form .inner .form_table input[name="yubin"]{
	width:20%;
	height:60px;
}
.page-contact #form .inner .form_sousin{
	text-align:center;
	padding-bottom:10vh;
}
.page-contact .contact_button{
	background-color:#278cef;
	border-radius:9999px;
	font-size:1.3vw;
	color:#fff;
	font-family: "Noto Sans JP", sans-serif;
	min-width:240px;
	padding:.7em 4em;
	margin:0 0.5em;
	border:2px solid #278cef;
	transition:background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
	cursor:pointer;
	text-decoration:none;

}
.page-contact .contact_backbutton{
	background-color:#888;
	border-radius:9999px;
	font-size:1.3vw;
	color:#fff;
	font-family: "Noto Sans JP", sans-serif;
	min-width:240px;
	padding:.7em 4em;
	margin:0 0.5em;
	border:2px solid #888;
	transition:background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
	cursor:pointer;
	text-decoration:none;
}
.page-contact .contact_button:hover,.page-contact .contact_backbutton:hover{
	background-color:black;
	border:2px solid black;
}
.page-contact main h2{
	text-align:center;
	margin-top:3em;
}
.page-contact main .contact_midasi{

}
.page-contact .complete_msg{
	display:flex;
	flex-direction:column;
	align-items: center;
	padding-bottom:5em;
}
.page-contact .complete_msg p{
	max-width: 30vw;
	margin:0;
	padding-bottom:2em;
	text-align:center;
}
/* お問い合わせフォームここまで */


/* プライバシーポリシーここから */
.page-privacy .inner{
	max-width: 1300px;
	margin: 0 auto;
	padding:1vh 3vw;
}
.page-privacy #about .flex2r{
	gap:4vw;
	display: grid;
	grid-template-columns: 120px 1fr;
	padding-left: 5vw;
}
.page-privacy .inner .privacy_text{
	margin:3em;
}
.page-privacy .inner .privacy_text h3 {
  position: relative;
  display: block;
  padding-bottom: 0.3em;
}

.page-privacy .inner .privacy_text h3::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 2px;
  background: #ccd3db;
}
.page-privacy .inner .privacy_text a{
	text-decoration:none;
}
/* プライバシーポリシーここまで */
