/*
  さとりカスタム CSS — 通常時

  素の SOLARIS 2.15.2 に存在しないルールを、現行テーマ solaris_custom から
  すべて抽出したもの。2026-07-29 作成。

  ※ 当初は「素の2.8.1との差分」で抽出したが、基準にした2.8.1のコピー自体に
     過去の改修（.cta-center / .oval-button など）が混入していたため取りこぼした。
     2.15.2 を基準にすることで、現行サイトが依存するルールが漏れない。
*/


/* ===== 元: style.css ===== */

.post_content .design_button a { background:#0070a4; color:#fff !important; text-decoration:none; }

.post_content .design_button a:hover { background:#005a87; color:#fff !important; }

.design_headline1 { font-size:28px !important; text-align:center; line-height:1.5 !important; margin:0 0 50px 0 !important; padding:0 !important; }

.design_headline2 { font-size:22px !important; font-weight:600; margin:100px -40px 63px 0 !important; padding:0 40px 0 0 !important; border-top:1px solid #ddd; text-align:center; }

.design_headline2 span.title { display:inline-block; border-top:3px solid #0070a4; padding-top:20px; margin-top:-1px; }

body.hide_sidebar .design_headline2 { margin-right:0 !important; padding-right:0 !important; }

.two_column_image {
  margin:60px 0 60px;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  -ms-justify-content:space-between; -webkit-justify-content:space-between; justify-content:space-between;
}

.tab_content_top .tab .item.active, .tab_content_top .tab .item:hover { color:#000; background:#fff; }

.tab_content_bottom .title { font-size:26px; color:#0071a2; margin-bottom:42px; }

.tab_content_bottom .desc { line-height:1.8; }

#archive_square_headline h3 { width:100%; text-align:center; position:absolute; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

#related_project .title { font-weight:500 !important; font-size:16px; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible; word-wrap:break-word; word-break:break-all; }

.history_table .year { width:130px !important; padding:0; color:#006fa6; font-size:16px; font-weight:bold; -webkit-box-sizing:border-box; box-sizing:border-box; }

.history_table .month { width:70px !important; padding:0; -webkit-box-sizing:border-box; box-sizing:border-box; }

#access_info .headline { font-size:18px; margin:0 0 10px 0; }

#post_title .date { font-size:14px; position:relative; color:#999; }

.post_content a:hover, .custom-html-widget a:hover { text-decoration:none; overflow: hidden; }

.oval-button {
			display: inline-block;
            background-color: #f86d03;
            color: white !important;  
            font-weight: bold; 
			line-height: 1.5; 
            text-align: center;
			padding: 12px 20px;
            text-decoration: none; 
            border-radius: 50px; 
            font-size: 16px;
            border: none;
            cursor: pointer;
     }

.oval-button:hover {
       opacity: 0.8; 
     }

.cta-center {
  text-align: center;
  margin-top: 1.5em;
}

#related_post .title { font-weight:500 !important; font-size:14px; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible; word-wrap:break-word; word-break:break-all; }

.pc body.single.header_fix { padding-top:80px; }

#global_menu > ul > li { display:inline-block; n:relative; line-height:1; text-align:center; font-size:14px; }

.megamenu .headline_area h3 { line-height:1.5; position:absolute; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.megamenu .headline_area h3 span { display:block; }

.megamenu .headline_area h3 .headline { font-size:28px; color:#006ea5; margin:5px 0 0 0; }

.megamenu .headline_area h3 .sub_headline { font-weight:500; color:#000; }

.megamenu .headline_area h3 a { display:block; padding:0 50px 0 0; position:relative; }

.megamenu .headline_area h3 a:before {
  font-family:'design_plus'; content:'\e910'; color:#000; font-size:18px; display:block; height:18px; line-height:18px; text-align:center; font-weight:500;
  position:absolute; right:0px; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  -webkit-transition: all 0.2s ease; transition: all 0.2s ease;
}

.megamenu .headline_area h3 a:hover:before { color:#ccc; }

.styled_post_list1 .date {
  font-size:12px; color:#999; line-height:1; margin-top:5px;
  -webkit-transition-property:color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  transition-property:color; transition-duration:0.2s; transition-timing-function:ease;
}

.tcd_banner_widget .title { font-size:20px; line-height:1.5; }

.category_list_widget .square_headline h3 { line-height:1.5; position:absolute; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.category_list_widget .square_headline h3 span { display:block; }

.category_list_widget .square_headline h3 .sub_headline { font-weight:500; }

.category_list_widget li a {
  display:block; background:#fff; border-bottom:1px solid #ddd; padding:0 40px; overflow:hidden; position:relative; width:100%; height:70px; line-height:70px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-justify-content:space-between; -webkit-justify-content:space-between; justify-content:space-between;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  -ms-align-items:center; -webkit-align-items:center; align-items:center;
  -webkit-transition: all 0.35s ease; transition: all 0.35s ease;
}

.category_list_widget li.current-menu-item, .category_list_widget li.current-menu-parent { background:#fff; margin-bottom:-1px; z-index:10; position:relative; }

.category_list_widget li.current-menu-item a, .category_list_widget li.current-menu-parent a { color:#fff; border:none; pointer-events:none; }

.post_content .alignright { float:right; }

.post_content .alignleft { float:left; }

.post_content .aligncenter { display:block; margin-left:auto; margin-right:auto; margin-bottom:7px; }

.post_content blockquote.alignleft, .post_content img.alignleft { margin:7px 24px 7px 0; }

.post_content .wp-caption.alignleft { margin:7px 14px 7px 0; }

.post_content blockquote.alignright, .post_content img.alignright { margin:7px 0 7px 24px; }

.post_content .wp-caption.alignright { margin:7px 0 7px 14px; }

.post_content blockquote.aligncenter, .post_content img.aligncenter, .post_content .wp-caption.aligncenter { margin-top:7px; margin-bottom:7px; }

.post_content p { line-height:2.4; margin:0 0 2em 0; }

.post_content p:last-child { margin:0; }

.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { clear:both; line-height:1.4; margin:0 0 15px 0; padding:0; font-weight:600; }

.post_content h1 { font-size:150%; }

.post_content h2 { font-size:140%; }

.post_content h3 { font-size:130%; }

.post_content h4 { font-size:120%; }

.post_content h5 { font-size:110%; }

.post_content h6 { font-size:100%; }

.post_content img[class*="align"], .post_content img[class*="wp-image-"], .post_content img[class*="attachment-"], .post_content img.size-full, .post_content img.size-large, .post_content .wp-post-image, .post_content img { height:auto; max-width:100%; }

.post_content li, .post_content dt, .post_content dd { line-height:2.2; }

.post_content ul, .post_content ol, .post_content dl { margin-bottom:24px; }

.post_content ol { list-style:decimal outside none; margin-left:1.5em; }

.post_content ul { list-style:circle outside none; margin-left:1.3em; }

.post_content li > ul, .post_content li > ol { margin-bottom:0; }

.post_content dt { font-weight:bold; }

.post_content dd { margin-bottom:1em; }

.post_content table { margin:0 0 24px 0; width:100% !important; }

.post_content td, .post_content th { border:1px solid #ddd; padding:17px 30px; line-height:2.2; background:#fff; }

.post_content th { background:#f7f7f7; font-weight:normal; }

.post_content table.table_no_border th, .post_content table.table_no_border td { border:none; padding-left:0; }

.post_content table.table_border_horizontal th, .post_content table.table_border_horizontal td { border-left:none; border-right:none; padding-left:0; }

.post_content blockquote { margin:0 0 25px 0; padding:27px 30px; background:#fff; border:1px solid #ccc; box-shadow:0px 3px 0px 0px rgba(150,150,150,0.1); position:relative; }

.post_content blockquote:before { content: '"'; font-style:italic; font-size:30px; font-weight:normal; line-height:40px; width:30px; height:30px; position:absolute; top:5px; left:10px; color:#5cbcd7; }

.post_content blockquote:after { content: '"'; font-style:italic; font-size:30px; font-weight:normal; text-align:left; line-height:60px; width:30px; height:30px; position:absolute; bottom:7px; right:-2px; color:#5cbcd7; }

.post_content blockquote cite { border-top:1px dotted #aaa; display:block; padding:20px 0 0 0; font-style:italic; text-align:right; font-size:90%; }

.post_content .wp-caption {
  margin-bottom:24px; background:#f8f8f8; border:1px solid #ccc; padding:5px; max-width:100%;
  -webkit-border-radius:5px; border-radius:5px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

.post_content .wp-caption-text { text-align:center; font-size:12px; font-style:italic; line-height:1.5; margin:9px auto; }

.post_content .wp-caption img[class*="wp-image-"] { display:block; margin:0 auto; }

.gallery { margin-bottom:20px; }

.gallery a img { border: 0 !important; }

.gallery-item { float:left; margin:0 4px 4px 0; overflow:hidden; position:relative; }

.gallery-columns-1 .gallery-item { max-width:100%; }

.gallery-columns-2 .gallery-item { max-width:48%; max-width:-webkit-calc(50% - 4px); max-width:calc(50% - 4px); }

.gallery-columns-3 .gallery-item { max-width:32%; max-width:-webkit-calc(33.3% - 4px); max-width:calc(33.3% - 4px); }

.gallery-columns-4 .gallery-item { max-width:23%; max-width:-webkit-calc(25% - 4px); max-width:calc(25% - 4px); }

.gallery-columns-5 .gallery-item { max-width:19%; max-width:-webkit-calc(20% - 4px); max-width:calc(20% - 4px); }

.gallery-columns-6 .gallery-item { max-width:15%; max-width:-webkit-calc(16.7% - 4px); max-width:calc(16.7% - 4px); }

.gallery-columns-7 .gallery-item { max-width:13%; max-width:-webkit-calc(14.28% - 4px);	max-width:calc(14.28% - 4px); }

.gallery-columns-8 .gallery-item { max-width:11%; max-width:-webkit-calc(12.5% - 4px); max-width:calc(12.5% - 4px); }

.gallery-columns-9 .gallery-item { max-width: 9%; max-width:-webkit-calc(11.1% - 4px); max-width:calc(11.1% - 4px); }

.gallery-columns-10 .gallery-item { max-width: 7%; max-width:-webkit-calc(9.4% - 0px); max-width:calc(9.4% - 0px); }

.gallery-columns-1 .gallery-item:nth-of-type(1n), .gallery-columns-2 .gallery-item:nth-of-type(2n), .gallery-columns-3 .gallery-item:nth-of-type(3n), .gallery-columns-4 .gallery-item:nth-of-type(4n), .gallery-columns-5 .gallery-item:nth-of-type(5n), .gallery-columns-6 .gallery-item:nth-of-type(6n), .gallery-columns-7 .gallery-item:nth-of-type(7n), .gallery-columns-8 .gallery-item:nth-of-type(8n), .gallery-columns-9 .gallery-item:nth-of-type(9n), .gallery-columns-10 .gallery-item:nth-of-type(10n) { margin-right:0; }

.gallery-caption {
  background-color:rgba(0, 0, 0, 0.7); color:#fff; font-size:12px; line-height:1.5; margin:0; max-height:50%;
  opacity:0; padding:6px 8px; position:absolute; bottom:0; left:0; text-align:left; width:100%;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

.gallery-caption:before { content: ""; height:100%; min-height:49px; position:absolute; top:0; left:0; width:100%; }

.gallery-item:hover .gallery-caption { opacity: 1; }

.gallery-columns-7 .gallery-caption, .gallery-columns-8 .gallery-caption, .gallery-columns-9 .gallery-caption, .gallery-columns-10 .gallery-caption { display: none; }

.post_content .wp-smiley { border:0; margin-bottom:0; margin-top:0; padding:0; }

.post_content address { margin:0 0 24px 0; line-height:2.2; }

.post_content pre { border-left:3px solid #ccc; background:#f8f8f8; font-size:12px; margin:0 0 27px 0; line-height:1.7; padding:20px; overflow:auto; }

.post_content .sticky { }

.post_content .mejs-container { margin: 12px 0 25px; }

@media (max-width: 767px) {
  .post_content .s_table{ overflow: auto; white-space: nowrap; margin-bottom: 2em; }
}

#it_archive {
  padding:0 0 150px; width:1150px; margin:0 auto; border-left:1px solid #ddd; border-right:1px solid #ddd; z-index:100;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

body.no_page_nav #it_archive { padding-bottom:80px; }

#marketing_archive_top {
  padding:0 0 1px 0; width:1150px; margin:0 auto; border-left:1px solid #ddd; border-right:1px solid #ddd;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

#marketing_archive_bottom { background:#f6f6f6; }

#marketing_archive_bottom_inner {
  padding:70px 0 150px 0; width:1150px; margin:0 auto; border-left:1px solid #ddd; border-right:1px solid #ddd;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

#marketing_archive_bottom .top_catch { font-weight:600; line-height:1.5; text-align:center; font-size:28px; margin:-5px 0 63px; }

#tools_archive {
  padding:0 0 150px; width:1150px; margin:0 auto;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

body.no_page_nav #tools_archive { padding-bottom:80px; }

.archive_catch { line-height:1.8; margin:0 50px 70px; text-align:center; }

.case_category_group .news_category_list { margin-bottom:50px; }

.case_category_group_label { text-align:center; font-size:14px; font-weight:600; margin:0 0 20px 0; color:#666; }

#case_archive {
  padding:0 0 150px; width:1150px; margin:0 auto; border-left:1px solid #ddd; border-right:1px solid #ddd;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

#case_list { margin:0 60px; }

#case_list .item { position:relative; height:586px; overflow:hidden; }

#case_list .content { height:100%; width:50%; position:absolute; right:0px; top:0px; z-index:2; }

#case_list .content_inner {
  padding:70px 70px 70px;
  position:absolute; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

#case_list .item:nth-child(even) .content { right:auto; left:0px; }

#case_list .title { font-weight:600; line-height:1.5; margin-top:8px; }

#case_list .title a { color:#fff; -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; }

#case_list .title a:hover { opacity:0.5; }

#case_list .title span { display:block; }

#case_list .main_title br { display:none; }

#case_list .sub_title { font-weight:500; }

#case_list .catch { font-weight:600; line-height:1.5; color:#fff; margin-top:40px; }

#case_list .desc { line-height:2.4; color:#fff; margin-top:30px; max-height:7.2em; overflow:hidden; visibility:visible; }

#case_list .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }

#case_list .design_button { margin:37px 0 0 0; text-align:left; }

#case_list .design_button a { text-align:center; }

#case_list .image { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:1; }

#case_archive.inview {
  opacity:0; position:relative; top:40px; z-index:100;
  -webkit-transition: all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition:all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}

#case_archive.inview.animate { opacity:1; top:0; }

#tools_archive.inview {
  opacity:0; position:relative; top:40px; z-index:100;
  -webkit-transition: all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition:all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}

#tools_archive.inview.animate { opacity:1; top:0; }

#tools_archive .entry-loading { text-align:center; width:100%; display:none; height:50px; line-height:50px; font-size:14px; margin-top:50px; font-weight:600; }

#tools_archive .entry-loading.is-show { display: block; }

#tools_archive .entry-more { cursor:pointer; display:block; text-align:center; margin:50px auto 0; width:200px; height:50px; line-height:50px; border:1px solid #ddd; background:#fff;
  -webkit-transition-property:background-color, color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  transition-property:background-color, color; transition-duration:0.2s; transition-timing-function:ease;
}

#tools_archive .entry-more:hover { background:#FAFAFA; }

#tools_archive .entry-more span { display:block; margin:0; font-size:14px; font-weight:500; }

#tools_archive .entry-more.is-hide { display:none; }

.news_list_wrap .project_list .item { opacity:0; position:relative; }

#tools_archive .project_list .item { width:calc(33.333% - 16px); margin:0 24px 60px 0; }

#tools_archive .project_list .item:nth-child(2n) { margin-right:24px; }

#tools_archive .project_list .item:nth-child(3n) { margin-right:0; }

.tools_category_section { margin-bottom:80px; }

.tools_category_heading { text-align:center; font-size:0; margin:0 0 60px; }

.tools_category_heading span { font-weight:600; display:inline-block; font-size:16px; padding:20px 0 0; position:relative; }

.tools_category_heading span:before { content:''; height:3px; width:100%; background:#0070a4; display:block; position:absolute; top:0; }

#it_archive.inview {
  opacity:0; position:relative; top:40px;
  -webkit-transition: all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition:all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}

#it_archive.inview.animate { opacity:1; top:0; }

#related_it {
  margin:60px 0 -46px 0; position:relative;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

#related_it .design_headline2 { font-size:20px !important; margin:0px -40px 70px 0 !important; }

#related_it .post_list {
  margin:0 55px 0 55px;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
}

#related_it .item { width:calc(50% - 19px); margin:0 38px 40px 0; position:relative; }

#related_it .item:nth-of-type(2n) { margin-right:0; }

#related_it .image_wrap { margin:0 0 15px 0; display:block; width:100%; height:176px; position:relative; z-index:1; overflow:hidden; }

#related_it .image { width:100%; height:100% !important; display:block; overflow:hidden; position:relative; z-index:2; }

#related_it .title { font-weight:500 !important; font-size:16px; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible; word-wrap:break-word; word-break:break-all; }

#related_it .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }

#marketing_archive.inview {
  opacity:0; position:relative; top:40px; z-index:100;
  -webkit-transition: all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition:all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}

#marketing_archive.inview.animate { opacity:1; top:0; }

.marketing_group { margin-bottom:64px; }

.marketing_group:last-child { margin-bottom:0; }

.marketing_group_heading { text-align:center; font-size:0; margin:0 30px 32px; }

.marketing_group_heading span { font-weight:700; display:inline-block; font-size:24px; padding:24px 0 0; position:relative; }

.marketing_group_heading span:before { content:''; height:3px; width:100%; background:#0070a4; display:block; position:absolute; top:0; }

.marketing_list {
  margin:0 30px;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  gap:16px;
}

.marketing_list .item { width:calc(33.333% - 11px); background:#fff; border:1px solid #ddd; -webkit-box-sizing:border-box; box-sizing:border-box; }

.marketing_list a { display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-direction:column; -webkit-flex-direction:column; flex-direction:column; width:100%; height:100%; color:inherit; }

.marketing_list .image_wrap { display:block; width:100%; height:220px; overflow:hidden; -ms-flex-shrink:0; -webkit-flex-shrink:0; flex-shrink:0; }

.marketing_list .image { width:100%; height:100% !important; display:block; }

.marketing_list .card_body { padding:28px 28px 30px; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-direction:column; -webkit-flex-direction:column; flex-direction:column; -ms-flex:1; -webkit-flex:1; flex:1; }

.marketing_list .title { font-size:20px; font-weight:700; line-height:1.5; color:#181d26; margin:0 0 12px 0; }

.marketing_list .title .sub_title { display:block; font-size:13px; font-weight:400; color:#666; margin-top:4px; }

.marketing_list .catch { line-height:1.9; font-size:15px; font-weight:400; color:#333840; margin:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }

.marketing_list .more { display:inline-block; -ms-flex-item-align:start; -webkit-align-self:flex-start; align-self:flex-start; margin-top:20px; padding:10px 20px; font-size:0.9em; font-weight:400; color:#fff; background:#0070a4; border-radius:6px; text-decoration:none; white-space:nowrap; -webkit-transition:background 0.2s; transition:background 0.2s; }

.marketing_list a:hover .more { background:#005a87; }

#recent_tools { width:890px; margin:100px auto 0; }

#recent_tools .headline { font-size:22px; text-align:center; margin-bottom:70px; }

#recent_tools .news_list { background:#fff; }

#recent_tools .design_button { margin-top:70px; }

#single_tools_lp { width:100%; }

#single_tools_lp .post_content { width:100%; max-width:100%; padding:0; margin:0; }

#case_banner {
  margin:50px 0 0 0; position:relative;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

#case_banner .design_headline2 { font-size:20px !important; margin:0 -40px 60px 0 !important; }

#case_banner .item a {
  height:200px;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
}

#case_banner .image_wrap { display:block; width:50%; height:200px; position:relative; z-index:1; overflow:hidden; }

#case_banner .image { width:100%; height:100% !important; display:block; overflow:hidden; position:relative; z-index:2; }

#case_banner .content { width:50%; position:relative; }

#case_banner .content_inner {
  padding:0 60px;
  position:absolute; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

#case_banner .title { font-weight:600; line-height:1.5; }

#case_banner .title span { display:block; }

#case_banner .main_title { font-size:24px; color:#0070a4; }

#case_banner .desc { font-size:14px; margin-top:0px; line-height:2.2; color:#000; max-height:6.6em; overflow:hidden; visibility:visible; }

#case_banner .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }

/* ===== 元: css/design-plus.css ===== */

@charset "UTF-8";





@font-face {
    font-family: 'design_plus';
    src: url('../fonts/design_plus.eot?v=1.5');
    src: url('../fonts/design_plus.eot?v=1.5#iefix') format('embedded-opentype'),
         url('../fonts/design_plus.woff?v=1.5') format('woff'),
         url('../fonts/design_plus.ttf?v=1.5') format('truetype'),
         url('../fonts/design_plus.svg?v=1.5#design_plus') format('svg');
    font-weight: normal;
    font-style: normal;
}

.qt_google_map { width:100%; height:550px; background:#ddd; margin:0 0 35px 0; }

.qt_google_map .qt_googlemap_embed { width:100%; height:550px; }

.qt_google_map .pb_googlemap_custom-overlay-inner { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: -94px; left: -40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 80px !important; height: 80px !important; border-radius: 50%; font-size: 18px; text-align: center; }

.qt_google_map .pb_googlemap_custom-overlay-inner::after { display: block; position: absolute; right: 0; bottom: -15px; left: 0; width: 0; height: 0; margin: auto; border-width: 16px 5px 0 5px; border-style: solid; content: ""; }

@media screen and (max-width: 750px) {
  .qt_google_map { height:320px; }
  .qt_google_map .qt_googlemap_embed { height:320px; }
}

.cardlink { word-wrap:break-word; max-width:100%; margin:15px 0 2em !important; padding:20px; border:1px solid #ddd; background:#fafafa; }

.cardlink_thumbnail { margin-right:25px; float:left; }

.cardlink_timestamp { display:inline; margin:0; padding:0; color:#222; font-size:12px; line-height:1; vertical-align:top; }

.cardlink_excerpt span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }

@media screen and (max-width: 567px) {
  .cardlink { padding:15px 11px 12px 13px; }
}

.post_content .sf-steps { margin:30px 0 10px; }

.post_content .sf-step { position:relative; padding:0 0 34px 70px; }

.post_content .sf-step:not(:last-child):before {
  content:""; position:absolute; left:23px; top:10px; bottom:0;
  width:2px; background:#dde2e8;
}

.post_content .sf-step-num {
  position:absolute; left:0; top:0; width:48px; height:48px;
  border-radius:50%; background:#2980b9; color:#fff;
  font:bold 18px/48px Arial, sans-serif; text-align:center;
}

.post_content .sf-step-title { margin:6px 0 12px; font-size:17px; font-weight:bold; color:#1a1a1a; }

.post_content .sf-step-body ul { margin:0; padding-left:1.2em; }

.post_content .sf-step-body li { margin-bottom:5px; line-height:1.75; }

.post_content .sf-step-body p { margin:0 0 10px; line-height:1.8; }

@media (max-width:767px) {
  .post_content .sf-step { padding-left:56px; padding-bottom:28px; }
  .post_content .sf-step-num { width:40px; height:40px; font:bold 16px/40px Arial, sans-serif; }
  .post_content .sf-step:not(:last-child):before { left:19px; }
}

.post_content .sf-cards { display:flex; flex-wrap:wrap; gap:24px; margin:30px 0; }

.post_content .sf-cards .sf-card {
  box-sizing:border-box; flex:1 1 calc(50% - 12px);
  padding:24px 26px; border:1px solid #e3e8ee; border-radius:4px;
}

.post_content .sf-card p { margin:0; line-height:1.8; }

.post_content .sf-card-title { margin:0; font-size:16px; font-weight:bold; color:#1a1a1a; line-height:1.45; }

.post_content .sf-card--point { background:#f7f9fb; }

.post_content .sf-card--point .sf-card-head { display:flex; align-items:center; gap:13px; margin-bottom:12px; }

.post_content .sf-card-icon {
  flex:none; width:42px; height:42px; border-radius:9px;
  display:inline-flex; align-items:center; justify-content:center;
  background:#eaf3fa; color:#2980b9;
}

.post_content .sf-card-icon svg { width:23px; height:23px; display:block; }

.post_content .sf-card--point > .sf-card-title { margin-bottom:10px; }

.post_content .sf-card--reason { background:#fff; border-left:4px solid #2980b9; }

.post_content .sf-card--reason .sf-card-title { margin-bottom:10px; }

.post_content .sf-cards--3 .sf-card { flex-basis:calc(33.333% - 16px); }

.post_content .sf-card--link { background:#fff; display:flex; flex-direction:column; }

.post_content .sf-card--link .sf-card-title { margin-bottom:10px; }

.post_content .sf-card--link p { margin-bottom:16px; }

.post_content .sf-card-more { margin-top:auto; font-weight:bold; color:#2980b9; }

.post_content .sf-card-more:hover { color:#3a91c9; }

@media (max-width:767px) {
  .post_content .sf-cards { gap:16px; }
  .post_content .sf-cards .sf-card { flex-basis:100%; padding:20px; }
  .post_content .sf-cards--3 .sf-card { flex-basis:100%; }
}

.post_content a.sf-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:15px 38px; border-radius:6px;
  background:#2980b9; color:#fff; font-size:16px; font-weight:bold; line-height:1.4;
  text-decoration:none; box-shadow:0 2px 6px rgba(41,128,185,.25);
  transition:all .2s ease;
}

.post_content a.sf-btn:hover, .post_content a.sf-btn:focus {
  background:#3a91c9; color:#fff; text-decoration:none;
  box-shadow:0 5px 14px rgba(41,128,185,.35); transform:translateY(-1px);
}

.post_content a.sf-btn svg { width:18px; height:18px; display:block; }

.post_content .sf-cta-inline { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin:24px 0; }

.post_content a.sf-textlink { font-weight:bold; color:#2980b9; text-decoration:none; }

.post_content a.sf-textlink:hover { color:#3a91c9; text-decoration:underline; }

.post_content .sf-cta {
  margin:36px 0; padding:30px 28px; border-radius:6px;
  background:#f0f6fb; border:1px solid #d6e6f2; text-align:center;
}

.post_content .sf-cta-text { margin:0 0 18px; font-size:16px; font-weight:bold; color:#1a1a1a; line-height:1.7; }

@media screen and (min-width:1300px) {
  body.single-it #main_contents,
  body.single-marketing #main_contents { width:1240px; }
  body.single-it #main_col,
  body.single-marketing #main_col { width:860px; }
  body.single-it #main_contents:after,
  body.single-marketing #main_contents:after { left:900px; }
  body.single-it #bread_crumb ul,
  body.single-marketing #bread_crumb ul { width:1240px; }
}
