@charset "UTF-8";
@import url(../../css/reset.css);
@import url(../../css/common.css);
/* css/common.css */
.inner {
		max-width: 960px;
		width: 100%;
		margin: 0 auto;
}

@media (max-width: 780px) {
		.inner {
				max-width: 90vw;
				width: 100%;
				margin: 0 auto;
		}
}

#list01, #list02, #list03, #list04, #list05, #list06, #list07, #list08, #list09 {
		padding-top: 100px;
		margin-top: -100px;
}

@keyframes fadeOut {
		from {
				opacity: 0;
		}
		to {
				opacity: 1;
		}
}

#sub {
		box-sizing: border-box;
		top: 210px;
		left: calc(50vw + 272px);
		height: 100%;
		width: 208px;
		position: fixed;
		overflow: auto;
		padding: 0;
		z-index: 10;
}

#sub h2 {
		font-size: 18px;
		font-weight: 600;
		color: #fff;
		margin: 0 0 25px;
}

#sub .cp_actab {
		position: relative;
		overflow: hidden;
		width: 100%;
		margin: 20px auto 0;
		padding-bottom: 20px;
		border-bottom: 2px dotted #fff;
}

#sub .cp_actab input {
		position: absolute;
		z-index: -1;
		opacity: 0;
}

#sub .cp_actab label {
		font-weight: bold;
		position: relative;
		display: flex;
		align-items: center;
		padding: 10px 0;
		cursor: pointer;
		margin: 0;
		font-size: 14px;
		color: #fff;
}

#sub .cp_actab .cp_actab-content {
		overflow: hidden;
		max-height: 0;
}

#sub .cp_actab .cp_actab-content__inner {
		padding: 0;
		border-left: 1px solid #fff;
		margin: 15px 0;
}

#sub .cp_actab .cp_actab-content__inner ul {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 0 0 0 15px;
		width: 195px;
}

#sub .cp_actab .cp_actab-content__inner ul li {
		flex-basis: 100%;
		margin: 10px 0;
}

#sub .cp_actab .cp_actab-content__inner ul li a {
		display: flex;
		justify-content: flex-start;
		flex-wrap: nowrap;
}

#sub .cp_actab .cp_actab-content__inner ul li a span {
		font-size: 15px;
		font-weight: 400;
		line-height: 1;
		color: #fff;
		margin: 5px 10px 0 0;
		display: block;
}

#sub .cp_actab .cp_actab-content__inner ul li a p {
		font-size: 14px;
		line-height: 1.7;
		color: #fff;
		flex-basis: 175px;
}

#sub .cp_actab input:checked ~ .cp_actab-content {
		max-height: 20000px;
}

#sub .cp_actab label::after {
		line-height: 3;
		position: absolute;
		top: calc(50% - 5px);
		right: 0;
		display: block;
		width: 10px;
		height: 10px;
		/* -webkit-transition: all 0.35s;
      transition: all 0.35s; */
		text-align: center;
}

#sub .cp_actab input[type=checkbox] + label::after {
		content: '';
		background-image: url(../img/ac_open.svg);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
}

#sub .cp_actab input[type=checkbox]:checked + label::after {
		content: "";
		background-image: url(../img/ac_close.svg);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		position: absolute;
		top: calc(50% - 5px);
		right: 0;
		display: block;
		width: 10px;
		height: 10px;
}

.hidden {
		display: none;
		/* 要素を非表示にする */
		animation: fade .2s ease-in-out forwards;
		pointer-events: none;
		/* 重要 */
}

@keyframes fade {
		from {
				opacity: 1;
		}
		to {
				opacity: 0;
		}
}

.contents {
		width: 704px;
		margin-right: 256px;
}

.contents .head_img {
		width: 640px;
		margin: 0 0 30px;
}

.contents .head_img img {
		max-width: 640px;
}

.contents .bg_ttl {
		font-size: 66px;
		font-weight: 600;
		color: #fff;
		opacity: 0.1;
		position: relative;
		top: 13px;
		left: -50px;
		z-index: 1;
}

.contents h1 {
		font-size: 41px;
		color: #fff;
		margin: 0 0 10px;
}

