/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* Original */

/* Base */
* {
	position: relative;
	max-width: 100% !important;
	text-align: left;
	color: #333333;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5 !important;
	transition: all 1s linear;
	box-sizing: border-box;
}
main {
	padding-top: 100px;
}
section {
	width: unset;
	min-height: 10vw;
	padding: 50px 10%;
	margin: 0;
	background-position: center;
    background-size: cover;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	margin: 0;
	margin-bottom: 10px;
}
h1 {
	font-size: 4.5vw;
}
h2 {
	font-size: 3.5vw;
}
h3 {
	font-size: 2.5vw;
}
h4 {
	font-size: 2vw;
}
h5 {
	font-size: 1.8vw;
}
h6,
li {
	font-size: 1.5vw;
}
span,
p {
	display: inline-block;
	font-size: max(1.2vw, 18px);
}
span {
	padding: 5px 20px;
}
a {
	text-decoration: none;
}
a:hover {
	opacity: 0.6;
}
ul {
	padding-left: 0;
}
li {
	list-style-type: none;
	margin-right: 10px;
}
tr {
	margin-bottom: 20px;
}
th {
	width: 25%;
	margin-right: 5%;
	text-align: center;
}
td {
	width: 70%;
}
input,
textarea {
	width: auto;
	padding: 10px 50px;
	background-color: #ffffff;
	border: none;
	border-radius: 9999px;
	font-size: max(1.2vw, 18px);
}
textarea {
	min-height: 200px;
    border-radius: 30px;
    padding: 20px;
}
hr {
	margin: 30px 0;
	border-top: solid 1px #f5f5f5;
}
header {
	position: fixed;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    z-index: 9;
}
footer {
	width: auto;
	margin-top:0;
	background-color: #00547a;
	padding: 20px 10%;
}

/* layout */
.block {
	display: block;
}
.inline_block {
	display: inline-block;
}
.inline {
	display: inline;
}
.flex_list {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}
.flex_wrap {
	flex-wrap: wrap;
}
.flex_left {
	justify-content: left;
}
.space_around {
	justify-content: space-around;
}
.space_between {
	justify-content: space-between;
}
.align_top {
	align-items: start;
}
.left_small div:first-child {
	margin-right: 50px;
	width: 80%;
}
.text_link {
	width: auto;
    padding: 0;
	text-decoration: underline;
}
.ast {
	display: inline;
	padding: 0;
}

/* margin & padding */
.header_menu {
	width: 100%;
	padding: 10px;
}
.header_menu li {
	padding: 0 10px;
}
.footer_menu {
	width: auto;
	padding-left: 40%; 
}
.has-global-padding {
	padding: 0;
}
.section_media {
	padding: 0;
}
.block_bk_colored {
	padding: 40px 5%;
}
.block_bk_colored_more {
	padding: 40px 8%;
}
.for_button {
	display: inline-block;
	padding: 15px 40px;
}
.news_item {
	display: inline;
	padding: 5px 10px;
}
.padding_less {
	padding: 5px 10%;
}
.padding_less_small {
	padding: 10px 20px;
}
.for_colored_box {
	margin: 30px;
}
.img_bottom_space {
	margin-bottom: 10px;
}
.box_vertical {
	margin-bottom: 30px;
}
.space_in_box {
	margin-bottom: 50px;
}
.indent {
	margin-left: 2vw;
}
.news_list li {
	width: auto;
	padding: 15px 10px;
    margin-bottom: 5px;
	margin-right: 0;
}
.article_date {
	padding: 0;
}
.right_space div,
.right_space span,
.right_space h6 {
	margin-right: 20px;
}
.right_space_half {
	margin-right: 10px;
}
.title_small {
	font-size: 0.7em;
}
.zero_margin {
	margin: 0 !important;
}
.room_for_abs {
	padding-top: 150px;
	margin-top: 30px;
}
.room_for_abs_top {
	margin-bottom: 150px;
}
.room_for_abs_left {
	padding-left: 125px;
	width: 100%;
}
.add_margin_vertical {
	margin: 40px 0;
}
.add_margin_vertical_half {
	margin: 20px 0;
}
.temp_section {
	padding: 50px 10%;
}
.aterisk {
	display: inline;
	padding: 0;
}
.add_padding_vertical {
	padding: 20px 0;
}
.add_padding_vertical_less {
	padding: 12px 0;
}
.icon_text {
	padding: 5px 10px;
}
.button_adjustment {
	margin-top: 1em;
}

