/*================================================
 *  グローバルナビゲーション
 ================================================*/
@media print, screen and (min-width:768px) {

#spMenu {
	display: none;
}

nav {
	position: sticky;
	top: 0;
	background: #0a6bb9;
	border-bottom: 5px solid #283c99;
	box-shadow: 0 1px 3px #999;
	z-index: 1000;
	text-align: center;
}

nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* メニュー全体のデザイン */
/**
 * menu
 */
.gnav {
	display: flex;
	flex-wrap: nowrap;
	position: relative;
	width: 100%;
	height: 58px;
	max-width: 1000px;
	margin: 0 auto;
}

.gnav > li {
	flex: 1 0 auto;
	width: auto;
	height: 58px;
	line-height: 58px;
	background: #0a6bb9;
}

.gnav > li > a {
	padding: 0 8px;
	font-size: clamp(13px, 1.5vw, 15px);
	white-space: nowrap;
}

.gnav > li a {
	display: block;
	color: #fff;
}

.gnav > li a:hover {
	color: #fff;
	text-decoration: underline;
}

.menu__none:hover,
.menu__mega:hover:hover {
	background: #283c99;
	-webkit-transition: .2s ease;
	transition: .2s ease;
}

.menu__second-level li {
	border-top: 1px solid #111;
}

.menu__second-level li a:hover {
	background: #283c99;
}

.init-bottom:after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 0 0 8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/**
 * mega menu
 */
.menu__mega .menu__second-level {
	position: absolute;
	top: 40px;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	padding: 20px 2%;
	background: #283c99;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	visibility: hidden;
	opacity: 0;
	z-index: 999;
}

.menu__mega:hover .menu__second-level {
	top: 60px;
	visibility: visible;
	opacity: 1;
}

.menu__mega .menu__second-level > li {
	float: left;
	width: 32%;
	border: none;
}

.menu__mega .menu__second-level > li:nth-child(3n+2) {
	margin: 0 1%;
}

#spMenu {
	display: none;
}

.showNav {
	background: #7c0c0c !important;
}

.showSub {
	overflow: visible;
	min-height: 42px;
	border-bottom: 2px solid #eee;
}

.showSub:last-child {
	border-bottom: 0;
}

.showSub:last-child a {
	border-radius: 0 0 3px 3px;
}

.fixed {
	position: fixed;
	top: 0;
	left: 0;
}

nav.fixed {
	position: sticky;
	top: 0;
	left: auto;
	width: 100%;
}

.anchor {
	padding-top: 64px;
	margin-top: -64px;
}
}

:root{
--radius:14px;
}

*{
	box-sizing:border-box
}

html{
	scroll-behavior:smooth;
	scroll-padding-top:88px
}

body{
	margin:0;
	color:#333333;
	font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
	font-size:16px;
	line-height:1.9;
	background:#fff
}

a{
	color:inherit;
	text-decoration:none
}

img{
	max-width:100%;
	display:block
}

.wrap{
	width:min(1120px,calc(100% - 40px));
	margin-inline:auto
}

.skip{
	position:fixed;
	z-index:1000;
	left:16px;
	top:-80px;
	padding:10px 16px;
	background:#fff;
	color:#0a6bb9;
	box-shadow:0 14px 40px rgba(22,62,101,.10);
}

.skip:focus{
	top:16px;
}

.site-header{
	background:#fff;
}

.header-inner{
	height:128px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px
}

.logo{
	width:214px;
	height:auto
}

.company-lockup{
	color:#1f2d39
}

.company-name{
	font-size:18px;
	font-weight:700;
	letter-spacing:.03em;
}

.company-tags{
	font-size:13px;
	word-spacing:.8em;
	color:#43505b;
}

.breadcrumb{
	border-bottom:1px solid #dce7ef;
	background:#fbfdff;
}

.breadcrumb .wrap{
	padding:13px 0;
	font-size:13px;
	color:#333333;
}

.breadcrumb a{
	color:#0a6bb9;
}

