/*
Theme Name: o2toyou
Version: 1.0.0
Author: H&Ncontents Inc.
Description: This is a simple theme that supports responsiveness. Drop down menu on PC and hamburger menu on smartphone. The design is as minimal as possible so that you can customize it as you like.
Author URI: https://chanto.hn-contents.co.jp/
Tags: one-column, blog
Domain Path: /languages
chanto WordPress Theme, (C) 2026 H&Ncontents Inc
chanto is distributed under the terms of the GNU GPL.*/

/*width／pc1200・tb1023・sp767・540*/

@import url("property.css");
@charset "utf-8";
/*--- reset ---*/
*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg*,symbol*)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}
body {margin:0;padding:0;}
a,button{cursor:revert}
ol,ul,li,menu,summary{list-style:none;margin:0;padding:0;}
img{max-inline-size:100%;max-block-size:100%;vertical-align: bottom;}
table{border-collapse:collapse;}
input,textarea{-webkit-user-select:auto;}
textarea{white-space:revert;}
meter{-webkit-appearance:revert;appearance:revert}:where(pre){all:revert;box-sizing:border-box}::placeholder{color:unset}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable="true"]){-webkit-user-drag:element}:where(dialog:modal){all:revert;box-sizing:border-box}

/*-----------------------*/
/*--------- 共通 ---------*/
/*-----------------------*/
html { scroll-behavior: smooth;}
*{font-family: 游ゴシック体, 游ゴシック, 'Yu Gothic', YuGothic, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
html { font-size: 62.5% /* 10 px */}
body {font-size:1.6rem;color:var(--mein-color);width: 100%;background: #fff;border-top: 5px solid #0C3555;}
	@media screen and (max-width: 540px) {
		body {border-top:none;}
	}
a {color:var(--link-color);text-decoration: none;}
h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-size:1.6rem;}
dl,dt,dd,ul,li,div{margin:0;padding:0;}
p {margin:0 0 1.85rem 0; padding:0;line-height:1.85;}
section {margin-bottom:6rem;clear: both;}

/*--- スマホ表示 ---*/
.for-sp {display:none;}
	@media screen and (max-width: 540px) {
		.for-sp { display:inline; }
		.for-pc { display:none; }
	}

/*--- 見出し ---*/
h2 {font-size:3.0rem;}
h3 {font-size:2.4rem;}
h4 {font-size:2.0rem;}
h5 {font-size:1.8rem;}

/*--- マーカー --*/
main mark { background: linear-gradient(transparent 20%, #FFFF6C 0%); }
.line_yellow { background: linear-gradient(transparent 20%, #FFFF6C 0%); }
/*-----------------------*/
/*-------- header -------*/
/*-----------------------*/
header {
	width: 100%;
	/*height: 185px; headerの高さ*/
	/*padding-top: 16px;*/ /*header上部間*/
}
	@media screen and (max-width: 540px) {
		header {
			height: 80px; /*スマホheaderの高さ*/
			position: fixed;
			z-index: 99;
			background-color:var(--header_bg-color);
			border-bottom: 1px solid;
			border-color:var(--link-color);
		}
		.home header {border-bottom:none;}
	}
.Header {
	border-bottom: 1px solid;
	border-color:var(--link-color);
}
	@media screen and (max-width: 540px) {
		.Header {border:none;}
	}
.home .Header {border:none;}
header h1 {
	display:none;
	/*position: absolute;
	top: 75px;
	width: 40%;
	top: 68%;
	left: 41%;
	transform: translate(-41%, -68%);
	-webkit-transform: translate(-41%, -68%);
	-ms-transform: translate(-41%, -68%);*/
}
	@media screen and (max-width: 540px) {
		header h1 {
			display:none;
		}
	}
header h2 {
	display: flex;
	align-items: center;
	font-size: 3.2rem;
}
	@media screen and (max-width: 768px) {
		header h2 { font-size: clamp(2.4rem, 0.5056rem + 3.509vw, 3.2rem);}
	}
	@media screen and (max-width: 540px) {
		header h2 { font-size: 2.4rem; }
	}
header h2 span {margin-top:20px;}
.header_inner {
	max-width: var(--pc-width); /*コンテンツの幅*/
	width: 100%;
	position: relative;
	margin: 15px auto 8px;
	background-color:var(--header_bg-color);
}
	@media screen and (max-width: 768px) {
		.header_inner {
			padding:0 10px;
			margin: 10px auto;
		}
	}
.header_inner p {
    margin-bottom: 0;
}
.header_inner h1+p {
    position: absolute;
    top: 16px;
    left: 100px;
    font-size:1.4rem;
}
	@media screen and (max-width: 768px) {
		.header_inner h1+p {
			top: 0;
			left: 80px;
		}
	}
.header_top {
	display:flex;
	height: 100px;
}
	@media screen and (max-width: 540px) {
		.header_top {
			display:block;
			height: 60px;
		}
	}
.header_left{
	flex-basis: 55%;
	display: flex;
	justify-content: space-around;
	flex-direction: column-reverse;
}
	@media screen and (max-width: 1200px) {
		.header_left{ padding-left:10px; }
	}
	@media screen and (max-width: 768px) {
		.header_left{
			width:80%;
			padding-left:0; 
		}
	}
.header_left a {
	display: block;
	cursor: pointer;
	color:var(--sub-color);
}
.header_left img { 
	width:80px;
	margin-right: 8px;
}
	@media screen and (max-width: 768px) {
		.header_left img { width:60px; }
	}
.header_left p {
	font-weight: normal;
	position: absolute;
	right: 110px;
	top: 20px;
	text-align: right;
}
	@media screen and (max-width: 540px) {
		.header_left p { 
			display:none;
        }
	}
.header_right{
	flex-basis: 45%;
	text-align: right;
	display: flex;
	position: relative;
}
	@media screen and (max-width: 540px) {
		.header_right{
			display:none;
		}
	}
.header_right h3 {
	width: 82%;
	position: absolute;
	top: 40px;
	right: 110px;
}
.header_right h3 img {
	max-width: 270px;
    width: 100%;
}
.header_right p {
	font-size:1.6rem;
	font-weight: bold;
	text-align: center;
	margin: 0;
	background-color: #F7C334;
	position: absolute;
	right: 0;
	cursor:pointer;
}
.header_right p:hover {
	background-color: #F7C33496;
}
.header_right a {
	display: flex;
	justify-content: center;
	align-items: center;
	cursor:pointer;
	color:var(--mein-color);
	width: 100px;
	height: 100px;
}
/*.header_right i.fa.fa-phone {
    font-size: 2rem;
    margin-right: 5px;
}
.header_right i.fa.fa-envelope {
    font-size: 2.4rem;
    margin-left: 10px;
}
.header_right p {
	margin:0;
}
.header_right p span {
    font-size: 2.4rem;
    font-weight: bold;
}
header address {
	font-style: normal;
}*/

/*-----------------------*/
/*--------- main --------*/
/*-----------------------*/
main {
	max-width: var(--pc-width);
	width: 100%;
	margin: 0 auto 10rem;
}
	@media screen and (max-width: 1200px) {
		main {
			padding:0 20px;
		}
	}
	@media screen and (max-width: 540px) {
		main {
			padding-top:100px;/*- スマホヘッダー高さ＋上部余白 -*/
			margin: 0 auto 5rem;
		}
	}
/* -- ページ下部マージンなし -- */
main.aboutus-page {
    margin-bottom: 0;
}
	@media screen and (max-width: 768px) {
		main.aboutus-page {
			margin-bottom: 6rem;
		}
	}
body.archive main {
	margin-bottom: 0;
}
	@media screen and (max-width: 768px) {
		body.archive main {
			margin-bottom: 6rem;
		}
	}
/* ---パンくず--- */
.breadcrumbs {
	margin:0 auto 2rem;
	padding-top:1rem;
}
	@media screen and (max-width: 540px) {
		.breadcrumbs {display:none;}
	}
.breadcrumbs ul {
	font-size: 1.4rem;
	text-align: left;
}
.breadcrumbs ul li{
	display:inline;
}
.breadcrumbs ul li span.non {display:none;}
.breadcrumbs ul li::after {
content: ">";
margin-left: .8rem;
margin-right: .8rem;
}
.breadcrumbs ul li:last-child::after {
content: none;
}
.breadcrumbs ul li:last-child a { color:#000; }

/*-----------------------*/
/*-------- fotter -------*/
/*-----------------------*/
footer {
	background-color:var(--footer_bg-color);
	padding:50px 0 0;
}
	@media screen and (max-width: 540px) {
		footer { padding:30px 0 0; }
	}
.footer_inner {
	max-width: var(--pc-width);
	width: 100%;
	margin: 0 auto;
}
.footer_inner a { color:#fff;}
.footer_logo {
    max-width: 500px;
    margin: 0 auto;
    padding-left: 100px;
    margin-bottom:2rem;
    color: #fff;
    line-height: 160%;
    display: flex;
    flex-direction: column;
    background-image: url(https://o2toyou.jp/o2toyou2026/wp-content/uploads/2026/05/icon_logo.webp);
    background-repeat: no-repeat;
    background-size: contain;
}
	@media screen and (max-width: 540px) {
		.footer_logo {
			max-width: 300px;
			padding-left: 0;
			padding-bottom:2rem;
			background-size: unset;
			background-position: top center;
			padding-top: 80px;
			text-align: center;
		}
	}
.footer_logo h3 { order:2; font-size:3.2rem;}
.footer_logo p { margin-bottom: 0; }
.footer_logo p.text_a { order: 1; }
.footer_logo p.text_b { order: 3; }
.footer_logo h3 a {
	display: inline-block;
	font-size: 3.2rem;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 90px;
}
	@media screen and (max-width: 768px) {
		.footer_logo h3 a {
			font-size: clamp(2.8rem, -0.416rem + 5.263vw, 4rem);
			padding-left:clamp(7rem, 2.508rem + 6.494vw, 9rem);;
			}
	}
	@media screen and (max-width: 540px) {
		.footer_logo h3 a {font-size: clamp(2rem, -2.6rem + 10vw, 2.8rem);}
	}
#footer {
	background-color:var(--footer_copy-color);
	color:#002E41;
}
#footer p{
	font-size: 1.2rem;
	max-width: var(--pc-width);
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

/*-----------------------*/
/*--------- menu --------*/
/*-----------------------*/
/*-- Gnav --*/
.menu-mainmenu-container {
	width: 100%;
	margin-bottom:2px;
}
.menu-mainmenu-container .menu {
	font-size: 1.5rem;
	display: flex;
	justify-content: space-around;
	max-width: var(--pc-width);
	width: 100%;
	padding: 0 0 0;
	margin: 0 auto;
}
.menu-mainmenu-container .menu > .menu-item {
	padding: 2px 11px;
	cursor: pointer;
	position: relative;
}
	@media screen and (max-width: 970px) {
		.menu-mainmenu-container .menu > .menu-item {
			padding: 2px;
			font-size: 1.4rem;
		}
	}
	@media screen and (max-width: 810px) {
		.menu-mainmenu-container .menu > .menu-item {
			padding: 2px;
			font-size: 1.2rem;
		}
	}
.menu-mainmenu-container .menu li {
    /*margin-left: 2rem;*/
}
.menu-mainmenu-container .menu a {
	color: #000;
}
.menu-mainmenu-container .menu a::before {
	/*content:"●";
	color:#F8B62D;*/
}
.menu-mainmenu-container .menu a:hover {
	/*border-bottom: 2px solid #34997B;*/
	color:#F7C334;
}
.menu-mainmenu-container .menu a[aria-current="page"] {
	/*border-bottom: 2px solid #34997B;*/
	color:#F7C334;
}
/* Gnavサブメニュー */
.menu-mainmenu-container .sub-menu {
	display: none;
	position: absolute;
	right:0;
	padding-top:.5rem;
	padding-bottom:1rem;
	min-width:300px;
	z-index: 1;
	background-color:background-color:rgba(255, 255, 255, 0);
}
.menu-mainmenu-container .sub-menu li {
	cursor: pointer;
	padding: 3px 2px;
	background-color:#FFF;
	border-left:1px solid #34997B;
	border-right:1px solid #34997B;
	border-bottom:1px solid #34997B;
}
.home .menu-mainmenu-container .sub-menu li:first-child {
	border-top:1px solid #34997B;
}
.menu-mainmenu-container .sub-menu li a::before {
	content:"ー";
	color:#F8B62D;
	margin-right: 3px;
}
.menu-mainmenu-container .menu-item-has-children:hover .sub-menu {
	display: block;
	transition: .5s;
}

/*-- フッターメニュー --*/
.menu-footer_menu-container {
	/*max-width:540px;*/
	width: 100%;
	font-size: 1.5rem;
	margin: 0 auto 3rem;
	border-top: 1px solid #6496B7;
}
	@media screen and (max-width: 768px) {
		.menu-footer_menu-container { width: 94%; }
	}
	@media screen and (max-width: 540px) {
		.menu-footer_menu-container { display:none; }
	}
.menu-footer_menu-container a:hover { border-bottom:1px solid #fff;}
.menu-footer_menu-container ul {
	display: flex;
	flex-wrap: wrap;
	padding: 1rem;
}
.menu-footer_menu-container ul li {
	line-height: 3;
	margin: 0 4rem;
}

/*-- ハンバーガーメニュー ---*/
.hamburger-menu-wrapper {
	max-width: 767px;
	width: 100%;
	position: fixed;
	top: 0;
	z-index:99;
}
/*-- open-close --*/
#hamburger-menu-button {
	display: none;
}
#hamburger-menu-button:checked ~ .hamburger-menu-open {
	opacity: 0;
}
#hamburger-menu-button:checked ~ .hamburger-menu-close {
	display: block;
	opacity: 1;
}
#hamburger-menu-button:checked ~ .hamburger-menu-content {
	transform: translate3d(0,0,0);
}
.hamburger-menu-open .fa-bars {
	color: #000;
	font-size: 5rem;
	padding: 10px 14px;
}
.hamburger-menu-close .fa-xmark {
	color: #000;
	font-size: 5.4rem;
	padding: 10px;
	margin-left: 8px;
}
.hamburger-menu-open {
	position: absolute;
	top: 0;
	right:0;
	margin-bottom: 0;
	width: 80px;
	height: 80px;
	background-color:#F7C334;
	border: 3px solid;
	border-color:#F7C334;
	transition: 0.3s ease;
	animation: site-title 0.8s ease 0.5s 1 normal;
	animation-fill-mode: forwards;
	z-index: 997;
	cursor: pointer;
}
.hamburger-menu-close {
	display: none;
	opacity: 0;
	position: absolute;
	top:0;
	right:0;
	width: 80px;
	height: 80px;
	background-color:#F7C334;
	border: 3px solid;
	border-color:#F7C334;
	cursor: pointer;
	transition: 0.3s ease;
	z-index: 998;
}
/*-- メニューコンテンツ --*/
.hamburger-menu-content {
	background-color: #074F7E;
	position: fixed;
	top: 80px;/*- スマホ時ヘッダー高さ -*/
	left: 0;
	width: 100%;
	padding: 0 2rem 3rem;
	transition: 0.3s ease;
	transform: translate3d(-100%,0,0);
	overflow: auto;
	z-index: 999;
}
.hamburger-menu {
	padding: 10px 10px 0;
}
#menu-hamburger_menu {}
.hamburger-menu .sub-menu {
	border-top: 2px solid #074F7E;
}
.hamburger-menu .menu-item-has-children:hover .sub-menu {
	display:block;
}
.hamburger-menu li {
	/*border-bottom: 1px solid;
	border-bottom-color:var(--ham_li_b-color);*/
	background-color: #FFF;
	text-align: left;
	margin-bottom: 8px;
	transition: 0.3s ease;
	cursor: pointer;
}
.hamburger-menu .sub-menu li {
	padding-left: 1.6rem;
	margin-bottom: 0;
	border-bottom: 2px solid #074F7E;
	/*border-bottom: 1px solid;
	border-bottom-color:var(--ham_sub_b-color);*/
}
.hamburger-menu .sub-menu li:last-child {
	border-bottom: none;
	margin-bottom: 0;
}
.hamburger-menu .menu-item-has-children:hover {
	padding:0;
}
.hamburger-menu li a {
	color:#000;
	padding: 0 1.6rem;
	line-height: 2.4;
	display:block;
	position: relative;
}
.hamburger-menu .sub-menu a {
	color:#FFF;
	padding: 0;
}
.hamburger-menu .sub-menu li a::before {
	content:"ー";
	color:#F8B62D;
	margin-right: 3px;
}

.hamburger-menu .menu-item-has-children a::after {
	position: absolute;
	right: 0;
	padding-right:1rem;
}
.hamburger-menu-content .cta {
	width: 100%;
	margin:0 auto 2rem;
}
/*-- サブメニュー表示 --*/
.hamburger-menu-wrapper .menu-sub_menu-container {
	margin: 0 1rem 2rem;
}
.hamburger-menu-wrapper .menu-sub_menu-container ul {
	font-size: 1.4rem;
	line-height:2;
	padding: 0 1.6rem;
}
.hamburger-menu-wrapper .menu-sub_menu-container ul li a {
	color:#FFF;
}

/* -------------- */
/* ------CTA----- */
/* -------------- */
.cta_wrap {
    border: 1px solid #000;
    padding:20px 20px 0;
}
	@media screen and (max-width: 540px) {
		.cta_wrap { padding:10px;}
		.cta_wrap p  { line-height:1.6;}
	}
.cta_wrap h3 {
    text-align: center;
    border-bottom: none;
}
.cta_wrap .cta {
    margin-top: -5rem;
}
	@media screen and (max-width: 540px) {
		.cta_wrap .cta { margin-top: 0;}
	}
.cta_in {
    position: relative;
    margin-bottom:6rem;
}
.cta_in .cta_title {
    font-size: clamp(2rem, 1.2896rem + 0.926vw, 2.4rem);
    font-weight: bold;
    position: absolute;
    top: clamp(10px, -0.7776rem + 2.315vw, 20px);
    left: 20px;
}
	@media screen and (max-width: 640px) {
		.cta_in .cta_title {
			top: -30px;
			line-height: 1.2;
		}
	}
/* -- 投稿ページ　下部CTA --*/
.cta_in.post_B {
    margin-bottom: 0;
    padding: 0 2rem;
}
.cta_in.post_B .cta_title {
	left: 40px;
}
	@media screen and (max-width: 640px) {
		.cta_in.post_B .cta_title {
			left: 10px;
		}
	}
.cta a:hover {
    opacity: 80%;
}

/* ------------------- */
/* ------動画 共通----- */
/* ------------------- */
.video_wrap {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    width: 80%;
    margin: 0 auto 6rem;
 }
 	@media screen and (max-width: 640px) {
		.video_wrap {
			width: 100%;
		}
	}
.video_wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* ------------------- */
/* ------見出し共通----- */
/* ------------------- */
main h2 {
	margin-bottom:3rem;
	margin-left: 3.4rem;
    position: relative;
    line-height: 1.2;
    padding-left: 1rem;
}
	@media screen and (max-width: 540px) {
		main h2 {font-size:clamp(2rem, 0.44rem + 4vw, 2.6rem);}
	}
main.page h2,
main.front_page h2,
main#fv-page h2 {
	margin-left:0;
	padding-left:0;
}
main h2::before {
	content: '\f45c';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	color:#002E41;
    margin-left: -3.4rem;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
main.page h2::before,
main.front_page h2::before,
main#fv-page h2::before {
	content:none;
}
main h3 {
	border-bottom: 1px dotted #074F7E;
    margin-bottom: 3rem;
}
	@media screen and (max-width: 540px) {
		main h3 {font-size: clamp(2rem, 0.96rem + 2.667vw, 2.4rem);}
	}
main h4 {
	margin-bottom:2rem;
}
	@media screen and (max-width: 540px) {
		main h4 {font-size: clamp(1.8rem, 1.28rem + 1.333vw, 2rem);}
	}
main h5::before {
	/*content:"●";
	color:#34997B;
	margin-right: 1.6rem;
	padding-bottom: .2rem;
	margin-bottom:1.6rem;*/
}

/* ------------------ */
/* ------画像共通----- */
/* ------------------ */
/*--画像右振りFlat--*/
.img_f-R figure {
	float: right;
	width: 40%;
	margin-left: 30px;
	margin-bottom: 20px;
}
	@media screen and (max-width: 768px) {
		/*.img_f-R figure {width: 40%;}*/
	}
	@media screen and (max-width: 540px) {
		.img_f-R figure {width: 100%; margin-left: 0;}
	}
.img_f-R figure img {
	width:100%;
	height:auto;
}
.img_f-R.w_30 figure { width: 30%; }
	@media screen and (max-width: 768px) {
		.img_f-R.w_30 figure { width: 40%; }
	}
	@media screen and (max-width: 540px) {
		.img_f-R.w_30 figure { width: 100%; margin-left: 0;}
	}
.img_f-R > section { clear: none; }
.f-R {
	float:right;
	width:40%;
	margin-left: 30px;
	margin-bottom: 20px;
}

/*--画像左振りFlat--*/
.img_f-L figure {
	float: left;
	width: 40%;
	margin-right: 30px;
	margin-bottom: 20px;
}
	@media screen and (max-width: 768px) {
	}
	@media screen and (max-width: 540px) {
		.img_f-L figure {width: 100%; margin-right: 0;}
	}
.img_f-L figure img {
	width:100%;
	height:auto;
}
.img_f-L.w_30 figure { width: 30%; }
	@media screen and (max-width: 768px) {
		.img_f-L.w_30 figure { width: 40%; }
	}
	@media screen and (max-width: 540px) {
		.img_f-L.w_30 figure { width: 100%; margin-left: 0;}
	}
.img_f-L > section { clear: none; }
.f-L {
	float:left;
	width:40%;
	margin-right: 30px;
	margin-bottom: 20px;
}
/*-- 画像センター --*/
.img_center {
	text-align: center;
	clear: both;
}
/*-- キャプション --*/
figcaption {
    background-color: #FFFCE4;
    padding: .5rem;
}
figcaption.noBG {
    background-color: transparent;
    padding: 0;
}

/* ------------------ */
/* ------flex共通----- */
/* ------------------ */
.flex_box { display:flex; }

/* 画像3つ並び */
.flex_box.col_3 {
    justify-content: space-between;
}
	@media screen and (max-width: 540px) {
		.flex_box.col_3 {flex-wrap:wrap;}
	}
.flex_box.col_3 figure {
    width: 32%;
}
	@media screen and (max-width: 540px) {
		.flex_box.col_3 figure {width: 100%;}
	}

/* ------------------ */
/* ------背景100%----- */
/* ------------------ */
.full_width {
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	margin-bottom:6rem;
}
	@media screen and (max-width: 1200px) {
		.full_width {
			padding-left:20px;
			padding-right:20px;
		}
	}
.full_width section {
	max-width: 1200px;
	width:100%;
	margin:0 auto;
	padding-top: 3rem;
	padding-bottom: 3rem;
}
/* 背景ブルー ---*/
.bg_B {background-color:var(--full_width-colorB);}
/* 背景クリーム ---*/
.bg_C {background-color:var(--full_width-colorC);}
/* 背景ネイビー ---*/
.bg_N {background-color:var(--full_width-colorN);}



/* ------------------- */
/* ------リスト共通----- */
/* ------------------- */
/* 赤チェック */
.check_list {
	margin-top: 3rem;
	margin-bottom: 3rem;
}
.check_list li {
	margin-bottom:1.6rem;
	margin-left: 2rem;
}
.check_list li::before {
	content: '\f058';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size: 2rem;
	color: red;
	margin-left: -2rem;
	padding-right:.5rem;
}
/* ol　自動振り */
ol.number_on li {
	list-style: auto;
	margin-left: 2rem;
	line-height: 1.6;
	margin-bottom: 1.85rem;
}
/* ul　dot */
ul.dot_on li {
	list-style: disc;
	margin-left: 2rem;
	line-height: 1.6;
}
/* ul　チェック */
.check {
	margin-top: 3rem;
	margin-bottom: 3rem;
}
.check li {
	margin-bottom:1.6rem;
	margin-left: 2rem;
	line-height: 1.6;
}
.check li::before {
	content: '\f00c';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	margin-left: -2rem;
	padding-right: 1rem;
}
/* ul 丸ブルー */
.circle_B li {
	margin-bottom:.5rem;
	padding-left: 2.4rem;
}
.circle_B li::before {
	content: '\f111';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	color: #11B8E1;
	margin-left: -2.4rem;
	padding-right: 1rem;
}
/* --------- */
/* ---囲み ---*/
/* --------- */
.kakomi_A {
    background-color: #0C3555;
    color: #FFF;
    padding: 20px;
    border-radius: 20px;
}

/* ------------------ */
/* ---セールスページ ---*/
/* ------------------ */
.top_fv { position: relative; }
	@media screen and (max-width: 540px) {
		.top_fv {
			margin-left: calc(-50vw + 50%);
    		margin-right: calc(-50vw + 50%);
    		margin-bottom:3rem;
    	}
	}
.top_fv div {
	position: absolute;
	top: 10%;
	left: 10%;
}
main.front_page .top_fv h2 {
	font-family: "Hiragino Kaku Gothic Std", "ヒラギノ角ゴシック Std", sans-serif;
	color: #fff;
	display: inline;
	padding: 10px 16px;
	background-color: #11B8E1;
    border-radius: 10px;
}
	@media screen and (max-width: 540px) {
		main.front_page .top_fv h2 {
			display:block;
			font-size:2.4rem;
			width: 60%;
        	line-height: 1.2;
        	text-align: center;
        	margin-bottom: 6rem;
        	letter-spacing: .6rem;
		}
	}
.top_fv p {
	font-family: "Hiragino Kaku Gothic StdN", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    font-size: clamp(2.4rem, 1.0912rem + 2.424vw, 4rem);
    margin-top: 2rem;
    margin-bottom: 0;
}
	@media screen and (max-width: 540px) {
		.top_fv p {
			font-size: 2.4rem;
			color:#fff;
			text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
		}
	}
/* タイトル左 ブルー枠 */
	@media screen and (max-width: 540px) {
		.title_L {
			flex-wrap:wrap;
		}
	}
.title_L h3 {
	width: 270px;
	height: 250px;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-right: 30px;
}
	@media screen and (max-width: 540px) {
		.title_L h3 {
			font-size: 3.6rem;
			margin: 0 auto;
			margin-bottom: 30px;
		}
	}
.title_L h3::before {
	content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border: 1px solid #11B8E1;
}
.title_L h3::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 94%;
    height: 94%;
    border: 1px solid #11B8E1;
}
.title_L div { width: calc(100% - 270px); }
	@media screen and (max-width: 540px) {
		.title_L div { width: 100%;	}
	}

/* こんなサイン出ていませんか？ */
.nayami_wrap {margin-bottom:0;}
	@media screen and (max-width: 540px) {
		.nayami_wrap { display:block; }
	}
.nayami_wrap div { width: 70%; }
	@media screen and (max-width: 540px) {
		.nayami_wrap div { width: 100%; }
	}
.nayami_wrap figure {
	width: 30%;
	margin-bottom: 0;
	position: relative;
}
	@media screen and (max-width: 540px) {
		.nayami_wrap figure { width: 100%;text-align: right;}
	}
.nayami_wrap ul { margin-left:50px;}
	@media screen and (max-width: 768px) {
		.nayami_wrap ul { margin-left:0;}
	}
.nayami_wrap figure img {
	position: absolute;
    bottom: 0;
    right: 0;
}
	@media screen and (max-width: 540px) {
		.nayami_wrap figure img { position: unset; }
	}

/* benefit */
.benefit {
    background-image: url(https://o2toyou.jp/o2toyou2026/wp-content/uploads/2026/05/top_nobi.webp);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 33%;
}
	@media screen and (max-width: 768px) {
		.benefit { 
			background-size: 50%;
		}
	}
	@media screen and (max-width: 540px) {
		section.benefit { padding-bottom:30rem; }
		.benefit { 
			background-size: 280px;
			background-position: bottom center;
		}
	}
.benefit h2 {
    color: #fff;
    text-align: center;
}
	@media screen and (max-width: 540px) {
		.benefit h2 { font-size:2.8rem;text-align: left; }
	}
.benefit .flex_box {
    flex-wrap: wrap;
    gap:2%;
}
.benefit .flex_box div {
    background-color: #fff;
    width: 32%;
    margin-bottom: 3rem;
    padding: 10px;
}
	@media screen and (max-width: 768px) {
		.benefit .flex_box div {
			width: 49%;
		}
	}
	@media screen and (max-width: 540px) {
		.benefit .flex_box div {
			width: 100%;
			margin: 2rem 0;
		}
	}
.benefit h3 {
	font-size:2.8rem;
    text-align: center;
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    margin-bottom: .5rem;
}
.benefit h3+p {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 0;
    height: 6rem;
}
	@media screen and (max-width: 540px) {
		.benefit h3+p {
			line-height: 1.4;
			margin-bottom: 1rem;
			height:auto;
		}
	}

/* なぜ変わるのか? */
.why_change {
    background-color: var(--sub-color);
    border-radius: 20px;
    padding: 30px;
}
	@media screen and (max-width: 540px) {
		.why_change { padding: 10px; }
	}
.why_change h2 {
	color:#fff;
	text-align: center;
}
.why_change dl {
    background-color: #fff;
    display: flex;
    margin-bottom: 3rem;
}
	@media screen and (max-width: 540px) {
		.why_change dl { display: block;padding: 10px; }
	}
.why_change dt {
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	width: 12%;
    font-size: 5.5rem;
    color: #0C3555;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
}
	@media screen and (max-width: 540px) {
		.why_change dt {width: 100%;text-align:center;}
	}
.why_change dd {
	width:88%;
	padding: 2rem 1rem 2rem 0;
}
	@media screen and (max-width: 540px) {
		.why_change dd {width:100%;padding:0;}
	}
.why_change h3 {
	margin-bottom: 1rem;
}
.why_change h3 strong {
	color:#11B8E1;
}

/* evidence */
	@media screen and (max-width: 768px) {
		.evidence .flex_box {
			flex-wrap: wrap;
			flex-direction: column-reverse;
		}
	}
.evidence .flex_box div {
    width: 60%;
    padding-right: 2rem;
}
	@media screen and (max-width: 768px) {
		.evidence .flex_box div { width: 100%;padding-right: 0;}
	}
.evidence .flex_box figure {
    width: 40%;
    display: flex;
    justify-content: center;
    align-items: center;
}
	@media screen and (max-width: 768px) {
		.evidence .flex_box figure { width: 100%;}
	}
.evidence h3 {
	border-bottom: 1px dotted #074F7E;
	padding-top: 2rem;
    margin-bottom: 1rem;
}
.evidence ul { margin-bottom: 1rem; }
.evidence li {
	font-weight: bold;
}

/*--flex２つ横並び --*/
.flex_box.top_2w {
	justify-content: space-between;
	margin-bottom: 2rem;
}
	@media screen and (max-width: 540px) {
		.flex_box.top_2w {
			flex-direction: column;
			margin-bottom: 0;
		}
	}
.flex_box.top_2w div {
	border: 1px solid #000;
	width: 49%;
	padding: 2rem 1rem 1rem;
}
	@media screen and (max-width: 540px) {
		.flex_box.top_2w div {
			width: 100%;
			margin-bottom: 2rem;
		}
	}
.flex_box.top_2w h3 {
	border-left:none;
}
.flex_box.top_2w figure {
	margin-bottom:0;
}

/*----------------------*/
/*------ 固定ページ ------*/
/*----------------------*/
/* 見出し ------*/
main.page h2 {
	border-left: none;
	padding-left: 0;
	margin-bottom: 8rem;
	display: flex;
	align-items: center;
}
	@media screen and (max-width: 768px) {
		main.page h2 { margin-bottom: 6rem; }
	}
	@media screen and (max-width: 540px) {
		main.page h2 { margin-bottom: 3rem; }
	}
.full_width.bg_N h2::before {
	content:none;
}
main.page h3 {
	border-color: #002E41;
	margin-right: 0;
}
.full_width.bg_N h3 {
	color:#FFF;
	text-align: center;
	margin-bottom: 0;
	border-bottom:none;
}
.full_width.bg_N {
    padding: 2rem 0;
}
	@media screen and (max-width: 540px) {
		.full_width.bg_N { padding: 1rem 0;margin-bottom: 1rem;}
	}

/* FV画像ありページ（page-fv） */
main#fv-page .page_header {
	margin:0 auto;
	margin-bottom:6rem;
}
main#fv-page .header_wrap {
	position: relative;
}
main#fv-page .header_wrap h2 {
	border: none;
	color:#fff;
	padding: 10px;
	margin:0;
	position: absolute;
	top: 20px;
    left: 20px;
    right: 20px;
	font-size: clamp(2.4rem, 1.9088rem + 0.909vw, 3rem);
	font-weight: bold;
	line-height: normal;
}
	@media screen and (max-width: 768px) {
		main#fv-page .header_wrap h2 {
			font-size: 1.8rem;
			padding: 5px;
		}
	}
