@charset "UTF-8";


/* =================== */
/*       pubulic       */
/* =================== */
main { margin-top:5rem; }

body::before {
	content:"";
	width:100%;
	height:19rem;
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
	background:#004384;
}
h1.lower-page-ttl {
	background:#004384;
	color:#fff;
	text-align:center;
	padding:4.5rem 0;
}
h1.lower-page-ttl .en {
	font-size:2.5rem;
	display:block;
	font-weight:bold;
}
h1.lower-page-ttl .jp {
	font-size:1.75rem;
	letter-spacing:.05em;
	display:block;
	margin-top:1rem;
	font-weight:bold;
}

.breadcrumbs-box {
	margin:1rem auto 4rem;
	font-size:.75rem;
	color:#004384;
}
.breadcrumbs-box a:hover { text-decoration:underline; }

ul.dflt-child-list {
	flex-wrap:wrap;
	justify-content:flex-start;
}
ul.dflt-child-list li {
	width:calc((100% - 6rem) / 3);
	margin-right:3rem;
	border:.25rem solid #004384;
	border-radius:1.25rem;
	padding:1.7rem 0 1rem;
	margin-bottom:3rem;
}
ul.dflt-child-list li:nth-child(3n) { margin-right:0; }
ul.dflt-child-list li .name {
	font-size:1.25rem;
	text-align:center;
	color:#004384;
	font-weight:bold;
	margin-bottom:1.2rem;
}
ul.dflt-child-list li .btn a {
	background:#004384;
	color:#fff;
	font-size:.875rem;
	text-align:center;
	width:calc(100% - 4rem);
	line-height:2.5rem;
	border-radius:100vmax;
	display:block;
	margin:1rem auto 0;
}
ul.dflt-child-list li .btn a span { font-weight:bold; }
ul.dflt-child-list li .btn a i { margin-right:.5em; }
ul.dflt-child-list li .btn a:hover { opacity:.5; }



@media screen and (max-width: 750px) {
	h1.lower-page-ttl .en { font-size:30px; }
	h1.lower-page-ttl .jp { font-size:20px; }
	.breadcrumbs-box { font-size:14px; margin-top:15px; line-height:1.3; }
	ul.dflt-child-list { width:85%; margin:0 auto; }
	ul.dflt-child-list li { width:100%; margin-right:0; padding:20px 0; }
	ul.dflt-child-list li .name { font-size:18px; margin-bottom:20px; }
	ul.dflt-child-list li .btn a { font-size:15px; line-height:40px; margin-top:20px; }
}








/* =================== */
/*       body.company_profile       */
/* =================== */
body.company_profile .profile-box {
	align-items:flex-start;
	margin-bottom:6rem;
}
body.company_profile .profile-box .pic-box {
	order:1;
	width:26.25rem;
}
body.company_profile .profile-box .pic-box .pic {
	border-radius:1.25rem;
	margin-bottom:1.5rem;
	display:block;
}
body.company_profile .profile-box dl {
	order:2;
	width:calc(100% - 26.25rem - 2.5rem);
}
body.company_profile .profile-box dl .line {
	display:flex;
	border-bottom:1.5px solid #ccc;
	padding:.8rem 0;
	font-size:.825rem;
	letter-spacing:.05em;
	line-height:1.8;
}
body.company_profile .profile-box dl .line dt {
	font-weight:bold;
	width:8em;
}
body.company_profile .profile-box dl .line dd { width:calc(100% - 8em); }
body.company_profile .profile-box dl .line dd iframe {
	width:100%;
	margin:1rem 0 1.5rem;
}

@media screen and (max-width: 750px) {
	body.company_profile .profile-box { display:block; }
	body.company_profile .profile-box dl { width:100%; }
	body.company_profile .profile-box .pic-box { width:100%; margin-top:30px; }
	body.company_profile .profile-box dl .line { font-size:15px; display:block; padding:15px 0; }
	body.company_profile .profile-box dl .line dt { width:100%; }
	body.company_profile .profile-box dl .line dd { width:100%; }
}








/* =================== */
/*       body.members       */
/* =================== */
body.members .main-cont-wrap article {
	margin-bottom:5rem;
	border-bottom:1px solid #ccc;
	padding-bottom:5rem;
}
body.members .main-cont-wrap h2.name .en {
	font-size:3.25rem;
	font-weight:bold;
	color:#004384;
	display:block;
}
body.members .main-cont-wrap h2.name .jp {
	font-size:1.05rem;
	font-weight:bold;
	color:#004384;
	display:block;
	margin:1rem 0 1.5rem;
}
body.members .main-cont-wrap .copy {
	font-size:2rem;
	color:#99bbd0;
	line-height:1.25;
	font-weight:bold;
	margin-bottom:2.5rem;
}
body.members .main-cont-wrap .art-cont-box {
	align-items:flex-start;
	height:13rem;
	overflow:hidden;
	transition:1.5s;
}
body.members .main-cont-wrap .art-cont-box .pic {
	width:26.25rem;
	border-radius:1.25rem;
	aspect-ratio:10.5 / 15.74;
	overflow:hidden;
}
body.members .main-cont-wrap .art-cont-box .txt-box {
	width:calc(100% - 26.25rem - 2.5rem);
	font-size:.8rem;
	line-height:2.65;
	height:100%;
}
body.members .main-cont-wrap .more-box {
	position:relative;
	height:5rem;
	margin-top:-1rem;
}
body.members .main-cont-wrap .more-box::before {
	content:"";
	width:110%;
	height:8rem;
	background:#fff;
	filter:blur(25px);
    transition:1.5s;
    position:absolute;
    top:-3.5rem;
    left:-5%;
}
body.members .main-cont-wrap .more-box .btn {
	font-size:.875rem;
	color:#fff;
	text-align:center;
	display:block;
	background:#004384;
	line-height:2.5rem;
	border-radius:100vmax;
	width:20rem;
	margin-left:33rem;
	position:relative;
	cursor:pointer;
}
body.members .main-cont-wrap .more-box .btn span { font-weight:bold; }
body.members .main-cont-wrap .more-box .btn i { margin-right:.5rem; }
body.members .main-cont-wrap .more-box .btn:hover { opacity:.5; }
body.members .main-cont-wrap article.open .art-cont-box { height:100%; }
body.members .main-cont-wrap article.open .more-box { display:none; }