.hero{
	position:relative;
	overflow:hidden;
	color:#fff;
	background:linear-gradient(125deg,#073e7a 0%,#0a6bb9 53%,#17a9d0 100%)
}

.hero:before,.hero:after{
	content:"";
	position:absolute;
	border:1px solid rgba(255,255,255,.16);
	border-radius:50%;
}

.hero:before{
	width:520px;
	height:520px;
	right:-180px;
	top:-260px
}

.hero:after{
	width:280px;
	height:280px;
	right:110px;
	bottom:-190px
}

.hero-grid{
	position:relative;
	z-index:1;
	min-height:480px;
	display:grid;
	grid-template-columns:1.35fr .65fr;
	align-items:center;
	gap:55px;
	padding:70px 0;
}

.eyebrow{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin:0 0 14px;
	font-size:14px;
	font-weight:600;
	letter-spacing:.08em;
}

.eyebrow:before{
	content:"";
	width:30px;
	height:2px;
	background:#8de0f2
}

.hero h1{
	margin:0 0 22px;
	font-size:clamp(34px,4.2vw,58px);
	line-height:1.25;
	letter-spacing:.02em
}

.hero .lead{
	margin:0 0 12px;
	font-size:clamp(18px,2.1vw,24px);
	line-height:1.7;
	font-weight:700
}

.hero .sublead{
	margin:0;
	max-width:760px;
	color:#e6f5fc;
	font-size:15px;
}

.hero-actions{
	display:flex;
	gap:14px;
	flex-wrap:wrap;
	margin-top:30px
}

.cta-mobile-break{
	display:none;
}

.btn{
	display:inline-flex;
	min-height:54px;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:13px 26px;
	border-radius:999px;
	font-size:16px;
	font-weight:700;
	line-height:1.4;
	transition:.2s;
}

.btn-primary{
	background:#fff;
	color:#123d79;
	box-shadow:0 8px 20px rgba(0,0,0,.15)
}

.btn-primary:hover{
	transform:translateY(-2px);
	box-shadow:0 12px 24px rgba(0,0,0,.2)
}

.btn-outline{
	border:1px solid rgba(255,255,255,.65);
	color:#fff
}

.btn-outline:hover{
	background:rgba(255,255,255,.12)
}

.hero-visual{
	display:grid;
	place-items:center
}

.shield{
	width:min(290px,100%);
	filter:drop-shadow(0 16px 24px rgba(0,0,0,.18));
}

.intro{
	padding:76px 0;
}

.section-kicker{
	margin:0 0 8px;
	color:#0a6bb9;
	font-size:13px;
	font-weight:800;
	letter-spacing:.13em;
	text-transform:uppercase;
}

.section-title{
	position:relative;
	margin:0 0 30px;
	padding-bottom:18px;
	color:#25364a;
	font-size:clamp(25px,3vw,36px);
	line-height:1.45;
}

.section-title:after{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:70px;
	height:4px;
	background:linear-gradient(90deg,#0a6bb9,#16a6d5);
	border-radius:2px;
}

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

.intro-copy p{
	margin-top:0
}

.quote-panel{
	margin:0 0 20px 0;
	padding:26px 30px;
	border-left:4px solid #0a6bb9;
	background:#f5f9fc;
	color:#25364a;
	font-weight:600;
}

.recommend{padding:30px;
	border:1px solid #dce7ef;
	border-radius:14px;
	box-shadow:0 14px 40px rgba(22,62,101,.10);
}

.recommend h3{
	margin:0 0 18px;
	color:#25364a;
	font-size:20px;
}

.recommend-column{
	min-width:0;
}

.recommend-note{
	margin:12px 4px 0;
	color:#333333;
	font-size:16px;
	line-height:1.7;
}

.check-list{
	display:grid;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}

.check-list li{
	position:relative;
	padding-left:30px;
}

.check-list li:before{
	content:"\2713";
	position:absolute;
	left:0;
	top:2px;
	display:grid;
	place-items:center;
	width:21px;
	height:21px;
	border-radius:50%;
	background:#dff4fb;
	color:#0a6bb9;
	font-size:13px;
	font-weight:800
}

.band{
	background:#f5f9fc;
	padding:78px 0;
}

.features{
	display:grid;
	grid-template-columns:1fr;
	gap:14px;
}

.feature{
	position:relative;
	display:grid;
	grid-template-columns:68px minmax(0,1fr);
	column-gap:24px;
	align-items:start;
	padding:24px 30px 24px 24px;
	overflow:hidden;
	border:1px solid #dce8f2;
	border-left:4px solid #0a6bb9;
	border-radius:12px;
	background:linear-gradient(110deg,#fff 0%,#fff 72%,#f4faff 100%);
	box-shadow:0 7px 22px rgba(22,62,101,.06);
}

.feature-num{
	grid-row:1 / span 10;
	display:grid;
	place-items:center;
	width:58px;
	height:58px;
	border:1px solid #cde4f1;
	border-radius:50%;
	background:#eef8fd;
	color:#0a6bb9;
	font-size:20px;
	font-weight:800;
	line-height:1;
}

.feature h3{
	grid-column:2;
	margin:1px 0 7px;
	color:#25364a;
	font-size:19px;
	line-height:1.55
}

.feature p{
	grid-column:2;
	margin:0;
	font-size:15px;
	line-height:1.8;
}

.feature p + p{
	margin-top:7px;
}

.feature br{
	display:none;
}

.content-layout{
	display:grid;
	grid-template-columns:minmax(0,1fr) 250px;
	gap:62px;
	padding:80px 0;
}

.content-main{
	min-width:0;
}

.content-main section{
	margin-bottom:76px;
}

.content-main h2{
	position:relative;
	margin:0 0 28px;
	padding:0 0 15px 20px;
	border-bottom:1px solid #dce7ef;
	color:#25364a;
	font-size:28px;
	line-height:1.45;
}

.content-main h2:before{
	content:"";
	position:absolute;
	left:0;
	top:.18em;
	width:6px;
	height:1.15em;
	background:var#0a6bb9;
	border-radius:3px;
}

.content-main h3{
	margin:32px 0 14px;
	color:#123d79;
	font-size:20px;
}

.content-main p{
	margin:0 0 18px;
}

.plain-list{
	padding-left:1.5em;
}

.plain-list li{
	margin:.5em 0;
}

.contact-form{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px 20px;
	margin-top:26px;
	padding:28px;
	border:1px solid #dce7ef;
	border-radius:12px;
	background:#f8fbfd;
}

.contact-form label{
	display:grid;
	gap:8px;
}

.contact-form label span{
	color:#123d79;
	font-size:16px;
	font-weight:700;
}

.contact-form input,
.contact-form textarea{
	width:100%;
	padding:11px 14px;
	border:1px solid #cddae5;
	border-radius:7px;
	background:#fff;
	color:#25364a;
	font:inherit;
	transition:border-color .2s,box-shadow .2s;
}

.contact-form input{
	min-height:50px;
}

.contact-form textarea{
	min-height:180px;
	resize:vertical;
	line-height:1.7;
}

.contact-form input:focus,
.contact-form textarea:focus{
	outline:0;
	border-color:#0a6bb9;
	box-shadow:0 0 0 3px rgba(28,116,181,.13);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
	color:#8a98a5;
}

.contact-form-wide,
.contact-form-actions{
	grid-column:1 / -1;
}

.contact-form-actions{
	margin-top:4px;
}

.contact-submit{
	border:0;
	background:#0a6bb9;
	color:#fff;
	cursor:pointer;
}

.contact-submit:hover{
	background:#123d79;
	transform:translateY(-1px);
}

.mini-cards{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:16px;
}

.mini-card{padding:24px;
	border:1px solid #dce7ef;
	border-radius:10px;
	background:#fff;
}

.mini-card h3{
	margin:0 0 8px;
	font-size:18px;
}

.mini-card p{
	margin:0;
	font-size:14px;
}

.scope-examples{
	position:relative;
	margin-bottom:18px;
	padding:30px 32px;
	overflow:hidden;
	border:1px solid #dce8f2;
	border-radius:14px;
	background:linear-gradient(135deg,#fff 0%,#f5faff 100%);
	box-shadow:0 10px 30px rgba(23,72,112,.08);
}

.scope-examples::after{
	content:"";
	position:absolute;
	right:-45px;
	bottom:-65px;
	width:180px;
	height:180px;
	border-radius:50%;
	background:rgba(28,116,181,.06);
	pointer-events:none;
}

.scope-examples ul{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:1fr;
	margin:0;
	padding:0;
	list-style:none;
}

.scope-examples li{
	position:relative;
	padding:14px 0 14px 38px;
	border-bottom:1px solid rgba(28,116,181,.12);
	font-weight:600;
	line-height:1.65;
}

.scope-examples li::before{
	content:"\2713";
	position:absolute;
	left:0;
	top:14px;
	display:grid;
	place-items:center;
	width:24px;
	height:24px;
	border-radius:50%;
	background:#0a6bb9;
	color:#fff;
	font-size:13px;
	font-weight:700;
	line-height:1;
	box-shadow:0 4px 10px rgba(28,116,181,.22);
}

.scope-examples li:last-child{
	border-bottom:0;
}

.scope-examples li span{
	display:block;
	margin-top:2px;
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
}

.side-nav{
	align-self:start;
	position:sticky;
	top:88px;
	padding:20px;
	border:1px solid #dce7ef;
	border-radius:12px;
	background:#fff;
}

.side-nav strong{
	display:block;
	margin-bottom:12px;
	color:#25364a;
}

.side-nav ul{
	margin:0;
	padding:0;
	list-style:none
}

.side-nav a{
	display:block;
	padding:8px 6px;
	border-bottom:1px solid #edf2f6;
	color:#617183;
	font-size:15px;
}

.side-nav a:hover{
	color:#0a6bb9;
	padding-left:10px;
}

.flow{
	position:relative;
	display:grid;
	gap:14px;
	counter-reset:step;
}

.flow:before{
	content:"";
	position:absolute;
	left:25px;
	top:30px;
	bottom:30px;
	width:2px;
	background:#cce3ef;
}

.flow-item{
	position:relative;
	display:grid;
	grid-template-columns:52px 1fr;
	gap:20px;
	counter-increment:step;
}

.flow-item:before{
	content:counter(step);
	z-index:1;
	display:grid;
	place-items:center;
	width:52px;
	height:52px;
	border-radius:50%;
	background:#0a6bb9;
	color:#fff;
	font-weight:800;
}

.flow-copy{
	padding:2px 0 24px;
}

.flow-copy strong{
	display:block;
	margin-bottom:4px;
	color:#25364a;
	font-size:18px;
}

.flow-copy p{
	margin:0;
}

.timeline-note{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	margin:26px 0 20px 0;
	overflow:hidden;
	border:1px solid #dce7ef;
	border-radius:10px;
	background:#dce7ef;
}

.timeline-note div{
	padding:22px;
	background:#fff;
	text-align:center;
}

.timeline-note span{
	display:block;
	color:#333333;
	font-size:16px;
}

.timeline-note strong{
	color:#123d79;
	font-size:18px;
}

.diagnosis-table{
	width:100%;
	border-collapse:collapse;
	border:1px solid #dce7ef;
	font-size:16px;
}

.diagnosis-table th{
	padding:15px 18px;
	background:#0a6bb9;
	color:#fff;
	text-align:left;
}

.diagnosis-table td{
	padding:14px 18px;
	border-bottom:1px solid #dce7ef;
}

.diagnosis-table tr:nth-child(even) td{
	background:#f8fbfd;
}

.diagnosis-table td:first-child{
	width:76px;
	color:#0a6bb9;
	font-weight:800;
	text-align:center;
}

.deliverables{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:10px;
	margin:24px 0;
	padding:0;
	list-style:none;
}

.deliverables li{
	padding:13px 16px 13px 42px;
	position:relative;
	display:flex;
	align-items:center;
	background:#f5f9fc;
	border-radius:7px;
}

.deliverables li:before{
	content:"●";
	position:absolute;
	left:18px;
	top:50%;
	transform:translateY(-50%);
	color:#16a6d5;
	font-size:10px;
}

.attention{padding:24px 28px;
	border:1px solid #f2cf8b;
	border-left:5px solid #f39a1e;
	background:#fffaf0;
	border-radius:8px;
}

.attention p:last-child{
	margin-bottom:0;
}

.cta{
	position:relative;
	overflow:hidden;
	padding:70px 0;
	background:linear-gradient(120deg,#073e7a,#0a6bb9 65%,#0d8fc4);
	color:#fff;
}

.cta:after{
	content:"";
	position:absolute;
	width:360px;
	height:360px;
	right:-100px;
	top:-170px;
	border:70px solid rgba(255,255,255,.06);
	border-radius:50%;
}

.cta-inner{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
}

.cta h2{
	margin:0 0 12px;
	font-size:30px;
}

.cta p{
	margin:0;
	color:#dcedf8;
}

.cta .btn{
	flex:0 0 auto;
	min-width:260px;
}

.contact-strip{
	padding:58px 0;
	background:#fff;
}

.contact-grid{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:34px;
	align-items:center;
}

.contact-strip h2{
	margin:0 0 10px;
	color:#25364a;
	font-size:26px;
}

.contact-strip p{
	margin:0;
}

.contact-box{
	padding:24px;
	border-radius:12px;
	background:var#f5f9fc
}

.contact-box strong{
	display:block;
	color:#25364a;
	font-size:18px;
}

.contact-box a{
	color:#0a6bb9;
	font-size:22px;
	font-weight:800;
}

/*================================================
 *  フッター
 ================================================*/
footer {
	background: #efede9;
	width: 100%;
	height: auto;
	clear: both;
}

.footmenu {
	width: 980px;
	margin: 0 auto;
	padding: 20px 0;
	overflow: hidden;
}

.footmenu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	margin: 0 auto;
	padding: 5px 0;
}

.footmenu li {
	position: relative;
	list-style: none;
	margin: 0 auto;
	font-size: 12px;
	text-align: center;
}

.footmenu .follow-us {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.follow-us a,
.follow-us img {
	display: block;
	flex: 0 0 auto;
}

.footmenu a {
	color:#333;
	text-decoration:underline;
}

.footmenu a:hover {
	color: #333;
	text-decoration: none;
}

.copyright {
	clear: both;
	padding: 20px 0;
	font-size: 11px;
	text-align: center;
	color: #efede9;
	background: #0052a8;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position: fixed;
	bottom: 15px;
	right: 15px;
}

.totop a {
	display: block;
	text-decoration: none;
}

.totop img {
	background: #283c99;
}

.totop img:hover {
	background: #0a6bb9;
}

@media(max-width:979px){
.header-inner{
	height:96px;
}

.company-lockup{
	display:none;
}

.global-nav{
	position:relative;
}

.nav-inner{
	height:auto;
	min-height:56px;
	justify-content:flex-end;
}

.nav-toggle{
	display:block;
}

.nav-links{
	display:none;
	position:absolute;
	top:56px;
	left:0;
	right:0;
	height:auto;
	flex-direction:column;
	background:#0870b9;
}

.nav-links.open{
	display:flex;
}

.nav-links a{
	padding:14px 24px;
}

.hero-grid{
	grid-template-columns:1fr;
	min-height:auto;
}

.hero-visual{
	display:none;
}

.features{
	grid-template-columns:1fr;
}

.content-layout{
	grid-template-columns:1fr;
}

.side-nav{
	display:none;
}

.contact-grid{
	display:grid;
	grid-template-columns:1fr;
}

.footer-top{
	gap:30px;
}

.intro-grid{
	grid-template-columns:1fr;
}

.timeline-note{
	grid-template-columns:1fr;
}
}

@media(max-width:767px){
body{
	font-size:16px;
	margin-top:0 !important;
}

nav {
	background: #283c99;
}

nav.fixed {
	position: static;
	top: auto;
	left: auto;
}

nav ul {
	margin: 0;
	padding: 0;
}

nav .inner > ul {
	z-index: 2;
	overflow: auto;
	position: fixed;
	top: 53px;
	right: 0;
	width: 100%;
	height: 88%;
	height: -webkit-calc(100% - 53px);
	height: calc(100% - 53px);
}

nav li {
	position: relative;
	width: 100%;
	float: none;
	margin: 0;
	text-align: left;
	list-style: none;
	border-bottom: 1px solid #eee;
	background: #9b0f0f;
}

nav li:first-child {
	border-top: 0;
}

nav li:last-child {
	border-bottom: 0;
}

nav li a {
	display: block;
	padding: 10px 30px;
	color: #fff;
	text-decoration: none;
	background: #0a6bb9;
}

nav li a:hover {
	color: #fff;
	text-decoration: underline;
	background: #283c99;
}

nav ul ul {
	display: none;
	position: relative;
}

nav li li a {
	box-sizing: border-box;
	width: 100%;
	padding: 10px 30px 10px 50px;
	text-align: left;
}

.subnav > a:before {
	display: block;
	content: "";
	position: absolute;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 20px;
	right: 30px;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	background: #f1f1f1;
}

.subnav > a:after {
	display: block;
	content: "";
	position: absolute;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 20px;
	right: 30px;
	width: 10px;
	height: 10px;
	margin-top: -10px;
	background: #0a6bb9;
}

.subnav a:hover:after {
	background: #283c99;
}

.active > a:before {
	margin-top: 0;
}

.active > a:after {
	margin-top: 5px;
}

.gnav {
	display: none;
}

ul .menu__second-level {
	display: block;
}

#spMenu {
	display: block;
	z-index: 2;
	position: fixed;
	top: 10px;
	right: 10px;
}

#spMenu:hover {
	cursor: pointer;
}

#navBtn {
	display: inline-block;
	position: relative;
	width: 40px;
	height: 40px;
	border-radius: 5%;
	background: #283c99;
}

#navBtnIcon {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 2px;
	margin: -1px 0 0 -10px;
	background: #f1f1f1;
	transition: .2s;
}

#navBtnIcon:before,
#navBtnIcon:after {
	display:block;
	content:'';
	position:absolute;
	top:50%;
	left:0;
	width:20px;
	height:2px;
	background:#f1f1f1;
	transition:0.3s;
}

#navBtnIcon:before {
	margin-top:-6px;
}