main#fv-page .header_wrap h2::before {
	content:none;
}
main#fv-page .header_wrap figure img {
	width: 100%;
	height: auto;
}

/* 選べる6つのテーマ */
.thema-6 {
    flex-wrap: wrap;
    gap: 1%;
}
.thema-6 dl {
	width:32%;
    margin-bottom: 2rem;
    padding: 10px;
    border: 1px solid #074F7E;
}
	@media screen and (max-width: 768px) {
		.thema-6 dl {width:48%;}
	}
	@media screen and (max-width: 540px) {
		.thema-6 dl {width:100%;}
	}
.thema-6 dt {
	font-size: 1.8rem;
	text-align: center;
    font-weight: bold;
	background-color: #FAE6B8;
	padding: 5px 0;
    margin-bottom: 1rem;
}

/* コース */
.course {
	margin-bottom:2rem;
}
.course .flex_box figure {
    width: 40%;
    padding:0 0 20px 20px;
}
	@media screen and (max-width: 768px) {
		.course .flex_box {
			flex-wrap: wrap;
    		flex-direction: column-reverse;
		}
		.course .flex_box figure {
			 width: 90%;
			 padding: 0 0 20px 0;
			 text-align: center;
			 margin: 0 auto;
		}
	}
	@media screen and (max-width: 540px) {
		.course .flex_box figure {
			width: 100%;
		}
	}