@media screen and (max-width: 750px) {
	body.members .main-cont-wrap h2.name .en { font-size:35px; }
	body.members .main-cont-wrap h2.name .jp { font-size:15px; margin:15px 0 20px; }
	body.members .main-cont-wrap .art-cont-box { display:block; height:350px; }
	body.members .main-cont-wrap .art-cont-box .pic { width:100%; }
	body.members .main-cont-wrap .art-cont-box .txt-box { width:100%; font-size:15px; margin-top:20px; line-height:2; }
	body.members .main-cont-wrap .more-box .btn { font-size:15px; margin:0 auto; width:220px; line-height:34px; }
}








/* =================== */
/*       body.about       */
/* =================== */
body.about #top-box .copy {
	font-size:2rem;
	line-height:1.5;
	text-align:center;
	color:#004384;
	font-weight:bold;
}
body.about #top-box .copy .red {
	color:#ff323c;
	font-weight:bold;
}
body.about #top-box .top-txt {
	font-size:.95rem;
	text-align:center;
	line-height:2.36;
	margin:3rem 0 4rem;
}
body.about .child-list li {
	width:calc((100% - 5rem) / 3);
	border:.25rem solid #004384;
	border-radius:1.25rem;
	padding:2rem 1.5rem 1.5rem;
}
body.about .child-list li .child-name {
	font-size:1.25rem;
	font-weight:bold;
	text-align:center;
	color:#004384;
}
body.about .child-list li .illust {
	width:4.55rem;
	margin:2rem auto;
}
body.about .child-list li .btn a {
	background:#004384;
	color:#fff;
	font-size:.875rem;
	text-align:center;
	width:100%;
	line-height:2.5rem;
	border-radius:100vmax;
	display:block;
}
body.about .child-list li .btn a span { font-weight:bold; }
body.about .child-list li .btn a i { margin-right:.5em; }
body.about .child-list li .btn a:hover { opacity:.5; }
body.about .character-box {
	background:#f5f5f5;
	border-radius:1.25rem;
	padding:2.5rem 6rem 3.5rem;
	margin:5rem auto 7rem;
}
body.about .character-box .box-ttl {
	font-size:2.5rem;
	text-align:center;
}
body.about .character-box .box-ttl .c1 { color:#ff323c; font-weight:bold; }
body.about .character-box .box-ttl .c2 { color:#2eabf8; font-weight:bold; }
body.about .character-box .box-ttl .c3 { color:#99bbd0; font-weight:bold; }
body.about .character-box .box-ttl .c4 { color:#ffc635; font-weight:bold; }
body.about .character-box .box-ttl .c5 { color:#004384; font-weight:bold; }
body.about .character-box .jp-ttl {
	font-size:1.5rem;
	font-weight:bold;
	color:#004384;
	text-align:center;
	margin:1rem 0 3rem;
}
body.about .character-box li {
	width:calc(100% / 3);
	text-align:center;
}
body.about .character-box li .illust {
	width:9.5rem;
	margin:0 auto 1rem;
	mix-blend-mode:darken;
}
body.about .character-box li .name {
	font-size:1.125rem;
	font-weight:bold;
	color:#004384;
	text-align:center;
}
body.about .character-box li .txt {
	font-weight:bold;
	color:#004384;
	text-align:center;
	font-size:.875rem;
	line-height:1.4;
	margin-top:.5rem;
}
body.about h3.about-h3-dsgn {
	font-size:1.25rem;
	color:#004384;
	padding:1.2rem 1.5rem 1.2rem 6.5rem;
	position:relative;
	border-radius:1rem;
	border:.25rem solid #004384;
	margin-bottom:2rem;
}
body.about h3.about-h3-dsgn span { font-weight:bold; }
body.about h3.about-h3-dsgn::before {
	content:"";
	width:5.25rem;
	height:5.25rem;
	position:absolute;
	left:-.25rem;
	bottom:-.25rem;
	border-radius:.75rem .75rem 0 .75rem;
}

body.about.b_team h3.about-h3-dsgn::before {
	background:#004384 url(/img/about/b_team/h3_icon.png) no-repeat center;
	background-size:2.975rem auto;
}
body.about.b_team .main-cont-wrap .main-pic {
	width:100%;
	border-radius:1.25rem;
	margin-bottom:3rem;
}
body.about.b_team .main-cont-wrap .main-txt-box {
	line-height:2.36;
	font-size:.95rem;
}
body.about.b_team .main-cont-wrap .last-red-txt {
	font-size:1.75rem;
	color:#ff323c;
	font-weight:bold;
	line-height:1.57;
	margin:3rem 0 7rem;
	text-align:center;
}

body.about.ict_center h3.about-h3-dsgn::before {
	background:#004384 url(/img/about/ict_center/h3_icon.png) no-repeat center;
	background-size:1.875rem auto;
}
body.about.ict_center .main-cont-wrap .main-pic {
	width:30rem;
	margin:0 auto 5rem;
}
body.about.ict_center .main-cont-wrap .main-pic img { border-radius:1.25rem; }
body.about.ict_center .main-cont-wrap .main-txt-box {
	line-height:2.36;
	font-size:.95rem;
}
body.about.ict_center .main-cont-wrap .address-txt {
	color:#004384;
	font-size:1.05rem;
	font-weight:bold;
	margin:3rem auto;
}
body.about.ict_center .main-cont-wrap .link-btn a {
	font-size:.875rem;
	color:#fff;
	background:#ff323c;
	width:19rem;
	line-height:2.5rem;
	border-radius:100vmax;
	display:block;
	margin:0 auto 3.5rem;
	text-align:center;
}
body.about.ict_center .main-cont-wrap .link-btn a:hover { opacity:.5; }
body.about.ict_center .main-cont-wrap .pic-list-box {
	flex-wrap:wrap;
	margin-bottom:5rem;
}
body.about.ict_center .main-cont-wrap .pic-list-box .pic {
	width:calc((100% - 6rem) / 3);
	margin-bottom:3rem;
}
body.about.ict_center .main-cont-wrap .pic-list-box .pic img { border-radius:1.25rem; }

body.about.our_ideas h3.about-h3-dsgn { margin-top:6rem; }
body.about.our_ideas h3.about-h3-dsgn::before {
	background:#004384 url(/img/about/our_ideas/h3_icon.png) no-repeat center;
	background-size:2.8rem auto;
}
body.about.our_ideas .osusume-list {
	flex-wrap:wrap;
	align-items:initial;
	margin-bottom:2rem;
}
body.about.our_ideas .osusume-list li {
	width:calc((100% - 2rem) / 2);
	margin-bottom:2rem;
	background:#99bbd0;
	border-radius:1.25rem;
	padding:1.5rem;
	text-align:center;
}
body.about.our_ideas .osusume-list li .txt {
	line-height:1.4;
	font-size:1.25rem;
	font-weight:bold;
	color:#004384;
}
body.about.our_ideas .osusume-list li .icon {
	width:2.4rem;
	margin:.5rem auto 0;
}
body.about.our_ideas .art-layout {
	border-top:1px solid #ccc;
	padding:3rem 0 4rem;
}
body.about.our_ideas .art-layout .case-num {
	font-size:2rem;
	color:#004384;
	text-align:center;
	font-weight:bold;
}
body.about.our_ideas .art-layout .after-box { margin-top:2rem; }
body.about.our_ideas .art-layout .art-ttl {
	font-size:2.75rem;
	color:#004384;
	text-align:center;
	font-weight:bold;
	margin:1.5rem 0 2.5rem;
}
body.about.our_ideas .art-layout .box-ttl {
	font-size:2rem;
	font-weight:bold;
	margin-bottom:.5rem;
}
body.about.our_ideas .art-layout .box-txt {
	line-height:2.36;
	font-size:.95rem;
}
body.about.our_ideas .art-layout .box-txt span {
	font-size:1rem;
	font-weight:bold;
}
body.about.our_ideas .art-layout .before-box .box-ttl { color:#99bbd0; }
body.about.our_ideas .art-layout .before-box .box-txt span { color:#004384; }
body.about.our_ideas .art-layout .after-box .box-ttl { color:#ff323c; }
body.about.our_ideas .art-layout .after-box .box-txt span { color:#ff323c; }
body.about.our_ideas .art-layout .bubble-box {
	justify-content:center;
	margin-bottom:2rem;
}
body.about.our_ideas .art-layout .bubble-box .icon {
	width:3rem;
	margin-right:1.3rem;
}
body.about.our_ideas .art-layout .bubble-box .bubble-txt {
	background:#eee;
	padding:1rem 1.5rem;
	border-radius:.75rem;
	font-size:1.25rem;
	font-weight:bold;
	color:#004384;
	position:relative;
	line-height:1.4;
}
body.about.our_ideas #case1.art-layout .bubble-box .bubble-txt { padding:1.5rem; }
body.about.our_ideas .art-layout .bubble-box .bubble-txt::before {
	content:"";
	display:inline-block;
	vertical-align:middle;
	color:#eee;
	line-height:1;
	width:0;
	height:0;
	border-style:solid;
	border-color:transparent;
	border-width:.725rem .85rem;
	border-right-color:currentColor;
	border-left:0;
	position:absolute;
	left:-.85rem;
	top:0;
	bottom:0;
	margin:auto 0;
}
body.about.our_ideas #last-art {
	width:100%;
	position:relative;
	background:#99bbd0;
	padding:6.5rem 0 12rem;
}
body.about.our_ideas #last-art::before {
	content:"";
	display:inline-block;
	vertical-align:middle;
	color:#fff;
	line-height:1;
	width:0;
	height:0;
	border-style:solid;
	border-color:transparent;
	border-width:2.5rem 1.5rem;
	border-top-color:currentColor;
	border-bottom:0;
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:0 auto;
}
body.about.our_ideas #last-art h4 {
	font-size:2rem;
	font-weight:bold;
	text-align:center;
	color:#004384;
}
body.about.our_ideas #last-art .txt {
	line-height:1.4;
	font-size:1.25rem;
	color:#fff;
	font-weight:bold;
	text-align:center;
	margin:1.5rem 0 3rem;
}
body.about.our_ideas #last-art .movie-box .movie {
	width:calc((100% - 2rem) / 2);
	background:#eee;
	aspect-ratio:5.6 / 3.15;
}
body.about.our_ideas #last-art .movie-box .movie iframe {
	width:100%;
	height:100%;
}

@media screen and (max-width: 750px) {
	body.about #top-box .copy { font-size:22px; }
	body.about #top-box .top-txt { font-size:15px; text-align:left; line-height:2; }
	body.about .child-list { display:block; width:80%; margin:0 auto; }
	body.about .child-list li { width:100%; margin-bottom:20px; padding:30px 20px 20px; }
	body.about .child-list li .child-name { font-size:18px; }
	body.about .child-list li .btn a { font-size:15px; line-height:40px; }
	body.about .child-list li .illust { width:30%; }
	body.about .character-box { padding:30px 20px 10px; }
	body.about .character-box .box-ttl { font-size:35px; }
	body.about .character-box .jp-ttl { font-size:18px; }
	body.about .character-box ul { display:block; }
	body.about .character-box li { width:100%; margin-bottom:25px; }
	body.about .character-box li .name { font-size:15px; }
	body.about .character-box li .txt { font-size:13px; }
	body.about h3.about-h3-dsgn { font-size:18px; line-height:1.4; padding-left:75px; }
	body.about h3.about-h3-dsgn::before { height:calc(100% + 15px); width:60px; }

	body.about.b_team .main-cont-wrap .main-txt-box { font-size:15px; line-height:2; }
	body.about.b_team .main-cont-wrap .main-txt-box li { text-indent:-1em; padding-left:1em; }
	body.about.b_team .main-cont-wrap .last-red-txt { font-size:20px; }
	body.about.ict_center .main-cont-wrap .main-txt-box { font-size:15px; line-height:2; }
	body.about.ict_center .main-cont-wrap .main-pic { width:85%; margin-bottom:60px; }
	body.about.ict_center .main-cont-wrap .address-txt { font-size:15px; line-height:1.5; }
	body.about.ict_center .main-cont-wrap .link-btn a { font-size:15px; width:100%; line-height:40px; }
	body.about.ict_center .main-cont-wrap .pic-list-box .pic { width:calc((100% - 2rem) / 2); margin-bottom:20px; }
	body.about.our_ideas .osusume-list li { width:100%; margin-bottom:15px; }
	body.about.our_ideas .osusume-list li .txt { font-size:16px; }
	body.about.our_ideas .osusume-list li .icon { width:30px; margin-top:7px; }
	body.about.our_ideas .art-layout .art-ttl { font-size:23px; line-height:1.4; }
	body.about.our_ideas .art-layout .bubble-box .icon { width:45px; }
	body.about.our_ideas .art-layout .bubble-box .bubble-txt { font-size:14px; width:calc(100% - 45px); }
	body.about.our_ideas .art-layout .box-txt { font-size:14px; line-height:2; }
	body.about.our_ideas .art-layout .box-txt span { font-size:15px; }
	body.about.our_ideas #last-art .txt { font-size:15px; }
	body.about.our_ideas #last-art .movie-box { display:block; }
	body.about.our_ideas #last-art .movie-box .movie { width:100%; margin-bottom:20px; }
	body.about.our_ideas #last-art h4 { font-size:23px; line-height:1.4; }
}









/* =================== */
/*       body.privacy_policy       */
/* =================== */
body.privacy_policy .page-top-txt {
	font-size:1rem;
	line-height:2;
	text-align:center;
	color:#004384;
	font-weight:bold;
	margin-bottom:3rem;
	letter-spacing:.05em;
}
body.privacy_policy ol > li {
	border-top:1px solid #ccc;
	padding:.75rem 0 1.5rem;
}
body.privacy_policy ol li h2 {
	font-size:1.25rem;
	color:#004384;
	font-weight:bold;
	margin-bottom:1.5rem;
}
body.privacy_policy ol li .txt-box {
	font-size:.8rem;
	line-height:2.1875;
}
body.privacy_policy ol li .txt-box a:hover { text-decoration:underline; }
body.privacy_policy ol li .mt { margin-top:2em; }
body.privacy_policy ol li .txt-box li {
	text-indent:-1em;
	padding-left:1em;
}
body.privacy_policy ol li .txt-box li::before { content:"・"; }
body.privacy_policy .main-cont-wrap .r-box {
	text-align:right;
	font-size:.8rem;
	line-height:2.1875;
	margin-top:3rem;
}
body.privacy_policy .main-cont-wrap { margin-bottom:8rem; }

body.privacy_policy .main-cont-wrap ul {
	display:flex;
	justify-content:center;
}
body.privacy_policy .main-cont-wrap ul li a {
	font-size: .875rem;
    color: #004384;
    font-weight: bold;
    display: block;
    border-radius: 100vmax;
    border: 1px solid #004384;
    text-align: center;
    line-height: 2.5rem;
    width:17rem;
    margin:0 1rem;
}
body.privacy_policy .main-cont-wrap ul li a:hover {
	background:#004384;
	color:#fff;
}

@media screen and (max-width: 750px) {
	body.privacy_policy .page-top-txt { font-size:17px; margin-bottom:40px; text-align:left; }
	body.privacy_policy ol > li { padding:30px 0; }
	body.privacy_policy ol li h2 { font-size:20px; line-height:1.3; }
	body.privacy_policy ol li .txt-box { font-size:15px; line-height:1.8; }
	body.privacy_policy .main-cont-wrap .r-box { font-size:15px; line-height:1.8; }
	body.privacy_policy .main-cont-wrap ul { display:block; }
	body.privacy_policy .main-cont-wrap ul li a { font-size:15px; line-height:35px; width:100%; margin:0 0 20px; }
}









/* =================== */
/*       body.contact       */
/* =================== */
body.contact .page-top-txt {
	letter-spacing:.05em;
	color:#004384;
	text-align:center;
	font-size:1.5rem;
	font-weight:bold;
	margin-bottom:4rem;
}
body.contact .form-wrap {
	background:#eee;
	border-radius:1.25rem;
	padding:3.5rem 4rem;
	margin-bottom:7rem;
}
body.contact .form-wrap .name-box {
	justify-content:flex-start;
}
body.contact .form-wrap .name-box > div {
	width:14.75rem;
	margin-right:1.3rem;
}
body.contact .form-wrap .nml-box { margin-top:2rem; }
body.contact .form-wrap .ttl {
	font-size:1rem;
	color:#004384;
	font-weight:bold;
	margin:0 0 .5rem .5rem;
}
body.contact .form-wrap .ttl .req {
	color:#ff323c;
	font-size:70%;
	margin-left:.5rem;
}
body.contact .form-wrap .input-box input {
	width:100%;
	font-size:1.25rem;
	background:#fff;
	border-radius:.25rem;
	padding:.7rem 1rem;
	border:0;
	box-sizing:border-box;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
body.contact .form-wrap .input-box textarea {
	width:100%;
	font-size:1.25rem;
	background:#fff;
	border-radius:.25rem;
	padding:.7rem 1rem;
	border:0;
	box-sizing:border-box;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
body.contact .form-wrap .input-box input::placeholder,
body.contact .form-wrap .input-box textarea::placeholder { color:#ccc; }
body.contact .form-wrap .submit-btn input.submit {
	font-size:1.05rem;
	color:#fff;
	line-height:3rem;
	background:#004384;
	width:16.25rem;
	border-radius:1.25rem;
	margin:3rem auto 0;
	display:block;
	border:0;
	font-weight:bold;
	cursor:pointer;
	transition:0.3s ease all;
}
body.contact .form-wrap .submit-btn input.submit:hover { opacity:.5; }
body.contact .form-wrap .wpcf7-not-valid-tip { margin:.5rem 0 0 .5rem; }
body.contact .wpcf7 form .wpcf7-response-output {
	width:56rem;
	margin:-4rem auto 7rem;
	border-color:#004384;
	padding:1rem;
}
body.contact .form-wrap .scr-txt-box {
	font-size:.825rem;
    line-height:1.8;
    height:15rem;
    overflow-y:auto;
    margin:3rem 0 2rem;
}
body.contact .form-wrap .scr-txt-box p { margin-bottom:1em; }
body.contact .form-wrap .agree .wpcf7-list-item {
	margin-left:0;
	font-size:1rem;
}
body.contact .form-wrap .rec-txt {
	text-align:center;
 	font-size:.7rem;
 	line-height:1.7;
 	margin-bottom:2rem;
 	margin-top:4rem;
}
body.contact .form-wrap .rec-txt a:hover { text-decoration:underline; }

@media screen and (max-width: 750px) {
	body.contact .page-top-txt { font-size:20px; line-height:1.5; }
	body.contact .wpcf7 form .wpcf7-response-output { width:86.6%; font-size:16px; line-height:1.5; }
	body.contact .form-wrap { padding:25px; }
	body.contact .form-wrap .ttl { font-size:15px; }
	body.contact .form-wrap .input-box input { font-size:17px; }
	body.contact .form-wrap .input-box textarea { font-size:17px; }
	body.contact .form-wrap .name-box { justify-content:space-between; }
	body.contact .form-wrap .name-box > div { width:calc((100% - 10px) / 2); margin-right:0; }
	body.contact .form-wrap .submit-btn input.submit { font-size:15px; line-height:45px; width:200px; border-radius:20px; }
	body.contact .form-wrap .scr-txt-box { font-size:13px; height:200px; }
	body.contact .form-wrap .agree .wpcf7-list-item { font-size:15px; line-height:1.5; }
	body.contact .form-wrap .rec-txt { font-size:10px; line-height:1.5; }
}







/* =================== */
/*       body.news       */
/* =================== */
body.news.single .news-art {
	border-radius:1.25rem;
	background:#eee;
	padding:3.5rem;
}
body.news.single .news-art time {
	font-size:1rem;
	font-weight:bold;
}
body.news.single .news-art h2 {
	font-size:1rem;
	font-weight:bold;
	color:#004384;
	margin:1rem 0 2rem;
}
body.news.single .news-art .editor-box {
	font-size:.8rem;
	line-height:2.1875;
}
body.news.single .news-art .editor-box p { margin-bottom:2em; }
body.news.single .news-art .editor-box img {
	width:auto;
	margin:1em auto;
}
body.news.single .back-btn a {
	border:1px solid #004384;
	color:#004384;
	text-align:center;
	width:20rem;
	line-height:2.5rem;
	border-radius:100vmax;
	font-size:.875rem;
	display:block;
	margin:4rem auto 7rem;
}
body.news.single .back-btn a span { font-weight:bold; }
body.news.single .back-btn a i { margin-right:.5rem; }
body.news.single .back-btn a:hover { opacity:.5; }

body.news.category .news-list li { margin-bottom:2rem; }
body.news.category .news-list li a {
	border-radius:1.75rem;
	background:#eee;
	padding:2.5rem;
	display:block;
}
body.news.category .news-list li time {
	font-size:1rem;
	font-weight:bold;
	display:block;
}
body.news.category .news-list li .post-ttl {
	font-size:1rem;
	font-weight:bold;
	color:#004384;
	margin-top:1rem;
	text-decoration:underline;
	line-height:1.3;
}
body.news.category .news-list li a:hover { opacity:.5; }
body.news.category .pagination-box { margin:3rem auto 7rem; }
body.news.category .pagination-box .nav-links {
	display:flex;
	justify-content:center;
}
body.news.category .pagination-box .nav-links .page-numbers {
	font-size:1rem;
	font-weight:bold;
	color:#004384;
	font-family: "Inter", sans-serif;
	width:2rem;
	line-height:2rem;
	text-align:center;
	border-radius:.25rem;
	border:1px solid #004384;
	margin:0 .25rem;
}
body.news.category .pagination-box .nav-links a.page-numbers:hover { opacity:.5; }
body.news.category .pagination-box .nav-links .page-numbers.current {
	background:#004384;
	color:#fff;
}
body.news.category .pagination-box .nav-links .page-numbers.next,
body.news.category .pagination-box .nav-links .page-numbers.prev {
	font-size:.75rem;
	width:3.25rem;
	font-weight:300;
}


@media screen and (max-width: 750px) {
	body.news.single .news-art { padding:25px; }
	body.news.single .news-art time { font-size:18px; }
	body.news.single .news-art h2 { font-size:18px; line-height:1.3; }
	body.news.single .news-art .editor-box { font-size:15px; line-height:1.8; }
	body.news.single .back-btn a { font-size:15px; line-height:45px; width:200px; }

	body.news.category .news-list li time { font-size:15px; }
	body.news.category .news-list li .post-ttl { font-size:15px; }
	body.news.category .pagination-box .nav-links .page-numbers.next,
	body.news.category .pagination-box .nav-links .page-numbers.prev { font-size:13px; width:50px; }
	body.news.category .pagination-box .nav-links .page-numbers { width:30px; line-height:30px; font-size:15px; }
}








/* =================== */
/*       body.ideas       */
/* =================== */
body.ideas.single .ideas-art h2 {
	font-size:2rem;
	color:#004384;
	text-align:center;
	line-height:1.5;
	margin-bottom:3rem;
	font-weight:bold;
}
body.ideas.single .ideas-art .intro-box { align-items:flex-start; }
body.ideas.single .ideas-art .intro-box .eye-catch { width:20rem; }
body.ideas.single .ideas-art .intro-box .txt-box { width:calc(100% - 20rem - 3rem); }
body.ideas.single .ideas-art .intro-box .txt-box h3 {
	font-size:1.25rem;
	font-weight:bold;
	color:#99bbd0;
}
body.ideas.single .ideas-art .intro-box .txt-box .txt {
	line-height:2.2;
	font-size:.85rem;
	margin-top:1rem;
}
body.ideas.single .ideas-art .problem-box { margin:4rem auto; }
body.ideas.single .ideas-art .problem-box h3 {
	background:#eee;
	border-radius:1.25rem;
	text-align:center;
	line-height:3.375rem;
	color:#004384;
	font-size:1.25rem;
	font-weight:bold;
	margin-bottom:2.5rem;
}
body.ideas.single .ideas-art .problem-box .txt-box li {
	font-size:1.125rem;
	font-weight:bold;
	line-height:2;
	text-indent:-1em;
	padding-left:1em;
}
body.ideas.single .ideas-art .problem-box .txt-box li::before {
	content:"●";
	color:#004384;
}
body.ideas.single .ideas-art .solution-box { margin:4rem auto; }
body.ideas.single .ideas-art .solution-box h3 {
	background:#ff323c;
	border-radius:1.25rem;
	text-align:center;
	line-height:3.375rem;
	color:#fff;
	font-size:1.25rem;
	font-weight:bold;
	margin-bottom:2.5rem;
}
body.ideas.single .ideas-art .solution-box .box {
	border:1px solid #000;
	border-radius:1.25rem;
	padding:2rem 2.5rem;
	margin-bottom:1.5rem;
}
body.ideas.single .ideas-art .solution-box .box h4 {
	font-size:1.25rem;
	color:#ff323c;
	font-weight:bold;
	line-height:1.5;
	margin-bottom:.5rem;
}
body.ideas.single .ideas-art .solution-box .box .txt-box {
	font-size:1.15rem;
	line-height:1.7;
}
body.ideas.single .ideas-art .solution-box .box .txt-box li {
	text-indent:-1em;
	padding-left:1em;
}
body.ideas.single .ideas-art .solution-box .box .txt-box li::before { content:"・"; }
body.ideas.single .ideas-art .special-box {
	padding:4rem 0;
	position:relative;
}
body.ideas.single .ideas-art .special-box h3 {
	font-size:1.25rem;
	color:#fff;
	font-weight:bold;
}
body.ideas.single .ideas-art .special-box::before {
	content:"";
	width:100vw;
	height:100%;
	position:absolute;
	left:0;
	right:0;
	top:0;
	margin:0 calc(50% - 50vw);
	background:#ff323c;
	z-index:-1;
}
body.ideas.single .ideas-art .special-box li {
	text-indent:-1em;
	padding-left:1em;
}
body.ideas.single .ideas-art .special-box li::before {
	content:"●";
	color:#fff;
}
body.ideas.single .ideas-art .special-box .txt-box {
	font-size:1.05rem;
	line-height:2.1;
	color:#fff;
	margin-top:1rem;
}
body.ideas.single .ideas-art .movie-box {
	width:37.5rem;
	margin:2.5rem auto;
}
body.ideas.single .ideas-art .movie-box iframe { width:100%; height:auto; }
body.ideas.single .main-cont-wrap .last-copy-txt {
	font-size:2rem;
	text-align:center;
	color:#004384;
	font-weight:bold;
	line-height:1.25;
	margin-bottom:5rem;
	margin-top:3rem;
}

body.ideas .top-copy-box .copy {
	font-size:2rem;
	line-height:1.5;
	text-align:center;
	color:#004384;
	font-weight:bold;
}
body.ideas .top-copy-box .copy span {
	color:#ff323c;
	font-weight:bold;
}
body.ideas .top-copy-box .txt {
	font-size:.95rem;
	text-align:center;
	line-height:2.36;
	margin:3rem 0 4rem;
}
body.ideas h3.h3-dsgn {
	font-size:1.25rem;
	color:#004384;
	padding:1.2rem 1.5rem 1.2rem 6.5rem;
	position:relative;
	border-radius:1rem;
	border:.25rem solid #004384;
	margin-bottom:2rem;
}
body.ideas h3.h3-dsgn span { font-weight:bold; }
body.ideas h3.h3-dsgn::before {
	content:"";
	width:5.25rem;
	height:5.25rem;
	position:absolute;
	left:-.25rem;
	bottom:-.25rem;
	border-radius:.75rem .75rem 0 .75rem;
	background:#004384 url(/img/ideas/h3_icon.png) no-repeat center;
	background-size:1.95rem auto;
}
body.ideas ul.ideas-list li { margin-bottom:2rem; }
body.ideas ul.ideas-list li a {
	border-radius:1.25rem;
	background:#99bbd0;
	padding:2rem 2.5rem;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
body.ideas ul.ideas-list li:nth-child(even) a { background:#eee; }
body.ideas ul.ideas-list li a:hover { opacity:.5; }
body.ideas ul.ideas-list li .txt-box { width:calc(100% - 12.5rem - 5rem); }
body.ideas ul.ideas-list li .num {
	font-size:2.5rem;
	color:#fff;
	text-transform:capitalize;
	font-weight:bold;
}
body.ideas ul.ideas-list li:nth-child(even) .num { color:#99bbd0; }
body.ideas ul.ideas-list li .ideas-ttl {
	font-size:1.5rem;
	color:#004384;
	line-height:1.33;
	text-decoration:underline;
	margin-top:1rem;
	font-weight:bold;
}
body.ideas ul.ideas-list li .pic { width:12.5rem; }
body.ideas .pagination-box { margin:3rem auto 7rem; }
body.ideas .pagination-box .nav-links {
	display:flex;
	justify-content:center;
}
body.ideas .pagination-box .nav-links .page-numbers {
	font-size:1rem;
	font-weight:bold;
	color:#004384;
	font-family: "Inter", sans-serif;
	width:2rem;
	line-height:2rem;
	text-align:center;
	border-radius:.25rem;
	border:1px solid #004384;
	margin:0 .25rem;
}
body.ideas .pagination-box .nav-links a.page-numbers:hover { opacity:.5; }
body.ideas .pagination-box .nav-links .page-numbers.current {
	background:#004384;
	color:#fff;
}
body.ideas .pagination-box .nav-links .page-numbers.next,
body.ideas .pagination-box .nav-links .page-numbers.prev {
	font-size:.75rem;
	width:3.25rem;
	font-weight:300;
}


@media screen and (max-width: 750px) {
	body.ideas.single .ideas-art h2 { font-size:22px; }
	body.ideas.single .ideas-art .intro-box { display:block; }
	body.ideas.single .ideas-art .intro-box .eye-catch { width:100%; margin-top:30px; }
	body.ideas.single .ideas-art .intro-box .txt-box { width:100%; }
	body.ideas.single .ideas-art .intro-box .txt-box h3 { font-size:18px; }
	body.ideas.single .ideas-art .intro-box .txt-box .txt { font-size:15px; line-height:1.8; }
	body.ideas.single .ideas-art .problem-box h3,
	body.ideas.single .ideas-art .solution-box h3 { font-size:18px; line-height:45px; margin-bottom:20px; }
	body.ideas.single .ideas-art .problem-box .txt-box li { font-size:15px; line-height:1.8; }
	body.ideas.single .ideas-art .solution-box .box h4 { font-size:16px; }
	body.ideas.single .ideas-art .solution-box .box .txt-box { font-size:15px; line-height:1.5; }
	body.ideas.single .ideas-art .special-box h3 { font-size:18px; }
	body.ideas.single .ideas-art .special-box .txt-box { font-size:15px; line-height:1.8; }
	body.ideas.single .ideas-art .movie-box { width:100%; }
	body.ideas.single .main-cont-wrap .last-copy-txt { font-size:18px; }

	body.ideas .pagination-box .nav-links .page-numbers.next,
	body.ideas .pagination-box .nav-links .page-numbers.prev { font-size:13px; width:50px; }
	body.ideas .pagination-box .nav-links .page-numbers { width:30px; line-height:30px; font-size:15px; }
	body.ideas .top-copy-box .copy { font-size:22px; }
	body.ideas .top-copy-box .copy span { display:block; }
	body.ideas .top-copy-box .txt { font-size:15px; line-height:2; text-align:left; }
	body.ideas h3.h3-dsgn {
        font-size:18px;
        line-height:1.4;
        padding-left:75px;
    }
    body.ideas h3.h3-dsgn::before {
        height:calc(100% + 15px);
        width:60px;
    }
    body.ideas ul.ideas-list li a { display:block; }
    body.ideas ul.ideas-list li .txt-box { width:100%; }
    body.ideas ul.ideas-list li .pic { margin:20px auto 0; }
}







/* =================== */
/*       body.company       */
/* =================== */
body.company ul.dflt-child-list { margin-bottom:20rem; }

@media screen and (max-width: 750px) {
	body.company ul.dflt-child-list { margin-bottom:80px; }
}






/* =================== */
/*       body.it_service       */
/* =================== */
body.it_service ul.dflt-child-list { margin-bottom:7rem; }
body.it_service ul.dflt-child-list .pic {
	width:4.925rem;
	margin:0 auto;
}

@media screen and (max-width: 750px) {
	body.it_service ul.dflt-child-list { margin-bottom:50px; }
}






/* =================== */
/*       body.teamb_service       */
/* =================== */
body.teamb_service ul.dflt-child-list { margin-bottom:7rem; }
body.teamb_service ul.dflt-child-list .pic {
	width:4.925rem;
	margin:0 auto;
}

@media screen and (max-width: 750px) {
	body.teamb_service ul.dflt-child-list { margin-bottom:50px; }
}






/* =================== */
/*       body.ses_service       */
/* =================== */
body.ses_service #service-layout .pic {
	width:50rem;
	margin:0 auto;
}
@media screen and (max-width: 750px) {
	body.ses_service #service-layout .pic { width:100%; }
}





/* =================== */
/*       #service-layout       */
/* =================== */
#service-layout { margin-bottom:10rem; }
#service-layout .copy {
	font-size:2rem;
	line-height:1.5;
	text-align:center;
	color:#004384;
	font-weight:bold;
}
#service-layout .copy .red {
	color:#ff323c;
	font-weight:bold;
}
#service-layout .top-txt {
	font-size:.95rem;
	text-align:center;
	line-height:2.36;
	margin:3rem 0 4rem;
}
#service-layout .bld-font { font-weight:bold; }
#service-layout .red-font { color:#ff323c; }
#service-layout h3.h3-dsgn {
	font-size:1.25rem;
	color:#004384;
	padding:1.2rem 1.5rem 1.2rem 6.5rem;
	position:relative;
	border-radius:1rem;
	border:.25rem solid #004384;
	margin:3rem 0 2rem;
}
#service-layout h3.h3-dsgn span { font-weight:bold; }
#service-layout h3.h3-dsgn::before {
	content:"";
	width:5.25rem;
	height:5.25rem;
	position:absolute;
	left:-.25rem;
	bottom:-.25rem;
	border-radius:.75rem .75rem 0 .75rem;
	background:#004384 url(/img/ses_service/h3_icon.png) no-repeat center;
	background-size:1.7rem auto;
}
#service-layout .nml-txt {
	font-size:.95rem;
	line-height:2.37;
	margin-bottom:2rem;
}
#service-layout h4.h4-dsgn {
	font-size:1.25rem;
	text-align:center;
	font-weight:bold;
	padding:1rem 0;
	border-radius:1.25rem;
	background:#eee;
	color:#004384;
	margin:3rem 0 2rem;
}
#service-layout h4.h4-dsgn.red {
	background:#ff323c;
	color:#fff;
}
#service-layout ul.layout-type1 {
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:initial;
}
#service-layout ul.layout-type1 li {
	width:calc((100% - 2rem) / 2);
	border-radius:1.25rem;
	background:#99bbd0;
	padding:1.5rem 0;
	margin-bottom:2rem;
}
#service-layout ul.layout-type1 li:nth-child(odd) { margin-right:2rem; }
#service-layout ul.layout-type1 li .num {
	font-size:2rem;
	text-align:center;
	font-weight:bold;
	color:#fff;
}
#service-layout ul.layout-type1 li .ttl {
	color:#004384;
	line-height:1.4;
	font-size:1.25rem;
	text-align:center;
	margin:1rem 0;
	font-weight:bold;
}
#service-layout ul.layout-type1 li .txt {
	font-size:.95rem;
	line-height:1.6;
	padding:0 2rem;
}
#service-layout dl.layout-type2 { margin:0 1rem; }
#service-layout dl.layout-type2 .line { margin-bottom:1.5rem; }
#service-layout dl.layout-type2 dt {
	font-size:1.125rem;
	line-height:2;
	font-weight:bold;
}
#service-layout dl.layout-type2 dt::before {
	content:"●";
	color:#004384;
}
#service-layout dl.layout-type2 dd {
	font-size:.95rem;
	line-height:2.4;
	padding-left:1.125rem;
}
#service-layout ul.layout-type3 {
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:initial;
}
#service-layout ul.layout-type3 li {
	width:calc((100% - 2rem) / 2);
	border-radius:1.25rem;
	padding:1.5rem 0;
	margin-bottom:2rem;
	border:5px solid #ff323c;
}
#service-layout ul.layout-type3 li:nth-child(odd) { margin-right:2rem; }
#service-layout ul.layout-type3 li .ttl {
	color:#ff323c;
    line-height:1.4;
    font-size:1.25rem;
    text-align:center;
    margin-bottom:1rem;
    font-weight:bold;
}
#service-layout ul.layout-type3 li .ttl::before {
	content:"\f058";
    font-family:"Font Awesome 5 Free";
    font-weight:900;
    display:block;
    font-size:2rem;
    text-align:center;
    margin-bottom:1rem;
}
#service-layout ul.layout-type3 li .txt {
    font-size:.95rem;
    line-height:1.6;
    padding:0 2rem;
    text-align:center;
}
#service-layout .pic { margin:2rem 0; }
#service-layout .big-red-txt {
	font-size:1.75rem;
    color:#ff323c;
    font-weight:bold;
    line-height:1.57;
    margin:3rem 0;
    text-align:center;
}
#service-layout .layout-type4 {
	align-items:flex-start;
	margin:2rem auto 3rem;
}
#service-layout .layout-type4 .pic {
	width:19.125rem;
	margin:0;
}
#service-layout .layout-type4 .txt-box {
	width:calc(100% - 19.125rem - 3rem);
	font-size:1.125rem;
	line-height:2;
	font-weight:bold;
}
#service-layout .layout-type4 .txt-box li {
	text-indent:-1em;
	padding-left:1em;
	font-weight:bold;
}
#service-layout .layout-type4 .txt-box li::before {
	content:"●";
	color:#004384;
}
#service-layout ul.layout-type5 { margin:2rem auto 3rem; }
#service-layout ul.layout-type5 li {
	border-radius:1.25rem;
	background:#99bbd0;
	height:12rem;
	margin-bottom:2rem;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#service-layout ul.layout-type5 li .ttl-box { width:20rem; }
