/*
Theme Name: ugo-corporate
Theme URI: 
Author: ugo
Author URI: 
Description: 
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ugo-corporate
Tags: 
*/

/*************************************************************

* Layout *

*************************************************************/

*, *::before, *::after {
  box-sizing: border-box;
}

@media screen and (max-width: 960px){
	.tb-none{display: none;}
}
@media screen and (max-width: 767px){
	.sp-none{display: none;}
	.pc-none{display: block;}
}
@media screen and (min-width: 768px){
	.sp-none{display: block;}
	.pc-none{display: none;}
}

@media screen and (min-width: 601px) and (max-width: 1231px){
	.container_r20{
		padding-right: 40px !important;
		padding-left: 40px !important;
	}
	.col_gap80{column-gap: 40px;}
}
@media screen and (max-width: 767px){
	.col_2{flex-direction: column;}
	.col_2.col_rev{flex-direction: column-reverse;}
}
@media screen and (max-width: 600px){
	.container_r20{
		padding-right: 1em !important;
		padding-left: 1em !important;
	}
	.col_gap80{row-gap: 40px;}
}


/*************************************************************

* Common *

*************************************************************/

/***** Common blocks *****/

.p_with-ugo img,
.h2_with-ugo img{
	display: inline-block;
	margin-bottom: -0.4em;
}
.w100 img{width: 100%;}
.wp-block-separator {border-top: 1px solid !important;}
.single-post .entry-content a{word-break: break-all;}

/* headings */
.h2_line-break p{line-height: 1.4 !important;}
.container_doc h2{
	font-size: 2.25rem !important;
	line-height: 1.4 !important;
}
.container_doc h3{font-size: 1.5rem !important;}

@media screen and (max-width: 767px){
	.single-post h2{font-size: 2rem !important;}
	h3{font-size: 1.875rem !important;}
	.container_doc h3{font-size: 1.25rem !important;}
}


/***** nav *****/

nav[aria-label="グローバルナビゲーション"] ul>li>a[target="_blank"],
nav[aria-label="フッターナビゲーション"] ul>li>a[target="_blank"],
nav[aria-label="モバイル_グローバルナビゲーション"] ul>li>a[target="_blank"]{
	position: relative;
	padding-right: 24px !important;
}
nav[aria-label="グローバルナビゲーション"] ul>li>a[target="_blank"]::after,
nav[aria-label="フッターナビゲーション"] ul>li>a[target="_blank"]::after,
nav[aria-label="モバイル_グローバルナビゲーション"] ul>li>a[target="_blank"]::after{
	position: absolute;
	content: 'arrow_outward';
	width: 1.25rem;
	height: 1.25rem;
	transform: translatey(-50%);
	top: 50%;
	right: 0;
	font-family: var(--wp--preset--font-family--material-symbols-rounded) !important;
	font-size: 1.25rem;
	font-weight: normal;
	line-height: 1;	
}

/* ハンバーガーメニュー */
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open{height: 100vh}
.has-modal-open.is-menu-open .wp-block-navigation__responsive-dialog{margin: 0 !important;}
.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg{
	fill: var(--wp--preset--color--primary);
	width: 2rem;
	height: 2rem;
}


/***** header, page-header *****/