.course .flex_box div {
    width: 60%;
}
	@media screen and (max-width: 768px) {
		.course .flex_box div {
			width: 100%;
		}
	}

/* ---------------------- */
/* -- プライバシーポリシー -- */
/* ---------------------- */
#privacy-policy-page .page_wrap ul li::before {
    content: "・";
}
#privacy-policy-page h2 {
	margin-bottom: 2rem;
}

/* -------------------------- */
/* -- 特定商取引法に基づく表示 -- */
/* -------------------------- */
#legal-information-page dl {
    display: flex;
    flex-wrap: wrap;
    width:90%;
    margin:0 auto 3rem;
}
#legal-information-page dt {
    text-align: right;
    width: 20%;
    font-weight: bold;
}
#legal-information-page dd {
    width: 80%;
    padding-left:3rem;
}
#legal-information-page ul li::before {
	content:"・";
}

/* ------------- */
/* 問い合わせページ */
/* ------------- */
#toiawase-page h2 {
	margin-bottom: 2rem;
}
#toiawase-page .toiawase_form h2 {
    display: block;
    text-align: center;
    margin-bottom: 6rem;
}

/*----------------------*/
/*------ フォーム -------*/
/*----------------------*/
input[type="submit"],
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="reset"],
input[type="button"],
select,
textarea,
button {
	-moz-appearance: none;
	-webkit-appearance: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none;
	border: none;
}
.toiawase_form form {
	width: 75%;
	margin: 3rem auto;
}
	@media screen and (max-width: 768px) {
		.toiawase_form form {width: 100%;}
	}