#service-layout ul.layout-type5 li .num {
	font-size:2rem;
	text-align:center;
	font-weight:bold;
	color:#fff;
}
#service-layout ul.layout-type5 li .ttl {
	color:#004384;
	line-height:1.4;
	font-size:1.25rem;
	text-align:center;
	margin:1rem 0 0;
	font-weight:bold;
}
#service-layout ul.layout-type5 li .txt {
	font-size:.95rem;
	line-height:1.6;
	width:calc(100% - 20rem - 3rem);
	margin-right:3rem;
}
#service-layout .movie-box {
	width:37.5rem;
	aspect-ratio:5.6 / 3.15;
	margin:2rem auto 3rem;
}
#service-layout .movie-box iframe {
	width:100%;
	height:100%;
}
#service-layout .link-btn a {
	font-size:.875rem;
	color:#fff;
	background:#ff323c;
	width:19rem;
	line-height:2.5rem;
	border-radius:100vmax;
	display:block;
	margin:2rem auto 3rem;
	text-align:center;
}
#service-layout .link-btn a:hover { opacity:.5; }
#service-layout .two-pic-box { margin:2rem auto; }
#service-layout .two-pic-box .pic {
	width:calc((100% - 2rem) / 2);
	margin:0;
}
#service-layout dl.layout-type6 { margin:2rem 1rem 4rem; }
#service-layout dl.layout-type6 .line {
	display:flex;
	border-bottom:1px solid #999;
	padding:1rem 0;
	align-items:baseline;
}
#service-layout dl.layout-type6 .line dt {
	font-size:1.125rem;
	font-weight:bold;
	width:12rem;
}
#service-layout dl.layout-type6 .line dd {
	font-size:.95rem;
	line-height:2;
	width:calc(100% - 12rem);
}