.header-wrap{
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
header .wp-block-site-logo{
	position: relative;
	z-index: 100001;
}

/* レスポンシブ対応 */
.header_pc{display: none;}
.header_mobile{display: block;}

@media screen and (min-width: 1140px){
	.header_mobile{display: none;}
	.header_pc{display: block;}
}
@media screen and (max-width: 960px){
	.page-header{
		padding-left: 1em !important;
		padding-right: 1em !important;
	}
}
@media screen and (max-width: 767px){
	.page-header h1{font-size: 17vw !important;}
}

/***** footer *****/

.footer .wp-block-buttons.btns_link{width: 220px;}
.footer .wp-block-buttons.btns_link .wp-block-button{width: 100%;}
.footer .col_footer_main{align-items: stretch;}
.footer .col-item_footer_main-right-right{max-width: 440px;}
@media screen and (max-width: 960px){
	.footer{padding: 120px 16px 40px !important;}
	.footer .col_footer_main{
		flex-direction: column;
		row-gap: 80px;
	}
	.footer .col-item_footer_main-left{row-gap: 40px;}
	.footer .logo img{width: 216px !important;}
	.footer .col_footer_main-right{flex-direction: column;}
	.footer .col_footer_bottom{
		flex-direction: column-reverse;
		align-items: flex-start;
	}
	.footer nav[aria-label="SNSナビゲーション"]>ul{
		flex-direction: row;
		gap: 40px;
	}
	.footer nav[aria-label="フッターボトムナビゲーション"]>ul{
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 40px;
	}
}

/* GTranslate */
#gt_float_wrapper{
	padding: 0px 40px;
    background-color: var(--wp--preset--color--dark-background);
    position: relative !important;
	bottom: 0 !important;
	left: 0 !important;
	height: calc(84px + 1rem);
}
#gt_float_wrapper .gt_float_switcher {
	position: absolute;
	bottom: 40px;
	right: 40px;
	font-size: 1rem;
	line-height: 1;
}
#gt_float_wrapper .gt_float_switcher img {
    height: 1rem;
    margin: 0px 8px 0 0;
    border-radius: 2px;
}
#gt_float_wrapper .gt_float_switcher, #gt_float_wrapper .gt_float_switcher .gt-selected{border-radius: 0;}
#gt_float_wrapper .gt_float_switcher .gt-selected .gt-current-lang{
	padding: 8px 16px;
	color: var(--wp--preset--color--dark-primary);
	background-color: var(--wp--preset--color--dark-background);
	font-weight: bold;
	border-bottom: solid 1px var(--wp--preset--color--dark-tertiary)
}
#gt_float_wrapper .gt_float_switcher .gt_options a {
    padding: 8px 16px;
	line-height: 1;
	transition: none;
}
@media screen and (max-width: 960px){
	#gt_float_wrapper .gt_float_switcher {left: 16px !important; right: unset;}
}


/***** button *****/

.wp-block-button.btn_size-40{height: 2.5rem;}
.wp-block-button.btn_size-48{height: 3rem;}
.wp-block-button.is-style-outline .wp-block-button__link{border-width: 1px;}

/* 矢印アイコン付きのボタン */
.wp-block-button.btn_arrow .wp-block-button__link{
	padding-right: 2.4rem;
	position: relative;
}
.wp-block-button.btn_arrow .wp-block-button__link::after{
	position: absolute;
	width: 1.125rem;
	height: 1.125rem;
	transform: translatey(-50%);
	top: 50%;
	right: 1rem;
	font-family: var(--wp--preset--font-family--material-symbols-rounded) !important;
	font-size: 1.125rem;
	line-height: 1;	
}
.wp-block-button.btn_arrow.btn_arrow_outward .wp-block-button__link::after{content: 'arrow_outward';}
.wp-block-button.btn_arrow.btn_arrow_forward .wp-block-button__link::after{content: 'arrow_forward';}

/* アイコンだけのボタン */
.wp-block-button.ico-btn .wp-block-button__link{
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
}




/*************************************************************

* Pages *

*************************************************************/

/***** Top *****/