.toiawase_form form dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 2rem;
}
	@media screen and (max-width: 540px) {
		.toiawase_form form dl {
			display: block;
			width:90%;
			margin:0 auto 2rem;
		}
	}
.toiawase_form form dt { width: 35%; }
	@media screen and (max-width: 540px) {
		.toiawase_form form dt {width: 100%;}
		.toiawase_form form dt p {margin-bottom:0;}
	}
.toiawase_form form dd { width: 65%; }
	@media screen and (max-width: 540px) {
		.toiawase_form form dd {width: 100%;margin-bottom: 2rem;}
		.toiawase_form form dd p {margin-bottom:0;}
	}
.toiawase_form input[type="text"],
.toiawase_form input[type="email"],
.toiawase_form input[type="tel"],
.toiawase_form textarea {
	font-size: 1.6rem;
	width:100%;
	padding:5px;
	border:1px solid #074F7E;
	border-radius: 3px;
}
.privacy_check {
	text-align: center;
	color: #005964;
	margin-bottom: 4rem;
}
span.wpcf7-list-item {
	margin-top:5px;
	display: block;
}
.wpcf7-textarea::placeholder {
	color: #979292;
	opacity: 1.0;
}

/* 必須 ------*/
.required {
	background-color: red;
	font-size: 1.2rem;
	padding: 2px 4px;
	margin-left: 3px;
	color: #fff;
}
/* ボタン ------*/
.wpcf7-spinner { display: none; }
.wpcf7 form .wpcf7-response-output {border:none;}
.form_btn p {
	display: flex;
	justify-content: space-around;
	margin-bottom: 2rem;
}
	@media screen and (max-width: 540px) {
		.form_btn p {
			flex-direction: column;
			justify-content: center;
		}
	}