@media screen and (max-width: 750px) {
	#service-layout .copy { font-size:22px; }
	#service-layout .top-txt { font-size:15px; text-align:left; line-height:2; }
	#service-layout h3.h3-dsgn { font-size:18px; line-height:1.4; padding-left:75px; margin-top:50px; }
	#service-layout h3.h3-dsgn::before { height:calc(100% + 15px); width:60px; }
	#service-layout .nml-txt { font-size:15px; line-height:2; }
	#service-layout ul.layout-type1 { display:block; }
	#service-layout ul.layout-type1 li { width:100%; padding:25px 0; }
	#service-layout ul.layout-type1 li:nth-child(odd) { margin-right:0; }
	#service-layout ul.layout-type1 li .num { font-size:22px; }
	#service-layout ul.layout-type1 li .ttl { font-size:17px; margin:15px 0; }
	#service-layout ul.layout-type1 li .txt { font-size:15px; }
	#service-layout h4.h4-dsgn { font-size:17px; padding:12px 15px; margin-top:40px; line-height:1.5; }
	#service-layout dl.layout-type2 dt { font-size:17px; }
	#service-layout dl.layout-type2 dd { font-size:15px; line-height:2; }
	#service-layout ul.layout-type3 { display:block; }
	#service-layout ul.layout-type3 li { width:100%; border:3px solid #ff323c; }
	#service-layout ul.layout-type3 li:nth-child(odd) { margin-right:0; }
	#service-layout ul.layout-type3 li .ttl { font-size:17px; }
	#service-layout ul.layout-type3 li .txt { font-size:15px; }
	#service-layout .big-red-txt { font-size:20px; }
	#service-layout .layout-type4 { display:block; }
	#service-layout .layout-type4 .txt-box { font-size:15px; width:100%; }
	#service-layout .layout-type4 .pic { width:100%; margin-top:20px; }
	#service-layout ul.layout-type5 li { display:block; padding:25px 0; height:auto; }
	#service-layout ul.layout-type5 li .ttl-box { width:100%; }
	#service-layout ul.layout-type5 li .num { font-size:22px; }
	#service-layout ul.layout-type5 li .ttl { font-size:17px; margin:15px 0; }
	#service-layout ul.layout-type5 li .txt { font-size:15px; width:100%; padding:0 20px; margin-right:0; }
	#service-layout .link-btn a { font-size:15px; width:100%; line-height:40px; }
	#service-layout .movie-box { width:100%; }
	#service-layout .two-pic-box { display:block; }
	#service-layout .two-pic-box .pic { width:100%; margin-bottom:15px; }
	#service-layout dl.layout-type6 .line { display:block; padding:20px 0 15px; }
	#service-layout dl.layout-type6 .line dt { font-size:17px; width:100%; }
	#service-layout dl.layout-type6 .line dd { font-size:15px; width:100%; margin-top:7px; }
}