/* position */
.abs {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}
.upper {
	top: 40%;
}
.lower {
	top: 65%;
	padding: 20px 20px;
	width: 70%;
}
.left {
	left: 20%;
	width: 18%;
}
.left_over {
	left: 0;
}
.little_right {
	left: 55%;
	width: 65%;
}
.right {
	left: unset;
	right: 0;
	transform: translatey(-50%);
}
.top {
	top: 0;
}

/* media */
.contain {
	width: 15%;
    height: 7.5vw;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	margin-right: 20px;
}
.contain_kv {
    width: 100vw;
    height: 45vw;
	margin-right: 0;
}
.cover {
	height: 15vw; 
	background-size: cover;
	background-position: center center;
}
.cover_contact {
	width: 180px;
    height: 180px;
}
#top_logo {
	width: 200px;
}
.laurel {
	width: 180px;
}
.star {
	width: 120px;
}
#insert_visual {
	width: 100%;
}
.conc {
	width: 150px;
}

/* size */
.half {
	width: 45%;
}
.one_third,
.one_third_child li {
	width: 30%;
}
.one_fourth {
	width: 22.5%;
}
.fix_content {
	width: 25%;
}
.icon_img {
	width: 5vw;
}
.max_width_limit {
	max-width: 30% !important;
}
.width_auto {
	width: auto;
}
.min_height {
	min-height: 100px;
}
.input_text {
	width: 90%;
	padding: 10px 20px;
}
.copy_block {
	width: 300px;
}
.button_fix {
	width: 100%;
	text-shadow: none;
}
.highlight {
	width: 50%;
}

/* shape */
.round {
	border-radius: 50%;
}
.round_search {
	width: 50px;
    height: 50px;
    right: 30px;
}
.round_long {
	border-radius: 9999px;
}
.borderline {
	border-bottom: solid 1px #f5f5f5;
}

/* text */
.center,
.center li {
	text-align: center;
}
.from_right {
	text-align: right;
}
.tag_list li a:hover {
	text-decoration: underline;
}
.bold {
	font-weight: bold;
}

/* color */
.white {
	color: #ffffff;
}
.shadow {
	text-shadow: 0 0 10px black;
}
.red {
	color: #e12f3c;
}
.navy {
	color: #00547a;
}
.button_blue {
	background-color: #3399ff;
}
.button_red {
	background-color: #f96250;
}
.block_white {
	background-color: #ffffff;
}
.block_gray {
	background-color: #f5f5f5;
}
.block_blue {
	background-color: #e3fcfc;
}
.block_paleblue {
	background-color: #91c9fc;
}
.block_darkblue {
	background-color: #0368c7;
}
.block_red {
	background-color: #e12f3c;
}
.block_green {
	background-color: #e6fff5;
}
.block_darkgreen {
	background-color: #6ecfa8;
}
.faq_icon_white {
	border: solid 1px #6ecfa8;
	color: #6ecfa8;
}