.form_btn p input {
	max-width: 250px;
	width: 100%;
	padding: 10px;
	color: #fff;
	font-size: 1.6rem;
	cursor:pointer;
}
	@media screen and (max-width: 768px) {
		.form_btn p input {max-width: 220px;}
	}
	@media screen and (max-width: 540px) {
		.form_btn p input {
			max-width: 80%;
			margin: 1rem auto;
		}
	}
.form_btn p input[type="reset"],
.form_btn p input[type="button"] {cursor: pointer;background-color: #074F7E;}
.form_btn p input[type="submit"] {cursor: pointer;background-color: #11B8E1;}

.form_btn p input[type="reset"]:hover,
.form_btn p input[type="button"]:hover {
	border-radius: 60px;
	/*background-color: #00596495;
	border:1x solid #005964;*/
	transition: .3s;
}
.form_btn p input[type="submit"]:hover {
	border-radius: 60px;
	/*background-color: #34997B95;
	border:1x solid #34997B;*/
	transition: .3s;
}

/* 確認画面 -----*/
.toiawase_form.confirm dt,
.toiawase_form.confirm dd {
	border-bottom: 1px solid #ccc;
	padding-top: 16px;
}
	@media screen and (max-width: 540px) {
		.toiawase_form.confirm dt, .toiawase_form.confirm dd { padding-top: 0;}
		.toiawase_form.confirm dt { border-bottom:none; }
		.toiawase_form.confirm dd {padding-bottom: 5px; }
	}


/*----------------------*/
/*------- テーブル ------*/
/*----------------------*/
table.table_A {
	width: 80%;
}
	@media screen and (max-width: 768px) {
		table.table_A { width: 100%;}
	}
table.table_A thead th {
	background-color: #34997B;
	color: #fff;
	padding: 1rem;
	text-align: center;
}
table.table_A thead th.col {border-right: 1px solid #fff;}
table.table_A tbody th {
	width: 15%;
    padding: 1rem;
    vertical-align: top;
    text-align: left;
    border-top: 1px solid #074F7E;
    border-left: 1px solid #074F7E;
    border-bottom: 1px solid #074F7E;
    background-color: #C2DFEC;
}
	@media screen and (max-width: 768px) {
		table.table_A tbody th { width: 20%;}
	}
	@media screen and (max-width: 540px) {
		table.table_A tbody th { width: 25%;}
	}
table.table_A tbody td {
	padding: 1rem;
	vertical-align: top;
	border-right: 1px solid #074F7E;
    border-bottom: 1px solid #074F7E;
    border-top: 1px solid #074F7E;
}

/*----------------------*/
/*------ 記事ページ ------*/
/*----------------------*/
.post_header {
	margin:0 auto;
	margin-bottom:6rem;
	padding-left: clamp(0px, -426.667px + 55.556vw, 240px);
	padding-right: clamp(0px, -426.667px + 55.556vw, 240px);
}
	@media screen and (max-width: 980px) {
		/*.post_header {width:80%; }*/
	}
	@media screen and (max-width: 768px) {
		/*.post_header { width:100%; }*/
	}
main.post .header_wrap {
	position: relative;
}
main.post .header_wrap h2 {
	width:100%;
	border: none;
	padding: 10px 20px;
	margin:0;
	position: absolute;
	top: 20px;
    /*left: 20px;
    right: 20px;*/
	font-size: clamp(2.4rem, 1.9088rem + 0.909vw, 3rem);
	font-weight: bold;
	line-height: normal;
	background-color: #FFFFFF90;
}
	@media screen and (max-width: 768px) {
		main.post .header_wrap h2 {
			font-size: 1.8rem;
			padding: 5px;
		}
	}
main.post .header_wrap h2::before {
	content:none;
}
main.post .header_wrap figure img {
	width: 100%;
	height: auto;
}
/*----- 日付まわり -----*/
.post_times {
	display: flex;
	color: #292727;
	font-size: 1.4rem;
	margin-left: 1rem;
}
	@media screen and (max-width: 540px) {
		.post_times {
			justify-content: flex-end;
		}
	}
.post_times li {
	margin-left: .5rem;
}
.post_times .release-date::before {
	content: "\f017";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1rem;
	position: relative;
	top: -1px;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.post_times .update-date::before {
	content: "\f1da";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1rem;
	position: relative;
	top: -1px;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
/*----- 日付タグまわり -----*/
.p-articleMetas {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 2rem;
}
	@media screen and (max-width: 540px) {
		.p-articleMetas {
			display: inline;
		}
	}
/*--- カテゴリー共通 ---*/
.cate_list ul li::before {
	content: "\f07b";
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	padding-right: 3px;
	color:var(--link-color);
}
/*----- タグ共通 -----*/
.tag_list {
	font-size: 1.2rem;
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
	margin: 0 .25em 0 0;
}
	@media screen and (max-width: 540px) {
		.tag_list {
			justify-content: flex-end;
			margin-bottom: 1rem;
		}
	}
.tag_list a,
.voice_list .tag_list a {
	color: var(--tag_a-color);
	background-color: var(--tag_bg-color);
	padding: .2rem .5rem;
	margin-right: 5px;
	margin-bottom: 3px;
}
.tag_list a::before {
	content: "\f02b";
	color:#fff;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	padding-right: .3rem;
}
.tag_list a:hover,
.voice_list .tag_list a:hover {
	text-decoration-line: underline;
}
.tag_list a:hover::before {
	text-decoration-line: none;
}
/*--------- sns --------*/
.sns_wrap { }
.sns_wrap ul {
	text-align: center;
}
.sns_wrap ul li {
	width: 64px;
	display: inline-block;
	margin: 0 20px;
}
.sns_wrap ul li a {
	display:block;
	color: transparent;
	cursor: pointer;
}
/*----------------------*/
/*------- テーブル ------*/
/*----------------------*/
figure.wp-block-table.table100 table {
	min-width: 800px;
}
figure.wp-block-table.table90 table {
	min-width: 800px;
	width:90%;
	margin:0 auto;
}
.wp-block-table thead {border:none;}
.wp-block-table td, .wp-block-table th { border: none; }

.wp-block-table table {border:1px solid #34997B; }
.wp-block-table thead {
	background-color: #34997B;
	color: #fff;
}
.wp-block-table thead th { border-right: 1px solid #FFF; }
.wp-block-table thead th:last-child { border-right: 1px solid #34997B; }
.wp-block-table tbody th {
	border-top: 1px solid #34997B;
	border-right: 1px solid #34997B;
}
.wp-block-table tbody td {
	border-top: 1px solid #34997B;
	border-left: 1px solid #34997B;
}

/* 記事内 ---*/
.post_wrap {
	margin-bottom: 6rem;
}
.w30 {
	justify-content: space-around;
	margin-bottom: 6rem;
}
/* 丸グリーンリスト ---*/
main.post .circle_G {
	margin-left: 4.8rem;
	padding-top: 2rem;
	margin-bottom: 4rem;
	/*font-weight: bold;*/
}
	@media screen and (max-width: 540px) {
		main.post .circle_G {
			margin-left: 2.4rem;
		}
	}
/* ul　ドッドリスト ---*/
main.post .dot_on {
	margin-bottom: 2rem;
}
/* 背景グリーンの見出し--- */
main.post .full_width.bg_G h2,
main.post .full_width.bg_G h3 {
	border:none;
	padding-left:0;
	color:#fff;
}
main.post .full_width.bg_G h4 {color:#fff;}
/* 見出しh5 ---*/
main.post h5 {
	margin-left: 2.4rem;
	font-size: 1.6rem;
	margin-bottom: 2rem;
}
	@media screen and (max-width: 540px) {
		main.post h5 {
			margin-left: 0;
		}
	}
main.post h5::before {
	margin-right: .8rem;
}
main.post h5 + p {
	margin-left: 2.4rem;
}
	@media screen and (max-width: 540px) {
		main.post h5 + p {
			margin-left: 0;
		}
	}

/*--- 記事内カテゴリ・SNS・tag ---*/
.post_footer {
	max-width:1200px;
	width:100%;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	padding:30px 0;
}
	@media screen and (max-width: 840px) {
		.post_footer {
			flex-direction: column;
			position: relative;
		}
	}
.post_footer div {width:33%;}
.post_footer .cate_list {
	font-size: 1.4rem;
	order:1;
}
.post_footer .cate_list a:hover {
	text-decoration-line: underline;
}
	@media screen and (max-width: 840px) {
		.post_footer .cate_list {
			width:50%;
			order:2;
			margin-bottom: 2rem;
		}
	}
	@media screen and (max-width: 540px) {
		.post_footer .cate_list {
			width:100%;
			position: static;
		}
	}
.post_footer .sns_wrap {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	order:2;
}
.post_footer .sns_wrap a:hover { opacity: 0.8;}
	@media screen and (max-width: 840px) {
		.post_footer .sns_wrap {
			width:100%;
			order:1;
			margin-bottom: 2rem;
		}
	}
.post_footer .sns_wrap ul li{
	/*width: clamp(45px, 43.930px + 0.139vw, 64px);*/
	width:64px;
	margin:0 10px;
}
	@media screen and (max-width: 540px) {
		.post_footer .sns_wrap ul li {width:45px;}
	}
.post_footer .tag_list { order:3; }
	@media screen and (max-width: 840px) {
		.post_footer .tag_list {
			width:50%;
			position: absolute;
			right: 0;
			top: 120px;
		}
	}
	@media screen and (max-width: 540px) {
		.post_footer .tag_list {
			width:100%;
			position: static;
			justify-content: start;
		}
	}

/*--- ページナビゲーション ---*/
.single_nav {
	width: 100%;
	margin: 0 auto 6rem;
	padding-bottom: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.single_nav i {
	color: #074F7E;
}
.single_nav > div {
	width: 20%;
	margin: 0 6rem;
	text-align: center;
}
	@media screen and (max-width: 540px) {
		.single_nav > div {
			width: 45%;
			margin: 0 1rem;
		}
	}
.single_nav > div a {
	display: block;
	color: #074F7E;
	border-radius: 50px;
}
.s_nav_L a::before {
	content: "\f100";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: .5rem;
}
.s_nav_R a::after {
	content: "\f101";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-left: .5rem;
}

/*-----------------*/
/*---- 記事一覧 ----*/
/*-----------------*/
.archive .header_wrap h2 {
	border: none;
	padding-left:0;
    display: flex;
    align-items: center;
}
section.new_list h2,
main#fv-page .new_list h2 {
	padding-left:1rem;
	margin-left:3.4rem;
}
section.new_list h2::before,
main#fv-page .new_list h2::before {
	content: "\f044";
	font-family: "Font Awesome 6 Free";
	color: #11B8E1;
	font-weight: 900;
	font-weight: 400;
	font-size: 4rem;
	margin-right: .5rem;
}
main.post .new_list {
	padding-top: 4rem;
    border-top: 3px solid #11B8E1;
}
 {}
.post_list {
	margin-bottom:6rem;
}
.post_list a {
}
.post_list .post_list_wrap {
	display: flex;
}
	@media screen and (max-width: 640px) {
		.post_list .post_list_wrap {
			flex-direction: column;
			position: relative;
		}
	}
.post_list .post_list_wrap figure{
	width:30%;
}
	@media screen and (max-width: 860px) {
		/*.post_list .post_list_wrap figure{
			width:40%;
		}*/
	}
	@media screen and (max-width: 640px) {
		.post_list .post_list_wrap figure {
			width: 70%;
			margin: 10rem auto 1rem;
		}
	}
	@media screen and (max-width: 540px) {
		.post_list .post_list_wrap figure {
			margin: 8rem auto 1rem;
		}
	}
	@media screen and (max-width: 390px) {
		.post_list .post_list_wrap figure {
			margin: 12rem auto 1rem;
		}
	}
.post_list .post_list_wrap figure img {
	width: 100%;
	height: auto;
}
.post_list .post_list_wrap div {
	width:70%;
	padding-left: 2rem;
}
	@media screen and (max-width: 860px) {
		/*.post_list .post_list_wrap div {
			width:60%;
		}*/
	}
	@media screen and (max-width: 640px) {
		.post_list .post_list_wrap div {
			width:100%;
			padding-left: 0;
		}
	}
.post_list .post_list_wrap h3 {
	border: none;
	font-size:2.4rem;
	padding-left:0;
	margin-bottom:1rem;
}
	@media screen and (max-width: 640px) {
		.post_list .post_list_wrap h3 {
			font-size:2rem;
			position: absolute;
			top: 0;
		}
	}
.post_list .post_list-date {
	font-size: 1.2rem;
	color:#292727;
	margin-bottom: 5px;
	text-align: right;
}
.post_list .post_list-date::before {
	content: "\f1da";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1rem;
	margin-right:2px;
	position: relative;
	top: -1px;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
	@media screen and (max-width: 540px) {
		.post_list .post_list-date {
			width: 100%;
			float: right;
		}
	}
.post_list .post_list_excerpt,
.post_list .post_list_excerpt p {
	color:#000;
}
	@media screen and (max-width: 540px) {
		.post_list .post_list_excerpt {  }
		.post_list .post_list_excerpt p { padding-top: 3rem; }
	}

.post_list .tag_list {
	justify-content: flex-end;
}
.post_list a:hover .post_list_content,
.post_list a:hover .post_list-date  {
	background-color:var(--archive_hover-color);
}
.post_list a:hover .post_list_thumbnail{
	opacity: .8;
}

/*-- 受講生の声一覧 --*/
.voice_list a {
    color: #000;
}
.voice_list h3.post_list_title {
    margin-bottom: 0;
    border-bottom: 1px dotted #074F7E;
    padding-bottom: .2rem;
}
.voice_list .img_f-L figure { width:20%;}
	@media screen and (max-width: 768px) {
		.voice_list .img_f-L figure {
			width:30%;
			margin-right: 20px;
			margin-bottom: 10px;
		}
	}
.voice_list .img_f-L::after {
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: ".";
    line-height: 0;
}

/*------------------------*/
/*--- ページナビゲーション ---*/
/*------------------------*/
.navigation.pagination {
	width: 100%;
	margin: 6rem auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.navigation.pagination a {
	color:#005964;
}
.navigation.pagination .page-numbers {
		padding: 1px 4px;
}
.navigation.pagination .page-numbers.current {
	background-color: #005964;
	color: #fff;
}

/*----------------*/
/*------ 目次 -----*/
/*----------------*/
div#ez-toc-container {
	min-width: 450px;
	width: 50%;
	margin: 6rem auto 4.5rem;
	border: none;
	padding: 0;
}
	@media screen and (max-width: 768px) {
		div#ez-toc-container {
			width: 80%;
		}
	}
	@media screen and (max-width: 540px) {
		div#ez-toc-container {
			min-width: 100%;
		}
	}
.ez-toc-title-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background-color: var(--mokuji_t_bg-color);
}
div#ez-toc-container p.ez-toc-title, #ez-toc-container .ez_toc_custom_title_icon, #ez-toc-container .ez_toc_custom_toc_icon {
	color:var(--mokuji_icon-color);
}
div#ez-toc-container .ez-toc-title-container p.ez-toc-title::after {
	content:"[閉じる]";
	font-size:1.4rem;
	color:var(--mokuji_icon-color);
	margin-left:1rem;
}
div#ez-toc-container.toc_close .ez-toc-title-container p.ez-toc-title::after {
	content:"[開く]";
	font-size:1.4rem;
	color:var(--mokuji_icon-color);
	margin-left:1rem;
}
.ez-toc-title-toggle {
	order: 1;
}
.ez-toc-title-container p {
	margin-bottom:0;
	order: 2;
	margin-left: .8rem;
}
div#ez-toc-container nav ul,
div#ez-toc-container nav ul li {
	padding:0; margin:0;
}
div#ez-toc-container nav ul ul,
div#ez-toc-container nav ul ul li {
	padding:0; margin:0;
}
div#ez-toc-container nav ul ul ul,
div#ez-toc-container nav ul ul ul li {
	padding:0; margin:0;
}
div#ez-toc-container nav ul li,
div#ez-toc-container nav ul ul li,
div#ez-toc-container nav ul ul ul li {
	border-top: 1px dotted #005964;
	padding-top:2px;
	padding-bottom:2px;
}
div#ez-toc-container nav {
	border-bottom: 1px dotted #005964;
}
div#ez-toc-container nav ul li:first-child ,
div#ez-toc-container nav ul ul li:first-child,
div#ez-toc-container nav ul ul ul li:first-child {
	border-bottom:none;
}
div#ez-toc-container nav ul li:first-child {
}
div#ez-toc-container nav a { color:var(--mokuji_a-color);}
div#ez-toc-container nav ul ul li a {
	padding-left:1.2rem;
}
div#ez-toc-container nav ul ul ul li a {
	padding-left:2.4rem;
}
div#ez-toc-container ul.ez-toc-list a {
	color:#000;
	display: block;
	cursor: pointer;
}
div#ez-toc-container ul.ez-toc-list a:visited {
	color:#000;
}
div#ez-toc-container ul.ez-toc-list a:hover {
	text-decoration-line: none;
	color:#000;
	background-color:var(--mokuji_hover_bg-color);
}
.ez-toc-icon-toggle-span svg {
	color: #fff !important;
	fill: #FFF !important;
}
.ez-toc-pull-right {margin-left: 0;}
.ez-toc-btn-xs {padding:0;}
#ez-toc-container .ez-toc-js-icon-con, #ez-toc-container .ez-toc-toggle label, .ez-toc-cssicon {
	left:0;
	margin-right: .8rem;
	border:none;
}
#ez-toc-container nav {
	background-color: var(--mokuji_bg-color);
}
.ez-toc-counter nav ul li a::before {
	color:var(--mokuji_a-color);
}