/* fv */
.cov_top_fv .wp-block-cover__image-background{
	animation-name: pan_fv;
	animation-duration: 75s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
@keyframes pan_fv {
	0% {
		background-position: 0 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0 50%;
	}
}
@media screen and (max-width: 960px){
	.cov_top_copy{
		padding-left: 1em !important;
		padding-right: 1em !important;
	}
}
@media screen and (max-width: 767px){
	.p_copy{font-size: 17vw !important;}
	.p_copy-j{font-size: 4.5vw !important;}
	.p_copy-j img{width: 3em !important;}
}

/* purpose */
.col_top_purpose{position: relative;}
.col_top_purpose .img_top_ugo-pro{
	position: absolute;
	width: 60vw;
	max-width: 660px;
	right: 0;
	bottom: -120px;
}
.col_top_purpose .img_top_ugo-pro.fade-in{
	animation: fade-in ease-in-out both;
	animation-timeline: view();
	animation-range: contain 10% contain 60%;
}
@keyframes fade-in {
  from {
    opacity: 0.05;
  }
  to {
    opacity: 1;
  }
}
@media screen and (max-width: 767px){
	.cov_top_purpose{padding-bottom: 86vw !important;}
	.col_top_purpose .img_top_ugo-pro{
		width: 77vw;
		bottom: -86vw;
	}
	.p_top_purpose-1{font-size: 7.5vw !important}
	.p_top_purpose-2{font-size: 8.8vw !important}	
}

/* business, company */
.col_top_biz-com.wp-block-columns.is-not-stacked-on-mobile{flex-wrap: wrap !important;}
.col_top_biz-com .wp-block-column{min-width: 27.5rem;}
.box_top_business .wp-block-cover__inner-container,
.box_top_company .wp-block-cover__inner-container,
.box_top_business .wp-block-cover__inner-container>div,
.box_top_company .wp-block-cover__inner-container>div{
	height: stretch;
	height: -webkit-fill-available;
	height: -moz-available;
}
@media screen and (max-width: 767px){
	.col_top_biz-com .wp-block-column{
		min-width: auto;
		flex-basis: 100% !important;
	}
}
@media screen and (max-width: 480px){
	.box_top_business, .box_top_company{
		aspect-ratio: 1/1 !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* news */
.news-content{
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.news-categories{width: 25%;}
#category-list{
	list-style: none;
	padding: 0;
	margin: 0;
}
#category-list li{
	cursor: pointer;
	font-size: var(--wp--preset--font-size--18-px);
	color: var(--wp--preset--color--inactive);
	font-weight: bold;
	margin-bottom: 16px;
}
#category-list li:first-child{margin-bottom: 32px;}
#category-list li.active {
  font-weight: bold;
  color: var(--wp--preset--color--primary);
}
.news-articles{width: 75%;}
.no-posts {
  display: none;
  color: var(--wp--preset--color--tertiary);
  margin-bottom: 20px;
}
.news-item {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 0 0 24px 0;
	margin-bottom: 40px;
}
.news-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.news-date-wrap{
	display: flex;
	align-items: center;
	gap :12px;
}
.news-date {
	flex-shrink: 0;
	flex-basis: 5rem;
	font-size: 1rem;
	font-weight: bold;
}
.news-label {
	flex-shrink: 0;
	width: 8rem;
	font-size: var(--wp--preset--font-size--14-px);
	line-height: 1.4;
	border-radius: 20px;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	border: 1px solid var(--wp--preset--color--primary);
}
.news-title-wrap {
  flex-grow: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  width: calc(100% - 13rem - 24px);
}
.news-title-text {
	flex-grow: 1;
	text-decoration: none;
	font-weight: normal;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.news-arrow {
	font-family: var(--wp--preset--font-family--material-symbols-rounded);
	font-size: 1.2em;
	line-height: 1;
}
@media screen and (max-width: 767px){
	.news-content{flex-direction: column;}
	.news-categories, .news-articles{width: 100%;}
	#category-list{
		display: flex;
		flex-wrap: wrap;
		column-gap: 20px;
		margin-bottom: 40px;
	}
	#category-list li{margin-bottom: 4px !important;}
	.news-row{
		flex-direction: column;
		align-items: stretch;
	}
	.news-title-wrap{width: 100%;}
}


/***** about *****/

.col_about_value h4 rt{margin-bottom: 0.25em;}  /* ルビ */
@media screen (min-width: 768px) and (max-width: 1080px){
	.p_about_mission{font-size: 3.4vw !important;}
}
@media screen and (max-width: 767px){
	.p_about_purpose{font-size: 10.9vw !important;}
	.p_about_mission{font-size: 5.75vw !important;}
}


/***** Business *****/

.col_products.wp-block-columns.is-not-stacked-on-mobile{
	flex-wrap: wrap !important;
	justify-content: center;
}
.col-item_products{
	min-width: 18.75rem;
	max-width: 387px;
}
.col_solutions .wp-block-cover .wp-block-cover__inner-container{position: static;}
.col_solutions .outer_ico-btn{
	position: absolute;
	top: 20px;
	right: 20px;
}


/***** company *****/

@media screen and (min-width: 768px){
	.col_awards .wp-block-group{
		width: 32%;
		min-width: 18.5rem;
	}
}
@media screen and (max-width: 960px){
	.col-item_company_profile-1>div{flex-wrap: wrap !important;}
	.col-item_company_profile-1>div>p:first-child{flex-basis: 100%;}
}


/***** terms *****/
#logo-download>a{pointer-events: none;}
#logo-download>a{opacity: 0.25;}
#agreement:checked ~ .wp-block-buttons>#logo-download>a {pointer-events: auto;}
#agreement:checked ~ .wp-block-buttons>#logo-download>a {opacity: 1;}