#navBtnIcon:after {
	margin-top:4px;
}

#navBtn .close {
	background:transparent;
}

#navBtn .close:before,
#navBtn .close:after {
	margin-top:0;
}

#navBtn .close:before {
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
}

#navBtn .close:after {
	transform:rotate(-135deg);
	-webkit-transform:rotate(-135deg);
}

.wrap{
	width:min(100% - 28px,1120px);
}

.header-inner{
	height:82px;
}

.logo{
	width:175px;
}

.hero-grid{
	padding:52px 0;
}

.hero h1{
	font-size:35px;
}

.hero-actions{
	display:grid;
}

.hero-actions .btn{
	min-width:0;
	gap:8px;
	padding:10px 12px;
	font-size:16px;
	white-space:normal;
}

.cta-mobile-break{
	display:block;
}

.btn{
	width:100%;
}

.intro,.band{
	padding:58px 0;
}

.features,.mini-cards,.deliverables{
	grid-template-columns:1fr;
}

.feature{
	grid-template-columns:48px minmax(0,1fr);
	column-gap:16px;
	padding:21px 20px 21px 18px;
}

.feature-num{
	width:42px;
	height:42px;
	font-size:15px;
}

.feature h3{
	font-size:17px;
}

.deliverables{
	font-size:16px;
}