/*-----------------*/
/*------ FAQ ------*/
/*-----------------*/
.faq .full_width {
	background-color: #0C3555;
	margin-bottom: 3rem;
}
.faq .full_width h2 {
	color: #fff;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding-left: 0;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border:none;
}
.faq .full_width h2::before { content:none; }
.faq h3 {
	border-bottom:none;
	font-size: 1.6rem;
	padding: 0;
	margin: 0;
}
.faq summary {
	cursor: pointer;
	list-style: none;
	position: relative;
	padding: 1rem 2rem;
}
.faq summary::before {
	content: "⬛︎";
	color: #11B8E1;
	position: absolute;
	left: 0;
}
.faq h3::before {
	content: "Ｑ.";
	font-weight: bold;
	font-size: 1.6rem;
}
.faq .answer::before {
	content: "⬛︎";
	color: #F7C334;
	position: absolute;
}
.faq details div {
	padding-left:2rem;
	padding-right: 2rem;
	margin-bottom: 3rem;
}
.faq details div::before {
	content: "Ａ.";
	font-weight: bold;
}
.faq summary::after {
	content: "+";
	position: absolute;
	top: 0;
	right: 0;
	font-size: 2.4rem;
	font-weight: bold;
	transition: transform 0.3s;
}
.faq details[open] summary::after {
	content: "−";
	right: -3px;
}
.faq details div p {display:inline;}


