@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/* Font-Family IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector {
	font-family: "Segoe UI", Meiryo, sans-serif;
}
/* ヘッダーロゴの位置調整 */
.logo-header {
padding: 0px 0 140px 0;
}
/* 動画埋め込みCocoon必須 */
.video-container {
max-width: 100%;
margin: 0px auto;
}
/* YouTubeレスポンシブ */
iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"] {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}
/* グローバルナビ */
#navi .current-menu-item a {
	background-color: #FFFBF0;
	text-decoration: none;
}
#navi .navi-in a:hover {
	background-color: #2897cf;
	transition: all 0.5s ;
	color: #ffffff;
	text-decoration: none;
}
#navi .item-description{
	display:none;
}
/*テキストセンタリング*/
.center {
	text-align: center;
}
/*テキスト左寄せ*/
.left {
	text-align: left;
}
/*空白行*/
.space {
  line-height: 2;
}
/*テキストに下線*/
.blue-under {
	background: linear-gradient(transparent 75%, #1e90ff 75%);
}
.yellow-under {
	background: linear-gradient(transparent 75%, #ffff00 75%);
}
.pink-under {
	background: linear-gradient(transparent 75%, #f9ccf7 75%);
}
.red-under {
	background: linear-gradient(transparent 75%, #ff0000 75%);
}
/*TOC*/
.toc {
  display: block;
  padding: 0px;
  max-width: 100%;
  border: 1.2px #6ec4db solid !important;
 }
.toc-title {
  position: relative;
  padding: 10px 0;
  background: #6ec4db;
  color: #fff;
  font-weight: bold;
 }
.toc .toc-content {
  padding: 15px 20px;
  background-color: #FFFBF0;
 }
.toc .toc-content a:hover {
  font-weight:bold;
 }
/*Tableスクロール*/
.p-sticky-table{
	white-space: nowrap;
	line-height:1.6;
}
.p-sticky-table table{
	border:none;
	border: 1px solid #D1D1D1;
	border-bottom: none;
	border-collapse: collapse;
	word-break: break-all;
	table-layout: fixed;
	display:block;
	overflow:scroll;
	max-height: 600px;
}
.p-sticky-table thead th:first-child {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 3;
}
.p-sticky-table thead th {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 2;
	text-align:center;
}
.p-sticky-table tbody th:first-child{
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	z-index: 1;
	border:none;
	white-space: normal;
	min-width: 200px;
}
.p-sticky-table th, .p-sticky-table td {
	min-width: 50px;
	text-align: left;
	font-size: 16px !important;
	position: relative;
	padding: 13px !important;
	color: #333;
	border: none !important;
	z-index: 0;
	vertical-align:middle !important;
	background:#fff;
}
.p-sticky-table th{
	background:#f0f9ff !important;
	letter-spacing: 1px;
	font-weight: 600 !important;
	color: #555 !important;
}
.p-sticky-table tr{
	border-bottom:none !important;
}
.p-sticky-table img{
	margin: 10px auto;
	display: block;
	padding: 0;
	max-width: 80% !important;
}
.p-sticky-table table th::before, .p-sticky-table table td::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border-right: 1px solid #D1D1D1;
	border-bottom: 1px solid #D1D1D1;
	z-index: -1;
}
/* スマホ */
@media screen and (max-width: 560px) {
	.p-sticky-table table {
		max-height: 60vh;
  	}
	.p-sticky-table thead th:first-child, .p-sticky-table tbody th:first-child {
    		min-width: 25vw;
  	}
 	.p-sticky-table th, .p-sticky-table td {
    		font-size: 12px !important;
    		padding: 7px !important;
  	}
}
/* 中央寄せ */
.pst-center td {
	text-align: center;
}
/* テーブルブルーストライプ */
.pst-blue thead th, .pst-blue tbody th {
  background: #E0F8F1 !important;
}
.pst-blue tr:nth-child(odd) td {
  background: #fff;
}
.pst-blue tr:nth-child(even) td {
  background: #E0F9F9;
}
.pst-blue table th::before {
  border-right: 1px solid #D1D1D1;
  border-bottom: 1px solid #D1D1D1;
}
/*絞り込み検索*/
.mysearch-form input, .mysearch-form select {
	margin-bottom: 0.5em;
	border-color: blue;
}
.mysearch-form input[name="s"]:hover{
	background-color: #fffaf0;
    border-color: red;
}
.mysearch-form input[type="submit"]{
	border-radius:6px;
	max-width:100%;
	font-size:18px;
}
.mysearch-form #submit {
	color:white;
	background-color:#2897cf ;
	box-shadow: 0 3px rgba(0, 0, 0, 0.5);
}
.mysearch-form #submit:hover {
	background-color:#ff9900 ;
	color:#ffffff;
	border:solid 1px #0000ff;
	box-shadow: 0 3px rgba(0, 0, 0, 0.5);
}
.mysearch-form #submit:active {
	position: relative;
	top: 3px;
	box-shadow: none;
}
/*絞り込み検索結果*/
.search-highlight {
    background-color: #FFD700;
    color: #333;
    font-weight: bold;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(255, 215, 0, 0.3);
}
/*サイドバー*/
#sidebar h3 {
	border-bottom: 6px solid #2897cf;
	padding-bottom: 0px;
}
.underline{
	text-underline-offset: 0.2em;
	text-decoration: underline 4px solid #ff9900;
}
#sidebar-scroll h3 {
	border-bottom: 6px solid #2897cf;
	padding-bottom: 0px;
}
/************************************
** Contact form 7 入力フォームデザイン
************************************/
/*「必須」文字デザイン*/
.required {
	font-size: .8em;
	padding: 5px;
	background: #F57500;
	color: #fff;
	border-radius: 3px;
	margin-right: 5px;
}
/*「任意」文字デザイン*/
.optional {
	font-size: .8em;
	padding: 5px;
	background: #000080;
	color: #fff;
	border-radius: 3px;
	margin-right: 5px;
}
/*チェックボックスデザイン*/
.checkbox-cf7 {
	background: orange;
	color: #000;
	margin: 1em;
	padding:4px 2px 2px;
	border-radius: 5px;
}
.checkbox-cf7 input[type=checkbox] {
	transform: scale(1.4);
	margin-right: 4px;
}
/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text, textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
	color:black;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}