.contents h2 {
		font-size: 32px;
		color: #fff;
		margin: 60px 0 10px;
}

.contents h6 {
		font-size: 15px;
		font-weight: 600;
		line-height: 1;
		color: #009FE8;
		margin-bottom: 40px;
}

.contents .ttl {
		background-image: url(../img/ttl_bg.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 364px;
		height: 53px;
}

.contents .ttl h3 {
		font-size: 23px;
		color: #1349A6;
		padding: 12px 0 0 22px;
}

.contents .ttl h3 span {
		font-size: 26px;
}

.contents .case_lt {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 634px;
		position: relative;
		z-index: 2;
		margin: 0;
}

.contents .case_lt .case_box {
		width: 304px !important;
		background-color: #fff;
		border-radius: 6px;
		height: 370px;
		margin-bottom: 5px;
}

.contents .case_lt .case_box .cardimg {
		overflow: hidden;
		border-radius: 6px 6px 0 0;
}

.contents .case_lt .case_box img {
		max-width: 100%;
		width: 304px !important;
		transition: 1s all;
}

@media (hover: hover) and (pointer: fine) {
		.contents .case_lt .case_box:hover img {
				transform: scale(1.1);
				transition: 1s all;
		}
}

.contents .case_lt .case_box a h6 {
		font-size: 18px;
		text-align: center;
		margin: 15px auto;
		line-height: 1.6;
		color: #141414;
}

.contents .case_lt .case_box a ul {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 15px 10px 25px;
}

.contents .case_lt .case_box a ul li {
		background-color: #E5F0F8;
		border-radius: 60px;
		padding: 10px 15px;
		font-size: 11px;
		line-height: 1;
		color: #1349A6;
		text-align: center;
		margin: 0 5px 5px 0;
}

.contents .case_lt .case_box a ul li:nth-child(2) {
		margin-right: 0;
}

.contents .case_lt .case_box a ul .txt {
		background: none;
		font-size: 11px;
		color: #2D2D2D;
		margin-right: 0;
		padding: 10px 0;
}

.contents .case_lt li:nth-child(even) {
		margin-top: 40px;
}

.c1 {
		width: 100%;
		height: auto;
		margin: 0 auto;
		background-color: rgba(19, 73, 166, 0.94);
		position: relative;
		z-index: 5;
		padding: 150px 0 0;
}

.c1 h1 {
		font-size: 28px;
		color: #fff;
		line-height: 1;
		margin: 0 0 30px;
}

.c1 .tag {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		width: 100%;
		margin: 0 0 60px;
}

.c1 .tag li {
		background-color: #E5F0F8;
		border-radius: 60px;
		padding: 10px 15px;
		font-size: 11px;
		line-height: 1;
		color: #1349A6;
		text-align: center;
		margin: 0 5px 5px 0;
}

.c1 .ttl {
		background-image: url(../img/ttl_bg.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 364px;
		height: 53px;
}

.c1 .ttl h3 {
		font-size: 23px;
		color: #1349A6;
		padding: 12px 0 0 22px;
}

.c1 .detail {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
		width: 100%;
		margin: 15px 0 0;
		padding-bottom: 80px;
}

.c1 .detail .sttl {
		flex-basis: 112px;
		background-color: #fff;
		border-radius: 60px;
		font-size: 16px;
		text-align: center;
		padding: 10px 0;
		color: #1349A6;
}

.c1 .detail .summary {
		flex-basis: 572px;
}

.c1 .detail .summary p {
		font-size: 21px;
		line-height: 1.8;
		color: #fff;
}

.c1 .detail .summary p span {
		font-size: 18px;
		color: #fff;
		display: block;
}

.c1 .detail .kei {
		flex-basis: 100%;
		border-bottom: 2px dotted #fff;
		padding-bottom: 15px;
		margin-bottom: 15px;
}

.c2 {
		width: 100%;
		height: auto;
		margin: 0 auto;
		background-color: rgba(14, 58, 145, 0.9);
		position: relative;
		z-index: 5;
		padding: 20px 0 0;
}

.c2 .inner .contents .ttl {
		margin: -42px 0 18px;
}

.c2 .inner .contents p {
		font-size: 15px;
		line-height: 2.2;
		color: #fff;
}

.c2 .inner .contents .conatct_btn {
		width: 418px;
		background-color: #009FE8;
		border-radius: 60px;
		height: 76px;
		margin: 60px 0 0 286px;
		position: relative;
}

.c2 .inner .contents .conatct_btn p {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		font-size: 20px;
		color: #fff;
}

.c2 .inner .contents .conatct_btn:after {
		content: "";
		background-image: url(../img/conatct_btn_arrow.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 18px;
		height: 18px;
		position: absolute;
		top: calc(50% - 9px);
		right: 30px;
		transition: all .5s ease-out;
}

@media (hover: hover) and (pointer: fine) {
		.c2 .inner .contents:hover .conatct_btn:after {
				content: "";
				background-image: url(../img/conatct_btn_arrow.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 18px;
				height: 18px;
				position: absolute;
				top: calc(50% - 9px);
				right: 20px;
				transition: all .5s ease-out;
		}
}

.c3 {
		width: 100%;
		height: auto;
		margin: 0 auto;
		background-color: rgba(19, 73, 166, 0.94);
		position: relative;
		z-index: 5;
		padding: 80px 0 80px;
}

.c3 .inner .contents .ttl {
		margin: 0 0 18px;
}

.s4 {
		background-color: rgba(19, 73, 166, 0.94) !important;
		padding: 0 !important;
}

@media (max-width: 780px) {
		.contents {
				width: 90vw;
				margin-right: 0;
		}
		.contents .head_img {
				width: 90vw;
				margin: 0 0 30px;
		}
		.contents .head_img img {
				max-width: 100%;
		}
		.contents .bg_ttl {
				font-size: 8.46154vw;
				font-weight: 600;
				color: #fff;
				opacity: 0.1;
				position: relative;
				top: 2vw;
				left: -5vw;
				z-index: 1;
		}
		.contents .case_lt {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				width: 90vw;
				margin-bottom: 0;
		}
		.contents .case_lt .case_box {
				width: 42.5vw !important;
				background-color: #fff;
				border-radius: 1.02564vw;
				min-height: 61.615vw;
				height: 100%;
				margin-bottom: 1.5vw;
		}
		.contents .case_lt .case_box .cardimg {
				overflow: hidden;
				border-radius: 1.02564vw 1.02564vw 0 0;
		}
		.contents .case_lt .case_box img {
				max-width: 100%;
				width: 42.5vw !important;
		}
		.contents .case_lt .case_box a h6 {
				font-size: 2.94872vw;
				text-align: center;
				margin: 2vw auto;
				line-height: 1.6;
				color: #141414;
		}
		.contents .case_lt .case_box a ul {
				display: flex;
				justify-content: flex-start;
				flex-wrap: wrap;
				margin: 2vw 2vw 3.5vw;
		}
		.contents .case_lt .case_box a ul li {
				background-color: #E5F0F8;
				border-radius: 60px;
				padding: 1.5vw 2vw;
				font-size: 1.66667vw;
				line-height: 1;
				color: #1349A6;
				text-align: center;
				margin: 0 1.5vw 1.5vw 0;
		}
		.contents .case_lt .case_box a ul li:nth-child(2) {
				margin-right: 0;
		}
		.contents .case_lt .case_box a ul .txt {
				background: none;
				font-size: 1.53846vw;
				color: #2D2D2D;
				margin-right: 0;
				padding: 1.5vw 0;
		}
		.contents .case_lt li:nth-child(even) {
				margin-top: 3vw;
		}
		.contents .case_lt:after {
				display: block;
				content: "";
				width: 42.5vw;
		}
		.contents h1 {
				font-size: 6.15385vw;
				color: #fff;
				margin: 0 0 2.5vw;
		}
		.contents h2 {
				font-size: 4.10256vw;
				color: #fff;
				margin: 5vw 0 1.5vw;
		}
		.contents h6 {
				font-size: 2.17949vw;
				font-weight: 600;
				line-height: 1;
				color: #009FE8;
				margin-bottom: 5vw;
		}
		.contents .ttl {
				background-image: url(../img/ttl_bg.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 65vw;
				height: 9.5vw;
		}
		.contents .ttl h3 {
				font-size: 3.84615vw;
				color: #1349A6;
				padding: 2.5vw 0 0 4vw;
		}
		.contents .ttl h3 span {
				font-size: 4.35897vw;
		}
		.contents h4 {
				font-size: 3.33333vw;
				background-color: #0A72C5;
				line-height: 1.6;
				padding: 3vw;
				color: #fff;
				margin: 0 0 4vw;
		}
		.contents p {
				font-size: 3.33333vw;
				line-height: 1.9;
				color: #fff;
		}
		.c1 {
				width: 100%;
				height: auto;
				margin: 0 auto;
				background-color: rgba(19, 73, 166, 0.94);
				position: relative;
				z-index: 5;
				padding: 26vw 0 0;
		}
		.c1 h1 {
				font-size: 4.61538vw;
				color: #fff;
				line-height: 1;
				margin: 0 0 30px;
		}
		.c1 .tag {
				display: flex;
				justify-content: flex-start;
				flex-wrap: wrap;
				width: 100%;
				margin: 2vw 2vw 3.5vw;
		}
		.c1 .tag li {
				background-color: #E5F0F8;
				border-radius: 60px;
				padding: 1.5vw 2vw;
				font-size: 2.17949vw;
				line-height: 1;
				color: #1349A6;
				text-align: center;
				margin: 0 1.5vw 1.5vw 0;
		}
		.c1 .ttl {
				background-image: url(../img/ttl_bg.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 65vw;
				height: 9.5vw;
		}
		.c1 .ttl h3 {
				font-size: 3.84615vw;
				color: #1349A6;
				padding: 2.5vw 0 0 4vw;
		}
		.c1 .detail {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				flex-wrap: wrap;
				width: 100%;
				margin: 3vw 0 0;
				padding-bottom: 10vw;
		}
		.c1 .detail .sttl {
				flex-basis: 20vw;
				background-color: #fff;
				border-radius: 7.69231vw;
				font-size: 3.07692vw;
				text-align: center;
				padding: 1.5vw 0;
				color: #1349A6;
				margin-bottom: 2vw;
		}
		.c1 .detail .summary {
				flex-basis: 100%;
		}
		.c1 .detail .summary p {
				font-size: 3.33333vw;
				line-height: 1.8;
				color: #fff;
		}
		.c1 .detail .summary p span {
				font-size: 2.94872vw;
				color: #fff;
				display: block;
		}
		.c1 .detail .kei {
				flex-basis: 100%;
				border-bottom: 2px dotted #fff;
				padding-bottom: 3.5vw;
				margin-bottom: 3.5vw;
		}
		.c2 {
				width: 100%;
				height: auto;
				margin: 0 auto;
				background-color: rgba(14, 58, 145, 0.9);
				position: relative;
				z-index: 5;
				padding: 3vw 0 5vw;
		}
		.c2 .inner .contents .ttl {
				margin: -9.5vw 0 3vw;
		}
		.c2 .inner .contents p {
				font-size: 3.07692vw;
				line-height: 2.2;
				color: #fff;
		}
		.c2 .inner .contents .conatct_btn {
				width: 70vw;
				background-color: #009FE8;
				border-radius: 7.69231vw;
				height: 12vw;
				margin: 10vw auto;
				position: relative;
		}
		.c2 .inner .contents .conatct_btn p {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
				font-size: 3.33333vw;
				color: #fff;
		}
		.c2 .inner .contents .conatct_btn:after {
				content: "";
				background-image: url(../img/conatct_btn_arrow.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 3vw;
				height: 3vw;
				position: absolute;
				top: calc(50% - 1.5vw);
				right: 5vw;
				transition: all .5s ease-out;
		}
		.c3 {
				width: 100%;
				height: auto;
				margin: 0 auto;
				background-color: rgba(19, 73, 166, 0.94);
				position: relative;
				z-index: 5;
				padding: 10vw 0 10vw;
		}
		.c3 .inner .contents .ttl {
				margin: 0 0 18px;
		}
		.s4 {
				background-color: rgba(19, 73, 166, 0.94) !important;
		}
}