.contact-form{
	grid-template-columns:1fr;
	padding:22px;
}

.contact-form-wide,
.contact-form-actions{
	grid-column:auto;
}

.scope-examples{
	padding:20px 22px;
}


.content-layout{
	padding:58px 0;
}

.content-main section{
	margin-bottom:58px;
}

.content-main h2{
	font-size:24px;
}

.timeline-note div{
	text-align:left;
}

.diagnosis-scroll{
	overflow-x:visible;
}

.diagnosis-table{
	width:100%;
	min-width:0;
	table-layout:fixed;
	font-size:16px;
}

.diagnosis-table th,
.diagnosis-table td{
	font-size:16px;
	padding:8px 6px;
	word-break:break-word;
	overflow-wrap:anywhere;
}

.diagnosis-table th:first-child,
.diagnosis-table td:first-child{
	width:80px;
	min-width:80px;
	white-space:nowrap !important;
	word-break:keep-all !important;
	overflow-wrap:normal !important;
	writing-mode:horizontal-tb !important;
	text-orientation:mixed;
	text-align:center;
}

.contact-grid{
	gap:20px;
}

.contact-box a{
	font-size:19px;
}

/*================================================
 *  フッター
 ================================================*/
footer {
	background: #efede9;
	width: 100%;
	height: auto;
	clear: both;
}

.footmenu {
	width: 96%;
	margin: 0 auto;
	padding: 20px 0;
	overflow: hidden;
}

.footmenu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	margin: 0 auto;
	padding: 5px 0;
}

.footmenu li {
	position: relative;
	list-style: none;
	margin: 0 auto 10px auto;
	font-size: 12px;
	text-align: center;
}
}
