@charset "UTF-8";
/*
Project:	  Assembly
Author:       MOMOWORK
Author URI:   https://momowork.com
Description:  Assembly Color
Created:      2025-8-15
Updated:      2025-10-19
Version:      1.0
Domain:       https://assembly-jp.com

License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
*/

/* Reset */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,menu,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;box-sizing:border-box;vertical-align:baseline;}
::selection{color:#fff;background:#19324B;}
html{scroll-behavior:smooth;}
ul{list-style:none;}
.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0;}
img{max-width:100%;height:auto;}
a:hover img{opacity:0.6;transition:opacity 0.3s ease;}
hr{border:none;border-top:1px dashed rgba(0,0,0,0.3);margin:10px auto;width:80%;}

/* Fonts */
html{line-height:1.6;font-size:16px;}
body{font-family:'Helvetica Neue','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:1rem;line-height:1.6;color:#333;}
p,li{font-size:clamp(0.875rem,2.5vw,1rem);line-height:1.6;}
small{font-size:clamp(0.8rem,2vw,0.9rem);line-height:1.5;}
a{text-decoration:none;}
input,textarea{font-size:1rem;line-height:1.6;}
button{font-size:1.1em;font-weight:bold;line-height:1.6;padding:0.6em 1.2em;}
h1,h2,h3,h4,h5,h6{clear:both;font-weight:700;}
h1{font-size:clamp(2rem,5vw,2.5rem);line-height:1.3;margin:1em 0;}
h2{font-size:clamp(1.5rem,4vw,2rem);line-height:1.35;margin:0.8em 0;}
h3{font-size:clamp(1.25rem,3.5vw,1.5rem);line-height:1.4;margin:0.6em 0;}
h4{font-size:clamp(1.125rem,3vw,1.25rem);line-height:1.45;margin:0.5em 0;}
h5{font-size:clamp(1rem,2.5vw,1.125rem);line-height:1.5;margin:0.5em 0;}
h6{font-size:clamp(0.875rem,2vw,1rem);line-height:1.5;margin:0.4em 0;}
.entry_content .has-small-font-size{font-size:clamp(0.875rem,2vw,1rem);line-height:1.4;}
.entry_content .has-normal-font-size{font-size:clamp(1rem,2.5vw,1.125rem);line-height:1.6;}
.entry_content .has-large-font-size{font-size:clamp(1.25rem,3vw,1.5rem);line-height:1.8;}
.entry_content .has-x-large-font-size{font-size:clamp(1.5rem,4vw,2rem);line-height:2;}
.entry_content .has-xx-large-font-size{font-size:clamp(2rem,5vw,2.5rem);line-height:2.2;}
.entry_content strong,.entry_content .has-bold-text{font-weight:700;}
.entry_content .has-italic-text{font-style:italic;}
.entry_content .has-underline-text{text-decoration:underline;}
.entry_content .wp-block-button .wp-block-button__link{font-weight:700;}
.entry_body .wp-block-gallery .wp-block-image figcaption,.entry_body .wp-block-gallery .wp-element-caption{font-size:0.9em;}
@media screen and (max-width:768px){p,li{font-size:clamp(1rem,4vw,1.125rem);}}
.entry_content blockquote{padding:1em 1.2em;margin:1em 0;background:#f7f7f7;border-radius:10px;}

/* Colors */
a{color:#00afcc;}
a:hover{color:#555;}
.red,.red_b{color:#e70012;}
.red_b{font-weight:700;}
.blue,.blue_b{color:#69c;}
.blue_b{font-weight:700;}
.green{color:#696;}
.green_b{font-weight:700;}

/* Tables */
table{max-width:100%;margin:20px 0;border-collapse:collapse;}
td,th{padding:8px 12px;border:1px solid #ccc;vertical-align:top;}
.list_table tr:hover{background-color:#f0f8ff;transition:background-color 0.3s ease;}
.list_table,.list_table_02{width:100%;background:#fff;border-collapse:collapse;}
.list_table th.t_top{border-top:4px solid #b3b3b3;}
.list_table td.t_top{border-top:4px solid #19324B;}
.list_table th{background:#f7f7f7;text-align:center;}
.list_table td{text-align:left;}
.td_r{text-align:right;}
.t_w_15{width:15%;}
.t_w_20{width:20%;}
.t_w_25{width:25%;}
.t_w_30{width:30%;}
.t_w_35{width:35%;}

/* Lists */
.list_li a{display:block;padding:5px 10px;background:transparent;border-top:1px solid #ccc;transition:.3s;}
.list_li a:hover{background:#f0f0f0;}

/* Hamburger */
.hamburger-overlay { position: fixed !important; top: 20px !important; right: 20px !important; z-index: 1000 !important; width: 50px !important; height: 50px !important; border: none; background-color: #19324B !important; border-radius: 50% !important; display: flex !important; justify-content: center !important; align-items: center !important; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0,0,0,0.3); border: 2px solid #fff; }
.hamburger-overlay__line { position: absolute; left: 11px; width: 26px; height: 2px; background-color: #eee; transition: all .6s; }
.hamburger-overlay__line:nth-of-type(1) { top: 14px; }
.hamburger-overlay__line:nth-of-type(2) { top: 23px; }
.hamburger-overlay__line:nth-of-type(3) { top: 32px; }
.hamburger-overlay.active .hamburger-overlay__line { background-color: #fff; }
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) { transform: translateY(9px) rotate(-45deg); }
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) { opacity: 0; }
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) { transform: translateY(-9px) rotate(45deg); }
.nav-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0,0,0,.95); visibility: hidden; opacity: 0; transition: all .6s; z-index: 900; }
.nav-overlay.active { visibility: visible; opacity: 1; }
.nav-overlay__content { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; text-align: center; }
.nav-overlay__list { margin: 0; padding: 0; list-style: none; }
.nav-overlay__item { opacity: 0; transform: translateY(20px); transition: all .6s; }
.nav-overlay.active .nav-overlay__item { opacity: 1; transform: translateY(0); }
.nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }
.nav-overlay__link { display: inline-block; padding: 20px; color: #fff !important; font-size: 24px; text-decoration: none; transition: color .3s; }
.nav-overlay__link:hover { color: #00afcc !important; }


/* Forms */
input[type=text], input[type=email], input[type=password], input[type=number], input[type=tel], input[type=url], textarea { width: 100%; margin: 5px 0; padding: 0.5em; border: 2px solid #e1e3e8; border-radius: 5px; background: #eee; box-sizing: border-box; font-size: clamp(1.125rem, 4vw, 1.25rem); }
input:focus, textarea:focus { border-color: #56a9ff; outline: 0; background: #fff; }
.post-password-form { max-width: 300px; margin: 0 auto; padding: 0; }
.post-password-form input[type=submit] { background: linear-gradient(to right, #5bbee5, #52ddae); border-radius: 5px; }
.wpcf7-submit { background: #00afcc; color: #fff; border: none; padding: 14px 20px; border-radius: 4px; width: 80%; display: block; margin: 10px auto; cursor: pointer; transition: 0.3s; box-sizing: border-box; }
.wpcf7-submit:hover { background: #2980b9; }

/* Layout */
#main{width:100%;padding:0;margin:0;}
#contents,#aside{width:90%;max-width:800px;margin:20px auto;}
#aside{text-align:center;}

/* Header */
#main_site_header {width:100%;display:flex;justify-content:center;align-items:center;padding:10px 0;position:fixed;top:0;z-index:800;}
#main_site_header h1 {color:#555;text-align:center;margin:0;}
#main_site_header a {color:#555;}
#main_site_header a:hover {color:#eee;}
#main_site_header h1 a {display:block;width:50px;height:50px;background:url('/common/image/symbol-50.png') no-repeat center;background-size:contain;text-indent:-9999px;overflow:hidden;margin:10px;}
body.home #main_site_header {position:static;}
/* Fixed header spacer */
body:not(.home) #contents {margin-top:100px;}
body:not(.home) .main_search {margin-top:100px;}


/* Footer */
footer{max-width:100%;display:block;text-align:center;margin:0;padding:10px;background:#fff;}
footer #logo_footer{cursor:pointer;width:auto;height:40px;margin:0 auto 10px auto;}
footer small{display:block;margin:0 auto;padding-top:5px;color:#999;}
@media(max-width:768px){footer small{font-size:10px;}}


/* Home */
#window{height:100vh;display:flex;justify-content:center;align-items:center;background:#19324B;}
#window .logo{max-width:30%;height:auto;}
@media screen and (max-width:1024px){#window .logo{max-width:300px;}}

/* Search */
.main_search{margin:0;padding:0;}
.searchform{max-width:90%;margin:2em auto;display:flex;justify-content:center;position:relative;}
.searchfield{box-sizing:border-box;width:100%;padding:0.75em;border:1px solid #bbb;border-radius:4px;background:#efefef;}
.searchsubmit{position:absolute;top:50%;right:0.75em;display:block;padding:0;cursor:pointer;transform:translateY(-50%);color:#000;border:none;background:transparent;}
.searchsubmit:hover{opacity:0.6;}

/* Article */
.entry_content{margin:20px 0;color:#333;font-weight:400;}
.entry_body{margin:20px 0;color:#333;}
.entry_body a:visited{color:#555;}
.entry_content h1{font-weight:900;}
.entry_content h2{margin:1.5em 0 0.2em 0;padding:0.3em 0;}
.entry_content h3{margin:1.2em 0;padding:0.3em;text-align:center;border-bottom:1px solid #ccc;}
.entry_content h4{margin:1em 0 0.5em 0;padding:0.25em 0.5em;position:relative;}
.entry_content h4::before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:#19324B;border-radius:2px;}
.entry_content h5{margin:0.8em 0 0.4em 0;padding:0.3em;}
.entry_content h6{margin:0.6em 0 0.3em 0;padding:0.3em;}
.entry_date{text-align:right;margin:0 0 10px 0;color:#999;font-size:0.875rem;}
.entry_nav{display:flex;gap:1em;margin-top:2em;justify-content:space-between;}
.entry_page { display: flex; justify-content: flex-end; gap: 1em; margin-top: 2em; }
.prev-post a, .next-post a, .news-post a { display: inline-block; padding: 0.5em 1em; border-radius: 6px; background: #f7f7f7; text-decoration: none; color: #333; font-size: 0.9em; transition: all 0.3s; } 
.prev-post a:hover,.next-post a:hover,.news-post a:hover{background:#e0e0e0;transform:translateY(-2px);}
.entry_body .wp-block-image{margin:1em 0;border-radius:10px;overflow:hidden;box-shadow:none !important;}
.entry_body .wp-block-image img{display:block;border-radius:10px;box-shadow:none !important;transition:0.3s;}
.entry_body .wp-block-image a:hover img {opacity:0.6;transition:opacity 0.3s ease;}
.entry_body .wp-block-gallery{margin:1.5em 0;gap:1.5em;}
.entry_body p{margin:1em 0;}
.entry_body p+p{margin-top:1em;}
.entry_body p+iframe,.entry_body p+.wp-block-button{margin-top:1em;}
iframe+p,.wp-block-button+p{margin-top:1em;}
.entry_body hr{height:1px;width:80%;margin:2em auto;border:none;background-color:#ccc;}
ul.wp-block-list{list-style-type:disc;padding-left:1.5em;}
ul.wp-block-list>li{list-style-type:disc;}
ul.wp-block-list>li::marker{font-size:1rem;}
.entry_footer { border-top: 1px dotted #bbb; padding-top: 12px; font-size: 0.9em; color: #555; }
.entry_pankuzu { margin-bottom: 8px; } 
.breadcrumb { font-size: 0.85em; color: #777; } 
.breadcrumb a { color: #666; text-decoration: none; } 
.breadcrumb a:hover { text-decoration: underline; color: #333; } 
.entry_category { margin: 6px 0; font-size: 0.85em; color: #666; } 
.entry_category .label { font-weight: bold; color: #555; margin-right: 4px; } 
.entry_category a { color: #337ab7; text-decoration: none; } 
.entry_category a:hover { text-decoration: underline; color: #23527c; } 
.entry_tag { margin: 6px 0 10px 0; font-size: 0.8em; } 
.entry_tag a { display: inline-block; margin: 0 4px 4px 0; padding: 3px 8px; background: #f2f2f2; border-radius: 5px; color: #555; text-decoration: none; transition: background 0.3s; } 
.entry_tag a:hover { background: #e4e4e4; } 
.entry_sns{text-align:center;}
.entry_sns li{display:inline-block;width:80px;margin:0 5px;transition:0.3s;}
.entry_sns li:hover{transform:scale(1.1);}
.wp-block-button__link:visited {color: #fff !important;}
.wp-block-button__link:hover {color: #fffae5 !important;}
.wp-block-file__button.wp-element-button { padding: 8px 16px; border-radius: 4px; font-weight: 600; transition: background-color 0.3s ease, transform 0.2s ease; }
.wp-block-file__button.wp-element-button:hover { background-color: #33c6df; transform: translateY(-1px); }

/* Aside */
#aside.widget_area{display:flex;flex-direction:column;align-items:center;gap:20px;flex-wrap:wrap;}
#aside.widget_area .widget{width:auto;display:flex;flex-direction:column;align-items:center;}
#aside.widget_area .widget_nav_menu .menu{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:0;justify-content:center;}
#aside.widget_area .widget_nav_menu .menu li{margin:0;}

#aside.widget_area .widget_nav_menu .menu li a{display:block;padding:5px 10px;background-color:#19324B;border:2px solid #fff;border-radius:4px;transition:all 0.3s ease;color:#fff;font-weight:600;text-decoration:none;}
#aside.widget_area .widget_nav_menu .menu li a:hover{background-color:#D9E8F2;border:2px solid #19324B;color:#000;}

.wp-block-archives-dropdown{display:flex;justify-content:center;width:100%;margin-top:10px;}
.wp-block-archives-dropdown select{padding:5px 10px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;}
@media screen and (max-width:768px){#aside.widget_area{flex-direction:column;gap:10px;align-items:center;}#aside.widget_area .widget{width:100%;align-items:center;}#aside.widget_area .widget_nav_menu .menu{flex-direction:row;flex-wrap:wrap;gap:8px 5px;justify-content:center;}#aside.widget_area .widget_nav_menu .menu li{margin:0;flex-grow:0;flex-shrink:0;text-align:center;}#aside.widget_area .widget_nav_menu .menu li a{white-space:nowrap;width:100%;box-sizing:border-box;padding:5px 8px;}.wp-block-archives-dropdown{margin-top:5px;}}

/* Scroll Down Button */
.scroll-down-btn{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:clamp(1.25rem,3vw,1.75rem);animation:bounce 2s infinite;z-index:10;}
.scroll-down-btn a{display:inline-block;text-decoration:none;color:#fff;font-weight:bold;}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0);}40%{transform:translateX(-50%) translateY(-10px);}60%{transform:translateX(-50%) translateY(-5px);}}

/* Loader / Infinite Scroll */
.page-load-status{text-align:center;padding:20px;color:#666;}
.loader{display:none;}.is-loading .loader{display:block;}
.end-of-content{display:none;}.is-last .end-of-content{display:block;}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:20px 0;}
.pagination ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;}
.pagination li{display:inline-block;}
.pagination a,.pagination span{display:inline-block;padding:4px 8px;border:1px solid #ddd;text-decoration:none;color:#333;border-radius:3px;}
.pagination a:hover{background:#f0f0f0;}
.pagination .current{background:#333;color:#fff;border-color:#333;}
.pagination .next{padding:4px 10px;background:#19324B;color:#fff;border-radius:3px;text-decoration:none;}
.pagination .next:hover{background:#005f8d;}
.fade-up-init{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease;}
.fade-up-show{opacity:1;transform:translateY(0);}

/* Effects / Fade-in */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity 0.8s,transform 0.8s;}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* YouTube Responsive */
.wp-block-embed.is-provider-youtube,.wp-block-embed__wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;}
.wp-block-embed__wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;}

/* NOOKBBS */
.nookbbs-entry { position: relative; width: 95%; max-width: 800px; margin: 1.5em auto; padding: 1em; background: #eee; border-radius: 12px; box-shadow: 0 2px 6px rgba(0,0,0,.08); overflow-wrap: break-word; box-sizing: border-box; }
.nookbbs-entry::after { content: ""; position: absolute; top: 20px; right: -15px; width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-left: 15px solid #eee; }
.nookbbs-date { display: block; color: #888; margin-bottom: .3em; font-size: 0.9rem; }
.nookbbs-text { font-size: clamp(1.1rem, 5vw, 1.4rem); line-height: 1.7; color: #333; }
.nookbbs-entry a { color: #19324B; text-decoration: underline; transition: color 0.3s; }
.nookbbs-entry a:hover { color: #0085a1; }
.nookbbs-entry img { max-width: 100%; border-radius: 8px; margin-top: 0.5em; }

@media (max-width:768px) {
  .nookbbs-entry::after { top: auto; right: auto; bottom: -15px; left: 50%; transform: translateX(-50%); border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 15px solid #eee; border-bottom: 0; }
}

/* Buttons */
.btn,.wa_btn,.sp_btn,.ex_btn{display:block;width:90%;max-width:600px;margin:0 auto 12px auto;text-align:center;padding:12px;border-radius:10px;font-weight:bold;text-decoration:none;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 12px rgba(0,0,0,0.2);color:#fff;}
.btn{background:linear-gradient(145deg,#00afcc,#007f99);} 
.btn:hover{background:linear-gradient(145deg,#007f99,#00afcc);box-shadow:0 6px 16px rgba(0,0,0,0.3);transform:translateY(-2px);}
.wa_btn{background:linear-gradient(145deg,#a12a2a,#ff4013);} 
.wa_btn:hover{background:linear-gradient(145deg,#ff4013,#a12a2a);box-shadow:0 6px 16px rgba(0,0,0,0.3);transform:translateY(-2px);}
.sp_btn{background:#b0b0b0;color:#222;} 
.sp_btn:hover{background:#8a8a8a;color:#fff;box-shadow:0 5px 14px rgba(0,0,0,0.25);transform:translateY(-2px);}
.ex_btn{background:linear-gradient(145deg,#0042aa,#3a88fe);} 
.ex_btn:hover{background:linear-gradient(145deg,#3a88fe,#0042aa);box-shadow:0 6px 16px rgba(0,0,0,0.3);transform:translateY(-2px);}
.btn a,.wa_btn a,.sp_btn a,.ex_btn a{color:#fff;text-decoration:none;display:block;text-align:center;} 
.btn a:hover,.wa_btn a:hover,.sp_btn a:hover,.ex_btn a:hover{color:#fff;}