/* 「送信する」ボタン */
#cf7-btn {
	display: block;
	padding: 15px;
	width: 400px;
	border:solid 2px #00BA7B;
	background: #00BA7B;
	color: white;
	font-size: 18px;
	font-weight: 300;
	border-radius: 2px;
	margin: 15px auto 0
}
#cf7-btn:hover {
	background: white;
	font-weight:600;
	color: #00BA7B;
	border:solid 2px #00BA7B;
}
@media screen and (max-width:768px) {
    #cf7-btn {
	width: 250px;
}
}
/*入力内容不備*/
.wpcf7 form.invalid .wpcf7-response-output{
    color: #dc3232;
	font-weight: 900;
	border: 1.5px solid #dc3232;
	border-radius: 2px;
	margin: 1.5em 0;
	padding: 0.5em 1em;
	text-align: center;
}
/*送信成功*/
.wpcf7 form.sent .wpcf7-response-output {
background:#d5edda;
color:#185626;
border:1px solid #c4e5cc;
padding:10px
}
/*送信失敗*/
.wpcf7 form.failed .wpcf7-response-output {
background:#f7d7da;
color:#711d26;
border:1px solid #f4c6cb;
padding:10px
}
/*スパムなどで送信ブロックされた場合*/
.wpcf7 form.spam .wpcf7-response-output {
background:#fff2cf;
color:#846314;
border:1px solid #feedbd;
padding:10px
}
/*--------------------------------
画像角丸
---------------------------------*/
.b_r img{
    border-radius: 20px;
	border: solid 2px #00BA7B;
}
/*--------------------------------
画像丸く切り抜き ※256px × 256px
---------------------------------*/
.i_c_b img{
  width: 70%;
  height: 70%;
  border: solid 1px blue;
  border-radius: 50%;
  object-fit: cover;
}
/*--------------------------------
画像丸く切り抜き ※256px × 256px
---------------------------------*/
.i_c_r img{
/*  display: block; */
  width: 70%;
  height: 70%;
  border: solid 1px red;
  border-radius: 50%;
  object-fit: cover;
/*object-position:54% 36%; */
}
/*--------------------------------
画像丸く切り抜き ※256px × 256px
---------------------------------*/
.i_c_g img{
/*  display: block; */
  width: 70%;
  height: 70%;
  border: solid 1px green;
  border-radius: 50%;
  object-fit: cover;
/*object-position:54% 36%; */
}
/*--------------------------------
画像丸く切り抜き ※256px × 256px
---------------------------------*/
.i_c_o img{
/*  display: block; */
  width: 70%;
  height: 70%;
  border: solid 1px orange;
  border-radius: 50%;
  object-fit: cover;
/*object-position:54% 36%; */
}
/*--------------------------------
画像丸く切り抜き ※256px × 256px
---------------------------------*/
.i_c_p img{
/*  display: block; */
  width: 70%;
  height: 70%;
  border: solid 1px purple;
  border-radius: 50%;
  object-fit: cover;
/*object-position:54% 36%; */
}
/*--------------------------------
画像マウスホバーで拡大
---------------------------------*/
.scale {
  cursor: pointer;
  max-width: 305px;
  overflow: hidden;
  width: 100%;
}
.scale img {
  height: auto;
  transition: transform .6s ease;
}
.scale:hover img {
  transform: scale(1.1);
}
/*--------------------------------
画像縦並び
---------------------------------*/
.flexbox {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.flex-item {
    width: 100%;
}
/*--------------------------------
画像横並び（3つ）
---------------------------------*/
.img-three {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	align-items: flex-start;
    width: 100%;
/*	height:100%;*/
}
.item {
    width: calc(100% / 3 - 10px);
/*	margin-bottom:5px; */
    text-align: center;
}
/*--------------------------------
画像横並び（2つ）
---------------------------------*/
.img-two {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	align-items: flex-start;
    width: 100%;
	height:100%;
}
.item {
    width: calc(100% / 2 - 10px);
	object-fit: cover;
    text-align: center;
}
/*--------------------------------
文字のグラデーション　GOLD
---------------------------------*/
.gold {
  display: inline-block;
  font-size: x-large;
  font-weight: bold;
  background: linear-gradient(90deg, #8c7537 0%, #dbb00b 45%, #fde79d 70%, #dbb10c 85%, #bc7f04 90% 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/*--------------------------------
文章を徐々に透明化
---------------------------------*/
.whtp {
  position: relative;  /* 基準位置とする */
  font-size: 18px;
}
.whtp::before {
  content: "";         /* 疑似要素に必須 */
  width: 100%;         /* 幅いっぱい */
  height: 100%;        /* 高さいっぱい */
  display: block;      /* 高さを指定するためにブロック要素にする */
  background: linear-gradient(rgba(255,255,255,0) 0, #fff 80%); /* 徐々に透明にする */
  position: absolute;  /*  */
  top: 0;
  left: 0;
}
/*--------------------------------
swpm 登録フォーム　姓名非表示
---------------------------------*/
/*
.swpm-registration-firstname-row,
.swpm-registration-lastname-row {
	display:none;
}
/*--------------------------------
swpm profileページ メール項目編集不可
---------------------------------*/
/*
#swpm-profile-form .swpm-email-row input{
	pointer-events: none;
	background: #F2F2F2;
}
/*--------------------------------
swpm プロフィールページ項目非表示
---------------------------------*/
/*
.swpm-firstname-row,
.swpm-lastname-row,
*/
.swpm-phone-row,
.swpm-street-row,
.swpm-city-row,
.swpm-state-row,
.swpm-zipcode-row,
.swpm-country-row,
.swpm-company-row {
	display:none;
}
/*--------------------------------
ボタンデザイン
---------------------------------*/
.btn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #27acd9;
	border-radius: 100vh;
	transition: 0.5s;
}
.btn:hover {
	color: #fff;
	background: #27acd9;
}
/*--------------------------------
水平線
---------------------------------*/
hr {
	border-top: none;
	position: relative;
	height: 2px;
	border-width: 0;
	background-image: -webkit-linear-gradient(left,transparent 0%,#283593 50%,transparent 100%);
	background-image: linear-gradient(90deg,transparent 0%,#283593 50%,transparent 100%);
	margin-top: 30px;
	margin-bottom: 30px;
}
/*--------------------------------
リンクボタン
---------------------------------*/
.button a {
	max-width: 100%;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	display: block;
	margin: auto;
	text-align:center;
	padding: 8px 0 10px;
	border: 1px solid #225588;
	border-radius: 5px;
	box-shadow: inset 0 -2px 2px rgba(0, 0, 0, 0.5);
	margin-bottom: 10px;
}
.button:active a {
	position: relative;
	top: 2px;
	box-shadow: none;
}
/*--------------------------------
リンクボタン　白+薄黄色
---------------------------------*/
.button a {
	background-color:#FFFFBF;
	max-width: 100%;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	display: block;
	margin: auto;
	text-align:center;
	padding: 8px 0 10px;
	border: 1px solid #225588;
	border-radius: 5px;
	box-shadow: inset 0 -2px 2px rgba(0, 0, 0, 0.5);
	margin-bottom: 10px;
}
.button:active a {
	position: relative;
	top: 2px;
	box-shadow: none;
}
/*--------------------------------
リンクボタン　白+薄青
---------------------------------*/
.btn_b a {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	max-width: 80%;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	color: #fff;
	background: #27acd9;
	border-bottom: 2px solid #fff;
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	-webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
}
.btn_b:hover a {
	color: #27acd9;
	background: #fff;
	border-bottom: 2px solid #27acd9;
	transform: translateY(3px);
}
/*--------------------------------
お問い合わせボタン　オレンジ+白
---------------------------------*/
.btn_o a {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	max-width: 80%;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	color: #fff;
	background: #FFB347;
	border-bottom: 2px solid #fff;
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	-webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
}
.btn_o:hover a {
	color: #ee7800;
	background: #fff;
	border-bottom: 2px solid #ee7800;
	transform: translateY(3px);
}
/*--------------------------------
記事内の文章を枠で囲む
---------------------------------*/
.frame {
	max-width: 100%;
	position: relative;
	font-size: 18px;
	margin: 22px auto;
	padding: 0px 10px 10px 20px;
	line-height: 1.5;
	border: 3px solid #FF81A0;
	border-radius: 8px;
	box-shadow: 5px 5px 0px -2px rgba(0, 0, 0, 0.4);
	margin-top: 5px;
	margin-bottom: 25px;
}
.attention {
	position: absolute;
	display: inline-block;
	top: -.5em;
	left: 10px;
	padding: 0 9px;
	line-height: 1;
	font-size: 22px;
	background: #FFF;
	color: #FF81A0;
	font-weight: bold;
}
/*--------------------------------
カード型アフィリエイトリンク
---------------------------------*/
.item-box {
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	box-shadow: 1px 1px 5px #ccc;
}
.item-box:after {
	content: '';
	display: block;
	clear: both;
}
.item-box img {
	max-width: 100%;
	display: block;
	margin: auto;
}
.item-box>div {
	float: left;
	width: 50%;
}
.item-box-left {
	padding-left: 0;
}
.item-box-right {
	position: relative;
}
.item-box-right h4 {
	margin: 0;
	padding: 10px;
	background: #eee;
	border-radius: 5px;
}
.item-box-right h4 a {
	letter-spacing: 1px;
	font-size: 20px;
	font-weight: bold;
	color: #666;
	margin-top: 0;
	padding-top: 0;
}
.item-box-right p {
	font-size: 16px;
}
.item-box-right .item-btn {
	font-size: 18px;
	text-align: center;
	position: relative;
	background-color: #4CAF50;
	border-radius: 4px;
	color: #fff;
	line-height: 50px;
	max-width: 100%;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #0e8c73;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
.item-box-right .item-btn a {
	color: #fff;
	display: block;
}
.item-box-right .item-btn a:hover {
	color: #FF0000;
}
.item-box-right .item-btn:hover {
	background-color: #55ce5a;
	box-shadow: 0 3px 0 #23a188;
}
.item-box-right .item-btn:active {
	top: 3px;
	box-shadow: none;
}
.item-box-right .item-label {
	background-color: rgba(251, 192, 45, 0.5);
	display: inline-block;
	border-radius: 50%;
	height: 80px;
	width: 80px;
	line-height: 80px;
	text-align: center;
	color: #000;
	position: absolute;
	top: -50px;
	right: -50px;
	z-index: 10;
	transform: rotate(10deg);
	box-shadow: 1px 1px 5px #ccc;
}
@media screen and (max-width: 740px) {
	.item-box>div {
		width: 100%;
	}
	.item-box-right {
		margin-top: 40px;
	}
	.item-box-right .item-label {
		right: -20px;
	}
}
/*--------------------------------
文章を縦書き（右から左）
---------------------------------*/
.wrap-vrl {
	direction: rtl;
	overflow: auto;
	text-align: right;
	font-size: 0;
	background: #fff6e5;
	border: 1px solid #ff7f50;
	border-radius: 3px;
	padding: 0 15px;
}
.content-vrl {
	direction: ltr;
	display: inline-block;
	text-align: left;
	font-size: 18px;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
.content p {
	font-feature-settings: 'pkna';
	line-height: 2;
	letter-spacing: .05em;
}

/*--------------------------------
テキスト選択禁止
---------------------------------*/
body {
	-webkit-touch-callout: none;
	/* iOS Safari */
	-webkit-user-select: none;
	/* Safari */
	-khtml-user-select: none;
	/* Konqueror HTML */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
	user-select: none;
	/* Non-prefixed version, currently supported by Chrome and Opera */
}
/*--------------------------------
一部コピー許可
---------------------------------*/
.copyok {
	-webkit-touch-callout: text !important;
	/* iOS Safari */
	-webkit-user-select: text !important;
	/* Safari */
	-khtml-user-select: text !important;
	/* Konqueror HTML */
	-moz-user-select: text !important;
	/* Firefox */
	-ms-user-select: text !important;
	/* Internet Explorer/Edge */
	user-select: text !important;
	/* Non-prefixed version, currently supported by Chrome and Opera */
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
    .logo img {
		height: 45px !important;
		margin: .5em auto;
	}
}