/*-- スマホ下部メニュー --*/
#sp-fixed-menu {
    display: none;
}
/*-- トップへ戻る --*/
.page_top {
	position:fixed;
	bottom:10px;
	right:10px;
	width: 50px;
	height: 50px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	color:#FFF;
	font-size:2.4rem;
	text-decoration:none;
	background-color:#F7C334;
	border: 1px solid;
	border-color:#F7C334;
	text-align: center;
	line-height: 50px;
}
	@media screen and (max-width:540px){
		.page_top {
			bottom:30px;
		}
	}


/* -------------------------- */
/* ローディングスクリーンのスタイル */
/* -------------------------- */
.my_loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    animation: my_fadeOutBackground 1.0s 1.5s forwards;
}

.my_loading img {
    opacity: 0;
    animation: my_logo_fade 1s 0.1s forwards;
    width: 400px; /* ロゴのサイズ（パソコン） */
}

@media screen and (max-width: 959px) {
    .my_loading img {
        width: 250px; /* ロゴのサイズ（スマホ） */
    }
}

/* 背景のフェードアウトアニメーション */
@keyframes my_fadeOutBackground {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}

/* ロゴのフェードイン・フェードアウトアニメーション */
@keyframes my_logo_fade {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    60% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
    }
}

/* ブロックエディタ 修正 */
	@media screen and (max-width: 781px) {
    	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        	flex-basis: 30% !important;
    	}
    }
	@media screen and (max-width: 679px) {
    	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        	flex-basis: 100% !important;
    	}
    }
	@media screen and (max-width: 540px) {
		.wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-8f761849.wp-block-columns-is-layout-flex {
    		flex-wrap: wrap !important;
		}
	}