@charset "utf-8";
/*
Theme Name: Key-point Original
Theme URI: http://www.key-p.com/
Author: キー・ポイント株式会社
Author URI: http://www.key-p.com/
Description:
Version: 1.5
*/
-------------------------------------------------------------- */
/* グローバルナビ改修(2025年12月) */
#header .menu-content .menu-icon { display:none; }
#header .menu-content .menu { width:100%; position:relative; }
#header .menu-content .menu ul { position:relative; float:right; display:flex; gap:30px; list-style:none; margin:0; padding:30px 0 0; }
#header .menu-content .menu li { margin:0; padding:0px; font-weight:bold; }
#header .menu-content .menu li:last-child { margin-bottom:0; }
#header .menu-content .menu a { text-decoration:none; color:#1ac8d7; font-size:110%; transition:color 0.3s; }
#header .menu-content .menu a:hover { text-decoration:underline; }
/* Watasoon コラム用style(2025年12月)
----------------------------------------------- */
h3.tit-column { font-size:140%; font-weight:normal; letter-spacing:0.05em; border-bottom:1px solid #434343; padding:14px 0px;  }
.column-contents { padding-top:0 !important; padding-left:0 !important; padding-right:0 !important; background-image:linear-gradient(#f5fdfe, #ffffff 50%); }
.column-contents .inner-wrap { padding-left:10px; padding-right:10px; }
.column-contents .inner-wrap .main-news-title { line-height:140%; }
.column-contents .inner-wrap .content-single-thumbnail { padding-bottom:10px; }
.column-contents .inner-wrap .content-single-thumbnail img { width:100%; object-fit:cover; border-radius:5px; height:230px; }
.column-contents .inner-wrap .content-shingle-column .time { text-align:right; padding:5px 0; }
.column-contents .inner-wrap .content-shingle-column .column-tag { display:flex; gap:10px; }
.column-contents .inner-wrap .column-content h2 { font-size:160%; font-weight:bold; border-bottom:1px solid #dbdbdb; padding:20px 0 5px; margin:0 0 10px; }
.column-contents .inner-wrap .column-content p { font-size:120%; line-height:150%; padding:0 0 30px; box-sizing:border-box; }
.column-contents .inner-wrap .column-content h3 { background:#1ac8d7; color:#fff; font-size:140%; font-weight:bold; border-radius:25px; padding:10px 20px; margin:10px 0; }
.column-contents .inner-wrap .column-content h4 { text-align:left; border-left:3px solid #1ac8d7; font-size:140%; font-weight:bold; padding:5px 0 5px 10px; margin:10px 0; }
.column-contents .inner-wrap .column-content h5 { text-align:left; border:1px solid #dbdbdb; font-size:120%; font-weight:bold; border-radius:25px; padding:10px 20px; margin:10px 0; }
.column-btn-back { text-align:right; padding:10px; }
.column-title { padding-bottom:10px; }
.flex-column { display:flex; }
.flex-column .main-contents { width:78%; }
.flex-column .column-sidemenu { width:22%; }
.business_column_elem { display:flex; flex-wrap:wrap; width:100%; }
.business_column_elem .pagination { font-size:120%; font-weight:bold; }
.business_column_elem .pagination a { padding-left:10px; }
.top_column { background:#f2fafe; margin:0px 0 20px; }
.top-column-btn { padding-bottom:40px; }
.column_box { width: calc(50% - 20px); padding:20px; background:#fff; border:1px solid #f2f2f2; border-radius:4px; box-sizing:border-box; padding:0 0 30px; margin:10px; align-items:center; color:#323232; font-size:100%; line-height:140%; letter-spacing:0.1em; box-shadow:0px 1px 7px 0px #ededed; }
.column_box-recommend { width: calc(100% - 20px); }
.column_box a:hover { color:#fff; }
.column-thumbnail { width:100%; overflow:hidden; }
.top_column .column-thumbnail img { width:100%; height:170px; object-fit:cover; object-view-box:inset(0px 0px 0px 0px); border-radius:4px 4px 0 0; transition: transform .6s ease; }
.column-thumbnail img { width:100%; height:150px; object-fit:cover; object-view-box:inset(0px 0px 0px 0px); border-radius:4px 4px 0 0; transition: transform .6s ease; }
.column_box-recommend .column-thumbnail img { height:220px; }
.column-thumbnail a:hover img { transform: scale(1.1); }
.column_box .column_contents { padding:15px 15px 40px; box-sizing:border-box; }
.column_box .column_contents .date { text-align:left; font-size:100%; padding:0 0 10px; margin:0; }
.column_box .column_contents h4 { text-align:left; font-size:120%; line-height:150%; font-weight:bold; background:none; color:#232323 !important; border-radius:0 !important; width:auto; overflow:hidden; display:-webkit-box; text-overflow:ellipsis; -webkit-box-orient:vertical; -webkit-line-clamp:2; max-height:42px !important; border:none !important; padding:0 0 10px !important; margin:0 0 3px; }
.column_box .column_contents h4 a { background:none; color:#232323 !important; font-size:100% !important; }
.column_box .column_contents h4 a:hover { text-decoration:underline; }
.column_box .column_contents .tag ul { float:left; display:block; gap:10px; }
.column_box .column_contents .tag li { display:inline-block; list-style:none; line-height:200%; }
.column_box .column_contents .tag li a { font-size:100%; font-weight:bold; padding:5px 12px 5px; margin:0; color:#fff !important; background:#1eb7c6; text-decoration:none; border-radius:25px; line-height:240%; }
.column_box .column_contents .tag li a:hover { background:#7dbfc6; color:#fff; }
.column-pager { margin-top:30px; margin-right:20px; font-size:14px; font-weight:bold; text-align:right; font-family: "ヒラギノ角ゴ Pro", Helvetica, Arial, sans-serif; }
#sidebar { width:23%; padding:10px; margin:0 0 0 20px; box-sizing:border-box; background:#fff; box-shadow: 5px 5px 20px -5px rgba(15, 79, 129, 0.1); position:relative; top:15px; }
#sidebar .basic-list2 { border:none; background:#fff; padding:0; margin:0; }
#sidebar .sidenav-ul-bg { width:100%; background:#f7f9ff; border-radius:10px; padding:20px 10px; box-sizing:border-box; }
#sidebar .basic-list2 h3 { color:#434343; font-weight:bold; background:#b3dadd; padding:10px; border-radius:10px; }
#sidebar .basic-list2 ul { padding:5px 10px 0px; box-sizing:border-box; list-style-type:none; }
#sidebar .basic-list2 li { padding:20px 0 5px; border-bottom:1px solid #dbdbdb; }
#sidebar .basic-list2 li a { text-decoration:none; background:none; margin:0; padding:0; }
.responsive-br { display:none; }
/*メインビジュアルアニメーション設定 */
.gradation01 { display:block; position:relative; width:100%; background:#fff; padding:0; margin:0; }
.gradation01 h2 { position:relative; top:10px; color:#232323; font-size:180%; font-weight:bold; letter-spacing:0.05em; text-align:center; padding:0; margin:0; letter-spacing:0.1em; line-height:60%; z-index:5; background-blend-mode:multiply; }
.gradation01 h2 span { font-family:'Times New Roman', Times, serif; font-weight:normal; font-size:260%; color:rgba(255,255,255,0.3); letter-spacing:0.02em; }
.gradation01 .gradation-bg { position:relative; overflow:hidden; width:100%; height:20vh; background:rgba(255,255,255,0.6); box-shadow:0px 2px 0px rgba(219, 219, 219, 0.2); padding:4% 0% 0%; }
.item { position:absolute; top:50%; left:50%; width:50%; height:50%; transform-origin:0 0; animation-name:rotate-item; animation-timing-function:linear; animation-iteration-count:infinite; }
.item-01 { z-index:3; animation-duration:15s; }
.item-02 { z-index:2; left:45%; animation-duration:50s; animation-direction:reverse; }
.item-03 { z-index:4; left:40%; animation-duration:8s; }
.item-04 { z-index:1; animation-duration:10s; }
.round { position:relative; border-radius:50%; }
.round-01 { z-index:3; top:0%; width:18vw; height:18vw; background:#1eb7c6; filter:blur(120px); animation:flash 5s linear infinite; }
.round-02 { top:-20%; width:30vw; height:30vw; background-color:#4fbba7; filter:blur(100px); animation:flash 8s linear infinite; }
.round-03 { top:60%; width:5vw; height:5vw; background-color:#fbb733; filter:blur(80px); animation:flash 3s linear infinite; }
.round-04 { top:-70%; left:-60%; width:26vw; height:26vw; background-color:#1eb7c6; filter:blur(160px); animation:flash 10s linear infinite; }
@keyframes rotate-item {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@keyframes flash {
	0%, 100% { opacity: 0.8; }
	50% { opacity: 0.5; }
}
@media screen and (max-width:800px) {
	/* グローバルナビ改修(2025年12月) */
    #header .menu-content .menu-wrapper { position:fixed; right:0; }
    #header .menu-content .menu-icon { display:block; width:28px; height:24px; position:relative; top:20px; right:10px; cursor:pointer; z-index:9; display:inline-block; border-radius:3px; background:rgba(255,255,255,0.7); padding:0px 5px 15px; }
    #header .menu-content .menu-icon span { display:block; height:1px; margin:9px 0; background:#333; border-radius:2px; transition:0.4s; }
    #header .menu-content #menu-toggle:checked + .menu-icon span:nth-child(1) { transform:translateY(10px) rotate(45deg); }
    #header .menu-content #menu-toggle:checked + .menu-icon span:nth-child(2) { opacity:0; }
    #header .menu-content #menu-toggle:checked + .menu-icon span:nth-child(3) { transform:translateY(-10px) rotate(-45deg); }
    #header .menu-content .overlay { position:fixed; inset:0; background:rgba(0,0,0,0.5); opacity:0; pointer-events:none; transition:0.4s; z-index:7; }
    #header .menu-content #menu-toggle:checked ~ .overlay { opacity:1; pointer-events:auto; }
    #header .menu-content .menu { position:fixed; top:0; right:-250px; width:250px; height:100%; background:rgba(255,255,255,1); box-shadow:2px 0 8px rgba(0,0,0,0.2); transition:right 0.4s ease; z-index:8; overflow-y:scroll; }
    #header .menu-content #menu-toggle:checked ~ .menu { right:0; }
    #header .menu-content .menu ul { display:block; gap:0; float:none; list-style:none; padding:65px 20px 30px; }
    #header .menu-content .menu li { margin:16px 0; padding:0 0 30px; font-weight:bold; }
    #header .menu-content .menu li:last-child { margin-bottom:0; }
    #header .menu-content .menu a { text-decoration:none; color:#1ac8d7; font-size:124%; transition:color 0.3s; }
    #header .menu-content .menu a:hover { text-decoration:underline; }
	.gradation01 h2 { font-size:130%; top:15px; }
	.gradation01 h2 span { font-size:220%; }
	.gradation01 .gradation-bg { height:10vh; }
	.item { position:absolute; top:50%; left:50%; width:50%; height:50%; transform-origin:0 0; animation-name:rotate-item; animation-timing-function:linear; animation-iteration-count:infinite; }
	.item-01 { z-index:3; animation-duration:15s; }
	.item-02 { z-index:2; left:45%; animation-duration:50s; animation-direction:reverse; }
	.item-03 { z-index:4; left:40%; animation-duration:8s; }
	.item-04 { z-index:1; animation-duration:10s; }
	.round { position:relative; border-radius:50%; }
	.round-01 { z-index:3; top:0%; width:18vw; height:18vw; background:#1eb7c6; filter:blur(40px); animation:flash 5s linear infinite; }
	.round-02 { top:-20%; width:30vw; height:30vw; background-color:#4fbba7; filter:blur(100px); animation:flash 8s linear infinite; }
	.round-03 { top:60%; width:5vw; height:5vw; background-color:#fbb733; filter:blur(20px); animation:flash 3s linear infinite; }
	.round-04 { top:-70%; left:-60%; width:26vw; height:26vw; background-color:#1eb7c6; filter:blur(60px); animation:flash 10s linear infinite; }
	.flex-column { display:block; }
	.flex-column .main-contents { width:100%; }
	.flex-column .column-sidemenu { display:none; }
	.business_column_elem { display:block; flex-wrap:nowrap; width:100%; padding:0; }
	.column_box { width: calc(100% - 20px); padding-bottom:10px; }
	.column_box .responsive-br { display:block; }
	.column-thumbnail img { height:100px !important; }
	.column_box-recommend { width: calc(100% - 20px); }
	.column_box-recommend .column-thumbnail img { height:130px !important; }
	.column_box-recommend .responsive-br { display:block; }
	.column_box .column_contents .date { font-size:100%; padding:0 0 5px; line-height:140%; }
	.top_column { background:none; margin:0px 0 20px; }
	.top_column .business_column_elem { display:block; flex-wrap:nowrap; width:100%; }
	.top_column .business_column_elem .column_box { width: calc(100% - 20px); padding-bottom:10px; }
	.top_column .business_column_elem .column-thumbnail img { height:130px !important;}
	.column-thumbnail img { width:100%; height:130px !important; object-fit:cover; object-view-box:inset(0px 0px 0px 0px); border-radius:4px 4px 0 0; transition: transform .6s ease; }

	.top-column-btn { padding-bottom:40px; }
	.column_box .column_contents h4 { text-align:left; font-size:120%; line-height:150%; font-weight:bold; background:none; color:#232323 !important; border-radius:0 !important; width:auto; overflow:hidden; display:-webkit-box; text-overflow:ellipsis; -webkit-box-orient:vertical; -webkit-line-clamp:2; max-height:42px !important; border:none !important; padding:0 0 10px !important; margin:0; }
	.column_box .column_contents h4 a { text-decoration:underline; font-size:90%; line-height:140%; }
	.column_box .column_contents .tag { margin-top:5px; }
	.column-sidemenu #sidebar { display:none; }
	.column-contents .inner-wrap .content-single-thumbnail img {height:130px; }
	.column-contents .inner-wrap .column-content {padding:0 15px 0px; box-sizing:border-box; }
	.column-btn-back { border-top:1px solid #dbdbdb; padding:10px; }
}