/* other */
#search {
	background-image: url('/wp-content/uploads/2025/08/bckg_search.jpg');	
	min-height: 50vw;
}
#search_submit {
	width: 60%;
    color: #ffffff;
    background-color: #f96250;   
	box-shadow: 0px 0px 5px #cccccc;
    font-weight: bold;
    font-size: 1.8vw;
}
.news_link {
	display: inline;
	padding: 10px;
	padding-right: 25px;
}
.news_link:after {
	content: "";
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translatey(-50%);
	border: solid 5px transparent;
	border-left: solid 5px #00547a;
}
.news_cat_tag {
	width: 15vw;
	border: solid 1px #00547a;
}
.grid_gallery {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 18vw 18vw;
	gap: 5px;
	margin-top: 20px;
}
.grid_gallery div {
	width: auto;
	padding: 5px;
	background-size: cover;
}
.grid_gallery div:first-child {
	grid-column: 1 / 3;
	grid-row: 1 / 3;
}
.tag_box {
	display: inline-block;
	padding: 5px 20px;
	margin-right: 5px;
    margin-bottom: 15px;
	background-color: #6e6e6e;
    color: #ffffff;
    border-bottom: solid 5px #424242;
    border-radius: 10px;
	transition: none;
}
.pushed {
	margin-top: 3px;
    border-bottom: solid 2px #424242;
}
#modal {
    position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	background-color: rgba(0,0,0,0.3);
	margin-top: 0;
}
.before_shown {
	opacity: 0;
	z-index: -1;
}
.shown {
	opacity: 1;
	z-index: 10;
}
.modal_box {
	width: 80%;
	height: 80vh;
    overflow-y: scroll;
	padding: 50px; 
}
#modal_share {
    position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	background-color: rgba(0,0,0,0.3);
	margin-top: 0;
}
.modal_box_share {
	width: 80%;
	padding: 50px; 
}
#summary {
	width: 75%;
	padding-right: 5%;
	padding-top: 30px;
}
.faq_icon {
	border-radius: 50%;
	font-weight: bold;
	font-size: 1.8vw;
	width: 3vw;
    height: 3vw;
    padding: 0;
    text-align: center;
}
.search_box {
	width: unset;
	margin: 0;
	border-radius: 9999px;
    box-shadow: 0px 0px 8px #cccccc;
    padding: 10px 20px;
	padding-right: 150px;
}
.search_box li {
	padding-left: 20px;
	font-weight: bold;
	border-left: solid 1px #cccccc;
	padding-top: 10px;
    padding-bottom: 10px;
}
.search_box li:first-child {
	border-left: none;
}
#close_button {
	top: 10px;
	left: unset;
	right: 10px;
	transform: translate(0%, 0%);
	padding: 0;
	border-radius: 50%;
	background-color: #f96250;
	width: 30px;
	height: 30px;
	color: #ffffff;
	cursor: pointer;
}
#close_button_share {
	top: 10px;
	left: unset;
	right: 10px;
	transform: translate(0%, 0%);
	padding: 0;
	border-radius: 50%;
	background-color: #f96250;
	width: 30px;
	height: 30px;
	color: #ffffff;
	cursor: pointer;
}
#fix_content {
	width: 25%;
	padding: 0;
	top: 0;
	right: 5%;
	transform: translate(0%, 0%);
	opacity: 0;
	z-index: 1;
	transition: unset;
	transition: opacity 1s linear;
}
.fixed {
	position: fixed;
}
.radio_button {
	padding-left: 5px;
	margin-left: 40px;
	margin-bottom: 10px;
	font-size: 1.5vw;
}
.radio_button:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(-150%, -50%);
    display: block;
    width: 28px;
    height: 28px;
	border-radius: 50%;
	background-color: #ffffff;
}
.radio_button:after {
	content: "";
	position: absolute;
	left: -13px;
    top: 50%;
    transform: translate(-150%, -50%);
	display: block;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: #3399ff;
	opacity: 0;
}
.radio_button_on:after {
	opacity: 1 !important;
}
#search_form .block_bk_colored {
	padding: 20px 5%;
    margin-bottom: 20px;
}
#search_icon:after {
	font: var(--fa-font-solid);
	content: "\f002";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #ffffff;
}
#share_icon:before {
	font: var(--fa-font-solid);
	content: "\e09a";
	position: absolute;
	top: 50%;
    left: 0;
    transform: translate(50%,-40%);
	color: #cccccc;
}
.share_icon_list li {
    padding: 10px;
	margin-bottom: 30px;
	border: solid 1px #cccccc;
	border-radius: 10px;
}
.share_icon_list h6 {
	margin: 0;
}
#share_icon span {
	padding-left: 40px;
	cursor: pointer;
}