@charset "utf-8";
/*
theme Name: ONEPIXEL
Author: Masafumi yamaguchi
Description: 株式会社ワンピクセル
version： 1.0.0
*/

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

html {
 font-size: 16px;
 box-sizing: border-box;
 overflow-x: hidden;
}

body {
 width: 100%;
 height: auto;
 font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic';
 line-height: 1.4;
 margin: 0;
 padding: 0;
 color: #333;
 overflow-x: hidden;
 overflow-wrap: break-word;
 box-sizing: border-box;
 text-size-adjust: none;
}
 
h1, h2, h3, h4, h5, h6 {
 font-weight: bold;
 color: #000;
}
 
img {
 max-width: 100%;
 height: auto;
}

small {
 font-size: 0.8rem;
}

table {
 font-size: 0.8rem;
 margin: 1rem auto;
 width: 100%;
}

.t_res thead th {
 font-size: min(5vw,1.5rem);
 color: #fffe00;
 text-align: center;
 text-shadow: 2px 2px 1px #001fae, -2px 2px 1px #04004e, 2px -2px 1px #0058ff, -2px -2px 1px #0058ff, 2px 0px 1px #0058ff, 0px 2px 1px #0058ff, -2px 0px 1px #0058ff, 0px -2px 1px #0058ff;
 background-color: #0031ff;
 background-image: repeating-linear-gradient(60deg, transparent, transparent 4px, rgba(255, 255, 255, 0.34) 4px, rgba(255, 255, 255, 0.34) 8px );
}

.t_res th {
 padding: 1rem;
 background: #dbecff;
 vertical-align: middle;
 font-weight: bold;
 border: #0000b3 1px solid;
}

.t_res td {
 padding: 1rem;
 vertical-align: middle;
 border: #0000b3 1px solid;
}

@media screen and (max-width: 820px) {
.t_res th {
 padding: 0.5rem;
 background: 0000b3;
 border: none;
}
.t_res td {
 padding: 0.5rem;
 border: none;
}
.t_res th {
 display: block;
}
.t_res td {
 display: block;
}}

.heading_edge {
 width: 100%;
 text-align: center;
 font-size: min(12vw,4rem);
 font-weight: bold;
 -webkit-text-stroke: 0.5rem #ff3a84;
 padding: 1rem 0 0.5rem;
 line-height: 1.2;
 position: relative;
 z-index: 1;
}

.heading {
 width: 100%;
 text-align: center;
 font-size: min(12vw,4rem);
 color: #fff;
 font-weight: bold;
 -webkit-text-stroke: 0;
 padding: 1rem 0 0.5rem;
 line-height: 1.2;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 2;
}

p {
 margin: 1rem 0 1.5rem;
}

.archivelink {
 color: #fff;
 font-size: min(7vw,1.2rem);
 font-family: 'Mochiy Pop One';
 width: 90%;
 max-width: 350px;
 text-align: center;
 letter-spacing: .05rem;
 border-radius: 30px;
 background: #666;
 padding: 0.8rem 0;
 border: none;
 margin: 1rem auto;
 position: relative;
 overflow: hidden;
 z-index:1;
}

.archivelink::before {
 content: '';
 position: absolute;
 top: 0;
 left: -75%;
 width: 50%;
 height: 100%;
 background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
 transform: skewX(-25deg);
 z-index: 0;
}

.archivelink:hover::before {
 animation: shine 0.7s;
}

.index {
 width: 100%;
 margin: 0 auto 1rem;
 font-family: 'Mochiy Pop One';
 text-align: center;
 padding: 0.3rem 0;
 line-height: 1;
 font-size: min(7vw,1.8rem);
 color: #fff;
 background: #666;
 position: relative;
 z-index: 1;
}

.nl {
 display: inline-block;
}

.refine {
 display: flex;
 justify-content: center;
 padding: 0 0 1rem;
}

.refine_wrapper {
 min-width: 150px;
 text-align: center;
}

.refine_container {
 font-size: min(4vw,1rem);
 font-weight: bold;
 padding: 0.1rem 0.5rem;
 display: table;
 margin: 0 auto 0.2rem;
}

.refine select {
 min-width: 140px;
 border: none;
 padding: 0.3rem 0.5em;
 border-radius: 15px;
 background: #666;
 color: #fff;
 text-align: center;
 font-weight: bold;
}

.contract {
 width: 100%;
 height: 200px;
 background: #eee;
 overflow-y: scroll;
 padding: 1rem;
 font-size: 0.8rem;
 border-radius: 15px;
 box-shadow: 0px 0px 8px 3px #ccc inset;
}

.contract p {
 margin: 0.5rem 0;
}

.aligncenter{
 display: block;
 margin-left: auto;
 margin-right: auto;
}
.alignright{
 float: right;
 margin-left: 1.5em;
}
.alignleft{
 float: left;
 margin-right: 1.5em;
}

/* ヘッダー */
header {
 width: 100%;
 background: #fff;
 color: #000;
 z-index: 1000;
 position: relative;
 padding: 0 0 5px;
}

@media screen and (min-width:1024px) {
.header_catch_sp {
 display: none;
}}

@media screen and (max-width:1023px) {
.header_catch_sp {
 font-size: min(4vw,1.5rem);
 position: relative;
 bottom: 0;
 left: 0;
 text-align: center;
 z-index: 1;
}
.header_catch_sp:after {
 content: "";
 position: absolute;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 background-image: repeating-linear-gradient(50deg, transparent, transparent 5px, rgba(255, 255, 255, 0.2) 5px, rgba(255, 255, 255, 0.2) 10px );
 z-index: 0;
}}

@media screen and (max-width:1023px) {
.header_catch_pc {
 display: none;
}}

.header_catch_pc {
 font-family: 'Mochiy Pop One';
 color: #fd3b9d;
 font-size: 1.5rem;
 transform: rotate(359deg) skewX(352deg);
 background: linear-gradient(to right, #ff9 0%, #fffe00 100%);
 background-repeat: no-repeat;
 background-position: left bottom;
 background-size: 100% 35%;
 padding: 0 1rem;
}

.header_inner {
 width: 100%;
 max-width: 1280px;
 padding: 3px 0;
 margin: 0 auto;
 display: flex;
 align-items: center;
 position: relative;
}

.site_title_wrap {
 width: 53%;
 max-width: 300px;
 text-align: center;
 line-height: 1.5;
 white-space: nowrap;
 margin-top: -3px;
}

.site_title_wrap a {
 font-family: 'Mochiy Pop One';
 color: #333;
}

.sub_title {
 font-size: min(3.5vw,0.8rem);
}

.site_title_wrap h1 {
 font-family: 'Dela Gothic One';
 font-size: min(6.8vw,1.4rem);
 font-weight: normal;
 transform: scaley(1.3);
 color: #fff;
 text-shadow: 2px 2px 1px #ff0081, -2px 2px 1px #ff0081, 2px -2px 1px #ff0081, -2px -2px 1px #ff0081, 2px 0px 1px #ff0081, 0px 2px 1px #ff0081, -2px 0px 1px #ff0081, 0px -2px 1px #ff0081;
 filter: drop-shadow(3px 3px 2px #999);
}

@media screen and (max-width:540px) {
.site_title_wrap h1 {
 text-shadow: 1px 1px 1px #ff0081, -1px 1px 1px #ff0081, 1px -1px 1px #ff0081, -1px -1px 1px #ff0081, 1px 0px 1px #ff0081, 0px 1px 1px #ff0081, -1px 0px 1px #ff0081, 0px -1px 1px #ff0081;
}}

.info {
 font-family: 'Mochiy Pop One';
 font-size: min(3vw,0.8rem);
 text-align: center;
 line-height: 1.2;
 transform: scale(0.8);
 position: absolute;
 top: -2px;
 right: 8%;
 width: 46%;
 max-width: 210px;
}

.info_catch {
 font-size: min(6vw,1.5rem);
 border: 1px solid #000;
 display: table;
 margin: 0.2rem auto 0.1rem;
 line-height: 1;
 padding: 0.1rem 0.3rem 0.2rem;
 border-radius: 5px;
}

/*ナビゲーション */
.header_menu {
 width: 100%;
 height: auto;
 font-family: 'Mochiy Pop One';
 font-size: min(3.3vw,1rem);
 background: linear-gradient(0deg, rgba(136,136,136,1) 0%, rgba(68,68,68,1) 100%);
 position: relative;
}

.header_list {
 display: flex;
 margin: 0 auto;
 width: 100%;
}

.header_list > li {
 width: 20%;
}

.header_list li {
 list-style: none;
 position: static;
 width: 25%;
}

.header_list li a {
 color: #fff;
 line-height: 2rem;
 text-align: center;
 text-decoration: none;
 width: auto;
}

.header_list li li a {
 font-style: italic;
 line-height: 4rem;
 font-size: 0.8rem;
}

.header_list li a:hover {
 opacity: 0.5;
}

.header_list li li,.sub-menu div {
 height: 0;
 overflow: hidden;
 transition: .5s;
 z-index: 10;
}

@media screen and (min-width: 821px) {
.header_list li li {
 display: inline-block;
 margin-top: -1px;
 margin-left: -1px;
 width: calc(20% + 1px);
}}

.header_list li:hover > ul > li,.sub-menu div {
 height: 4rem;
}

.header_list li ul:hover > ul > li {
 height: 3rem;
 overflow: visible;
}

.menu-item-description {
 font-size: 0.6rem;
 line-height: 1;
 padding-bottom: 1.2rem;
 opacity: 0.8;
}

.header_menu li:before, .header_menu li:after {
 background-color: #fff;
 content: "";
 width: 1px;
 height: 65%;
 position: absolute;
 top: 20%;
 z-index: 1;
}

.header_menu li:first-child:before, .header_menu li:first-child:after {
 display: none;
}

.header_menu li li:before, .header_menu li li:after {
 display: none;
}

.header_list li li div:after {
 content: "\f0da";
 font-weight: bold;
 font-family: "Font Awesome 5 Free";
 margin-left: 1rem;
}

#header_floating_menu {
 width: 100%;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 100;
}

.floating_menu .header_list {
 margin-right: auto !important;
}

ul.sub-menu {
 position: absolute;
 width: 100%;
 top: 75px;
 left: 0;
 background: rgba(255,255,255,0.7);
 font-size: 0;
 text-align: center;
}

@media screen and (max-width: 820px) {
ul.sub-menu {
 position: initial;
 width: 100%;
 top: 75px;
 left: 0;
 background: none;
}}

#header_floating_menu ul.sub-menu {
 top: 50px;
}

.sub-menu div {
 border-left: #333 0.5px solid;
 border-right: #333 0.5px solid;
}

/*ナビゲーション スマホ */
.menu_content_inner {
 width: 100%;
 min-height: 100vh;
 padding: 2rem 5% 0px;
 background: rgba(255, 255, 255,0.8);
 text-align: center;
}

.menu_content_inner img {
 width: 60%;
 max-width: 260px;
 margin-bottom: 1rem;
}

.menu_content_inner ul.sub-menu {
 padding-left: 1rem;
 opacity: 0.8;
 margin-bottom: 1rem;
}

@media screen and (max-width: 820px) {
.menu_content_inner ul.sub-menu {
 padding-left: 0;
 opacity: 0.8;
 margin-bottom: 0;
}}

.menu_btn {
 position: absolute;
 top: 0;
 right: 0;
 display: flex;
 height: 55px;
 width: 15%;
 justify-content: center;
 align-items: center;
 z-index: 100;
}

@media screen and (max-width: 820px) {
.menu_btn {
 position: fixed;
}}

.menu_btn span,
.menu_btn span:before,
.menu_btn span:after {
 content: '';
 display: block;
 height: 2px;
 width: 25px;
 border-radius: 3px;
 background-color: #000;
 position: absolute;
 transition: all 0.5s;
}

.menu_btn span:before {
 bottom: 8px;
}

.menu_btn span:after {
 top: 8px;
}

#menu_btn_check:checked ~ .menu_btn span {
 background-color: rgba(255, 255, 255, 0);
}

#menu_btn_check:checked ~ .menu_btn span::before {
 bottom: 0;
 transition: all 0.5s;
 transform: rotate(45deg);
}

#menu_btn_check:checked ~ .menu_btn span::after {
 top: 0;
 transition: all 0.5s;
 transform: rotate(-45deg);
}

#menu_btn_check {
 display: none;
}

.menu_content ul li {
 list-style: none;
}

.menu_content ul li a {
 display: block;
 font-family: 'Mochiy Pop One';
 font-size: min(5vw,1.2rem);
 width: 70%;
 color: #000;
 text-decoration: none;
 padding: 9px 0 10px 0;
 margin: 0 auto;
 position: relative;
 border-bottom: 1px #000 dashed;
}

.menu_content {
 width: 100%;
 height: 100%;
 position: fixed;
 overflow-y: scroll;
 top: -100%;
 left: 0;
 z-index: 80;
 background-color: rgba(255,255,255,0.6);
 opacity: 0;
 transition: all 0.8s;
}

#menu_btn_check:checked ~ .menu_content {
 top: 0;
 opacity: 1;
}

.menu {
 width: 90%;
 margin: 0 auto;
}

@media screen and (max-width: 540px) {
.menu_content .menu-item-description {
 font-size: 0.5rem;
 display: inline-block;
 padding-bottom: 0;
 padding-left: 0.5rem;
}}

.hamburger_menu li {
 list-style: none;
 position: relative;
}
	
.hamburger_menu li a {
 color: #fff;
 display: block;
 text-decoration: none;
 width: auto;
}

.hamburger_menu li a:hover {
 opacity: 0.5;
}

.hamburger_menu li li {
 height: 0;
 overflow: hidden;
 transition: .5s;
}

.hamburger_menu li li a {
 text-align: center;
 opacity: 0.6;
 font-size: 0.9rem;
}

.hamburger_menu li:hover > ul > li {
 height: 2rem;
 overflow: visible;
}

.menu_content ul li li:last-child {
 margin-bottom: 1rem;
}

.hamburger_menu li li .dropdown {
 display: none;
}

.hamburger_menu .menu-item-has-children > a :before {
 display: block;
 position: absolute;
 top: 10px;
 right: 0;
 width: 20px;
 height: 20px;
 border: 1px solid #000;
 border-radius: 100%;
 line-height: 20px;
 text-align: center;
 content: "+";
}

.dropdown {
 position: absolute;
 width: 35px;
 height: 35px;
 top: 4px;
 right: -6px;
}

/* ドロワー */
.drawer_title {
 font-family: 'Mochiy Pop One';
 font-size: min(2vw,1rem);
 text-align: center;
 line-height: 1.2;
 margin: 1rem 0;
}

.drawer_title h1 {
 font-family: 'Dela Gothic One', cursive;
 font-size: min(10vw,3.5rem);
 font-weight: normal;
 transform: scaleX(0.8);
 color: #fff;
 text-shadow: 2px 2px 1px #ff0081, -2px 2px 1px #ff0081, 2px -2px 1px #ff0081, -2px -2px 1px #ff0081, 2px 0px 1px #ff0081, 0px 2px 1px #ff0081, -2px 0px 1px #ff0081, 0px -2px 1px #ff0081;
 filter: drop-shadow(3px 3px 2px #999);
}

.drawer {
 overflow-wrap: break-word;
 margin-bottom: 30px;
}

.drawer img {
 width: 100%;
 padding: 0;
}

.drawer_character {
 width: 60%;
 max-width: 300px;
 margin: 0 auto;
}

.tremble {
 animation: katakata 2s infinite ease-in-out alternate;
}

/* フロントページ */
.header_banner {
 font-size: 0;
 letter-spacing: -1.4rem;
 padding: 0.5% 0.5% 0.5% 0;
}

@media screen and (max-width: 540px) {
.header_banner {
 padding: 0 1.5% 1.5% 0;
}}

.header_banner_container1 {
 width: 32.83%;
 display: inline-block;
 margin: 0 0 0 0.5%;
 position: relative;
}

@media screen and (max-width: 540px) {
.header_banner_container1 {
 width: 65.16%;
 margin: 0 0 0 1.5%;
}}

.header_banner_container1_1 {
 position: absolute;
 width: 18%;
 bottom: 0;
 left: 0;
 transform-origin: center bottom;
 animation: furifuri 2s infinite;
}

.header_banner_container2 {
 width: 16.16%;
 display: inline-block;
 margin: 0 0 0 0.5%;
 position: relative;
 overflow: hidden;
}

@media screen and (max-width: 540px) {
.header_banner_container2 {
 width: 31.83%;
 margin: 0 0 0 1.5%;
}}

.header_banner_container3 {
 width: 24.5%;
 display: inline-block;
 margin: 0 0 0 0.5%;
 position: relative;
}

@media screen and (max-width: 540px) {
.header_banner_container3 {
 width: 48.5%;
 margin: 1.5% 0 0 1.5%;
}}

.header_banner_container4 {
 width: 24.5%;
 display: inline-block;
 margin: 0 0 0 0.5%;
 position: relative;
}

@media screen and (max-width: 540px) {
.header_banner_container4 {
 width: 48.5%;
 margin: 1.5% 0 0 1.5%;
}}

.container {
 width: 100%;
 height: auto;
 position: relative;
 z-index: 10;
 display: flex;
 justify-content: center;
}

@media screen and (max-width: 540px) {
.container {
 display: initial;
}}

.left_contents_pc {
 width: 15%;
 max-width: 250px;
}

@media screen and (max-width: 540px) {
.left_contents_pc {
 display: none;
}}

.center_contents {
 width: 70%;
 max-width: 820px;
 background: #fff;
}

@media screen and (max-width: 540px) {
.center_contents {
 width: 100%;
}}

.right_contents_pc {
 width: 15%;
 max-width: 250px;
}

@media screen and (max-width: 540px) {
.right_contents_pc {
 display: none;
}}

@media screen and (min-width: 541px) {
.container_sp {
 display: none;
}}

@media screen and (max-width: 540px) {
.container_sp_wrapper {
 display: flex;
 padding: 0 0 0 5%;
 position: relative;
 z-index: 1;
}}

.left_contents_sp,.right_contents_sp {
 width: 50%;
}

.side_container {
 padding: 0 5% 1rem;
 font-size: 0;
}

@media screen and (max-width: 540px) {
.side_container {
 padding: 0 10% 1rem 0;
}}

.side_container img {
 margin-bottom: 0.5rem;
}

.blog_list {
 width: 90%;
 max-width: 820px;
 margin: 0 auto;
 padding: 1rem 0;
 position: relative;
 z-index: 1;
}

.blog-wrap {
 width: 100%;
 display: flex;
 align-items: center;
 border-bottom: 1.5px #555 dashed;
 padding: 0.5rem 0 0.8rem;
 margin: 0 auto 0.3rem;
}

.blog_list_img {
 width: 10%;
 aspect-ratio: 1 / 1;
 overflow: hidden;
 position: relative;
}

@media screen and (max-width:820px) {
.blog_list_img {
 width: 25%;
}}

.blog_list_img img {
 height: 100%;
 object-fit: cover;
 width: 100%;
}

.blog_list_text {
 width: 90%;
 padding: 1% 0 1% 3%;
 display: inline-block;
 vertical-align: top;
 letter-spacing: normal;
}

@media screen and (max-width:820px) {
.blog_list_text {
 width: 75%;
}}

.blog_list_text h2 {
  font-size: initial;
}

.blog_list_cat-data {
 font-size: 0.65rem;
 color: #ff3a84;
 border: 1px solid #ff3a84;
 padding: 0.1rem 0.3rem;
 margin-right: 5px;
 display: table;
}

.bl_cat-data {
 color: #fff;
 background: #ff3a84;
 display: inline-block;
 padding: 0.2rem 0.3rem 0.1rem;
 margin: 0.3rem auto 0;
 text-decoration: none;
 line-height: 1;
 font-size: min(3vw,0.8rem);
 font-weight: bold;
}

.article-date_blog {
 font-size: 0.7rem;
 transform: scale(0.8);
 color: #555;
}

/* フッター */
.footer_banner {
 width: 100%;
 font-size: 0;
}

@media screen and (max-width:540px) {
.footer_banner {
 padding: 1rem 0 1rem 1%;
}}

.footer_banner_wrapper {
 display: table;
 margin: 0 auto;
 padding: 0 1% 0 0;
}

.footer_banner_container {
 display: table-cell;
 width: 20%;
 padding: 1% 0 1% 1%;
 position: relative;
 z-index: 10;
}

@media screen and (max-width:540px) {
.footer_banner_container {
 display: inherit;
 width: 100%;
 padding: 1% 3%;
}}

footer {
 background: linear-gradient(45deg, rgba(30,0,181,1) 0%, rgba(0,87,255,1) 100%);
 color: #fff;
 padding: 2rem 0 1rem;
 position: relative;
}

@media screen and (max-width: 540px) {
footer {
 padding: 2rem 0 90px;
}}

footer:after {
 content: "";
 position: absolute;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 background-image: repeating-linear-gradient(50deg, transparent, transparent 5px, rgba(255, 255, 255, 0.2) 5px, rgba(255, 255, 255, 0.2) 10px );
 z-index: 0;
}

.footer_inner {
 width: 90%;
 max-width: 1280px;
 margin: 0 auto;
 position: relative;
 z-index: 1;
}

.footer_inner a:hover {
 opacity: 0.8;
}

.footer_inner a {
 color: #fff;
 text-decoration: none;
}

.footer_inner li {
 list-style: none;
 display: inline-block;
 padding: 0 10px;
 font-size: 0.8rem;
}

.footer_inner .menu-item-description {
 margin-top: 0.2rem;
 padding-bottom: 0;
}

.footer_list {
 text-align: center;
 margin: 0 0 2rem;
}

.footer_column {
 letter-spacing: -1.4rem;
 font-size: 0;
 width: 100%;
 max-width: 1280px;
 height: auto;
 margin: 0 auto;
}

.footer_column_inner {
 width: 33.3%;
 padding: 1%;
 display: inline-block;
 letter-spacing: normal;
 font-size: 0.9rem;
 vertical-align: top;
 margin: 0 0 1rem;
}

@media screen and (max-width: 540px) {
.footer_column_inner {
 width: 100%;
 padding: 0;
}}

.footer_logo_wrap {
 width: 100%;
 text-align: center;
 line-height: 1.5;
 white-space: nowrap;
 margin-top: -3px;
}

.footer_sub_logo {
 font-size: min(5vw,1rem);
 font-family: 'Mochiy Pop One';
}

.footer_logo {
 font-family: 'Dela Gothic One', cursive;
 font-size: min(9vw,2rem);
 font-weight: normal;
 transform: scaley(1.3);
 color: #fff;
 text-shadow: 2px 2px 1px #ff0081, -2px 2px 1px #ff0081, 2px -2px 1px #ff0081, -2px -2px 1px #ff0081, 2px 0px 1px #ff0081, 0px 2px 1px #ff0081, -2px 0px 1px #ff0081, 0px -2px 1px #ff0081;
 filter: drop-shadow(3px 3px 2px #000);
}

.footer_column li {
 display: list-item;
 font-size: 0.9rem;
 border-bottom: 1px #fff dashed;
 padding: 0.2rem 0.8rem 0.3rem;
 margin: 0 0 0.5rem;
}

@media screen and (max-width:540px) {
.footer_column li {
 margin: 0 auto 0.5rem;
 text-align: center;
}}

.copyright {
 font-size: 0.8rem;
 opacity: 0.8;
 text-align: center;
}

.copyright p {
 margin: 0;
}

.footer_title {
 font-size: 0.85rem;
 opacity: 0.6;
 padding: 5px 0 15px;
 text-align: center;
}

#footer_floating {
 width: 100%;
 height: 80px;
 position: fixed;
 bottom: 0;
 left: 0;
 text-align: center;
 z-index: 100;
}

#footer_floating a {
 text-decoration: none;
 color: inherit;
}

.footer_floating {
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%,-50%);
 transform: translate(-50%,-50%);
 position: relative;
 display: flex;
 border: 1px #0066a1 solid;
}

.floating_box {
 width: 100%;
 height: 80px;
 background: radial-gradient(circle, rgba(0,194,255,1) 0%, rgba(0,87,255,1) 100%);
 border: 0.5px #0066a1 solid;
 display: flex;
 position: relative;
}

.floating_icon {
 width: 100%;
 font-size: 6vw;
 font-family: 'Mochiy Pop One';
 line-height: 1.2;
 position: relative;
 top: 15px;
 color: #fff;
 z-index: 100;
}

.floating_icon_disc {
 font-size: 0.75rem;
}

.floating_icon_menu {
 width: 150%;
 aspect-ratio: 1 / 1;
 background: linear-gradient(0deg, rgb(237, 182, 0) 0%, rgb(255, 115, 0) 100%);
 border: 3px #fff200 solid;
 border-radius: 50%;
 position: absolute;
 top: -15px;
 left: -5%;
}

.fim {
 font-family: 'Mochiy Pop One';
 font-size: 4.5vw;
 color: #fff;
 position: absolute;
 top: 26%;
 left: 12%;
}

.stars{
 position: absolute;
 left:-60%;
 top:-10%;
 width: 100%;
 height:100%;
 z-index: 0;
}

.stars span{
 position:relative;
}

.stars span:before {
 content: "";
 position: absolute;
 width: 10px;
 height: 10px;
 transform:scale(0.20);
}

.stars span.s:before{
 box-shadow: 20px 20px #FFFFFF;
}

.stars span.m:before{
 box-shadow: 
 20px 10px #FFF176,
 10px 20px #FFF176,
 20px 20px #FFFFFF,
 30px 20px #FFF176,
 20px 30px #FFF176
}

.stars span:nth-child(1){left:10%; top:10%; animation: star-anim 8s 0s infinite;}
.stars span:nth-child(2){left:80%; top:20%; animation: star-anim 6s 1s infinite;}
.stars span:nth-child(3){left:60%; top:40%; animation: star-anim 5s 2s infinite;}
.stars span:nth-child(4){left:20%; top:70%; animation: star-anim 7s 3s infinite;}
.stars span:nth-child(5){left:80%; top:80%; animation: star-anim 7s 4s infinite;}

.stars span:nth-child(6){left:40%; top:10%; animation: star-anim 4s 0s infinite;}
.stars span:nth-child(7){left:10%; top:50%; animation: star-anim 7s 1s infinite;}
.stars span:nth-child(8){left:50%; top:50%; animation: star-anim 8s 2s infinite;}
.stars span:nth-child(9){left:90%; top:90%; animation: star-anim 5s 3s infinite;}
.stars span:nth-child(10){left:80%; top:50%; animation: star-anim 7s 4s infinite;}

.totop {
 position: absolute;
 font-family: 'Mochiy Pop One';
 font-size: 7px;
 text-align: center;
 bottom: 20px;
 right: 20px;
 line-height: 65px;
 color: #fff;
 background: #ff3a84;
 border-radius: 100%;
 width: 65px;
 height: 65px;
}
	
@media screen and (max-width:540px) {
.totop {
 font-size: 10px;
 text-align: left;
 padding-left: 10px;
 bottom: 98px;
 right: -5%;
 line-height: 25px;
 border-radius: 15px;
 width: 30%;
 height: 25px;
}}

/* パンくずリスト */
.breadcrumbs {
 width: 90%;
 max-width: 1280px;
 margin: 0.5rem auto;
 font-size: 0.8rem;
 position: relative;
 z-index: 1;
}

.breadcrumbs a {
 color: #333;
 text-decoration: none;
}

.breadcrumbs li {
 display: contents;
 margin: 0 10px 0 0;
}

.breadcrumbs li:after {
 font-family: 'onepixel' !important;
 content: "\e901";
 font-size: 0.8rem;
 padding: 0 0.5rem 0;
 text-align: center;
}

.breadcrumbs li:last-child:after {
 display: none;
}

/* ページャー */
#pager_navigation {
 letter-spacing: normal;
 text-align: center;
 margin: 5% 0;
}

.page-numbers li {
 display: inline-grid;
 font-size: 0.8rem;
 width: 25px;
 height: 25px;
 line-height: 25px;
}

.page-numbers.current {
 background: #ff3a84;
 border: 1px #ff3a84 solid;
 border-radius: 5px;
 color: #fff;
}

.page-numbers li a {
 background: #fff;
 border: 1px #e70518 solid;
 border-radius: 5px;
 color: #e70518;
}

.nav-links a {
 color: #333;
 text-decoration: none;
}

/* 投稿・固定ページ 共通 */
.article-content h2 {
 font-family: 'Mochiy Pop One';
 font-size: min(5vw,1.5rem);
 font-weight: normal;
 color: #ff3a84;
 text-align: center;
 padding: 0.5rem 2.5%;
 margin: 1rem 0;
 text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
 background-color: #ffc800;
 background-image: repeating-linear-gradient(50deg, transparent, transparent 5px, rgba(255, 255, 255, 0.7) 5px, rgba(255, 255, 255, 0.7) 10px );
}

.archive_header_edge  {
 width: 100%;
 text-align: center;
 font-size: min(9vw,3rem);
 font-weight: bold;
 -webkit-text-stroke: 0.3rem #ff3a84;
 padding: 1rem 0 0.5rem;
 line-height: 1.2;
 position: relative;
 z-index: 1;
}

.archive_header{
 width: 100%;
 text-align: center;
 font-size: min(9vw,3rem);
 color: #fff;
 font-weight: bold;
 -webkit-text-stroke: 0;
 padding: 1rem 0 0.5rem;
 line-height: 1.2;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 2;
}

.title_st_edge {
 font-size: min(3.5vw,1.5rem);
 -webkit-text-stroke: 0.2rem #ff3a84;
}

.title_st {
 font-size: min(3.5vw,1.5rem);
}

.post_header {
 width: 100%;
 margin: 0 auto;
 font-family: 'Mochiy Pop One';
 text-align: center;
 padding: 0.3rem 2.5%;
 line-height: 1;
 font-size: min(3.5vw,1.2rem);
 color: #fff;
 background: linear-gradient(0deg, rgba(136,136,136,1) 0%, rgba(68,68,68,1) 100%);
 position: relative;
 z-index: 1;
}

.post_header h1 {
 font-weight: normal !important;
 color: inherit;
}

/* 投稿ページ */
.eye_catch {
 width: 100%;
 aspect-ratio: 4 / 2;
 position: relative;
 z-index: 1;
}

.contents {
 width: 100%;
 max-width: 1280px;
 margin: 0 auto;
}

.contents p {
 margin: 15px 0;
}

.article-title h1 {
 color: #000;
 font-weight: bold;
 padding: 10px 0;
 margin: 15px 0;
 border-bottom: 2px solid #000;
}

.date-single {
 display: flex;
 align-items: center;
 justify-content: center;
 margin-top: 1rem;
}

.article-date-single {
 font-size: 0.85rem;
 margin-right: 0.8rem;
}

.cat-data-single {
 color: #ff3a84;
 border: 1px #ff3a84 solid;
 display: table;
 padding: 0.2rem 0.8rem;
 border-radius: 5px;
 text-decoration: none;
 line-height: 1;
 font-size: 0.7rem;
}

.cat-data-single a {
 color: #ff3a84;
}

.article-title {
 width: 100%;
}

.article-content {
 padding: 0 0 15px;
 line-height: 1.5;
 width: 90%;
 margin: 0 auto;
}

.single_page_fix {
 text-align: center;
 border-top: 1px solid #999;
 border-bottom: 1px solid #999;
 padding: 1.5rem 2.5%;
 margin: 0 0 2rem;
}

/* 投稿ページ  SNS */
.sns_share {
 text-align: center;
 margin-bottom: 15px;
}
.sns_share a {
 color: #333;
 text-decoration: none;
}

.sns_share li {
 list-style: none;
 display: inline-block;
 margin: 5% 2%;
}

/* 投稿ページ  前後記事 */
.before_and_after {
 position: relative;
 width: 100%;
 height: auto;
 display: flex;
 align-items: center;
 flex-wrap: nowrap;
 font-size: 0.8rem;
 padding-bottom: 2rem;
 border-bottom: 1px solid #999;
 margin-bottom: 1rem;
}

.before_and_after a {
 text-decoration: none;
 color: #444;
}

.before_and_after_left {
 width: 50%;
 padding: 0 2.5%;
 height: 100%;
 left: 0;
 text-align: center;
 top: 0;
 border-right: 1px #000 dashed;
}

.before_and_after_right {
 width: 50%;
 padding: 0 2.5%;
 height: 100%;
 right: 0;
 text-align: center;
 top: 0;
}

/* 固定ページ */

/* サイドバー */

/* アーカイブ */
#archive {
 margin: 0 auto;
 width: 95%;
 max-width: 820px;
 position: relative;
 z-index: 1;
}

.archive_list {
 width: 100%;
 max-width: 820px;
 margin: 0 auto;
 padding: 1rem 0;
 position: relative;
 z-index: 1;
}

.archive_list a {
 text-decoration: none;
 color: #000;
 width: 76.5%;
}

.article-title-list {
 text-align: left;
}

@media screen and (max-width: 540px) {
.article-title-list {
 font-size: 0.9rem;
}}

.update {
 background: #ff9700;
 border-radius: 5px;
 color: #fff;
 padding: 0.1rem 0.3rem;
 font-size: 0.7rem;
 font-weight: bold;
}

.archive_list-wrap {
 width: 95%;
 max-width: 820px;
 margin: 0 auto 0.3rem;
 display: flex;
 align-items: center;
 border-bottom: 1.5px #000 dashed;
 padding: 0.5rem 0 0.8rem;
}

.cat-data, .cat-data a {
 color: #fff;
 background: #ff3a84;
 display: table;
 padding: 0.2rem 0.3rem 0.1rem;
 margin: 0.3rem auto 0;
 text-decoration: none;
 line-height: 1;
 font-size: min(3vw,0.8rem);
 font-weight: bold;
}

.article-date {
 text-align: center;
 font-size: 0.8rem;
 width: 21%;
 margin: 0 2.5% 0 0;
 line-height: 1;
}

.archive_date {
 font-size: 0.8rem;
 margin-bottom: 5px;
 z-index: 10;
}

@media screen and (max-width: 540px) {
.archive_date {
 margin-bottom: 0;
}}

h2.articles_title a {
color: #333;
text-decoration: none;
font-size: 1.2rem;
line-height: 1.3;
}

@media screen and (max-width: 540px) {
h2.articles_title a {
font-size: 0.8rem;
}}

h2.screen-reader-text {
 display: none;
}

label.screen-reader-text {
 display: none;
}

select#archives-dropdown-2, select#archives-dropdown-3 {
 width: 100%;
 padding: 0.5rem;
}

.sidebar-inner li{
 position: relative;
 padding-left: 10px;
}
 
.sidebar-inner li:before {
 content: "";
 position: absolute;
 top: 0.6rem;
 left: 0;
 width: 0;
 height: 0;
 border-width: 5px;
 border-style: solid;
 border-color: transparent transparent transparent #000000;
}

.articles_index {
 width: 48%;
 margin: 1% 1% 3%;
 display: inline-block;
 letter-spacing: normal;
 vertical-align: top;
}

.articles_index_thumbnail {
 aspect-ratio: 3 / 2;
 overflow: hidden;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 margin-bottom: 3%;
 transition: 0.5s all;
}

.articles_index_thumbnail img {
 transition: 0.5s all;
}

.articles_index_thumbnail img:hover{
 transform:scale(1.2,1.2);
 transition:0.8s all;
}

.archive_date {
 font-size: 0.8rem;
 margin-bottom: 5px;
 z-index: 10;
}

@media screen and (max-width: 540px) {
.archive_date {
 margin-bottom: 0;
}}

h2.screen-reader-text {
 display: none;
}

/* サイトマップ */
#sitemap a {
 text-decoration: none;
 color: #333;
}

#sitemap li {
 margin: 1rem 0;
}

#sitemap li > ul {
 margin: 1rem;
}

#sitemap li > ul > li a {
 color: #888;
}

#sitemap li > ul > li {
 color: #999;
}

/* 検索 */
.search_result {
 font-size: min(7vw,1.8rem);
 font-family: 'Mochiy Pop One';
 color: #ff3a84;
 letter-spacing: normal;
 text-align: center;
 padding: 1rem 5%;
 position: relative;
 z-index: 1;
}

#searchform {
 letter-spacing: -1.4rem;
}

input#s {
 width: 70%;
 max-width: 100%;
 height: 35px;
 vertical-align: middle;
 border: 2px solid #8eb4ff;
 padding: 5px 2%;
 margin-right: 2%;
 background: #f9f9f9;
}

button {
 width: 28%;
 height: 35px;
 vertical-align: middle;
 line-height: 0;
 border: 0;
 background: #2a72ff;
 color: #fff;
 padding: 2%;
}

.search_filter {
 padding: 0 0 0.5rem;
}

.search_filter form,.search_filter_wrapper {
 padding: 0.5rem 0 1rem;
 text-align: center;
 letter-spacing: -1.4rem;
 font-size: 0;
}

.search_filter_wrapper {
 width: 95%;
 margin: 0 auto;
}

.search_filter_container {
 letter-spacing: normal;
 display: inline-block;
 font-size: min(4vw,1rem);
 font-weight: bold;
 margin-right: 1rem;
}

.search_filter input[type="submit"] {
 background: #ff0081;
 color: #fff;
 font-weight: bold;
 border: none;
 padding: 0.3rem 2em;
 border-radius: 15px;
}

/* 404 */
.not_found {
 text-align: center;
 border: 2px #ff3a84 dashed;
 color: #ff3a84;
 padding: 15px 20px;
 display: table;
 margin: 1rem auto 2rem;
}

.not_found_search {
 width: 90%;
 max-width: 800px;
 margin: 30px auto;
}

/* スワイパー */
.swiper {
 font-size: 0;
 margin: 0 0 1rem;
}

.swiper-slide {
 max-height: 450px
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
 font-size: min(6vw,2.5rem) !important;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
 font-size: min(6vw,2.5rem) !important;
}

.swiper-container-free-mode > .swiper-wrapper {
 -webkit-transition-timing-function:linear!important;
 -o-transition-timing-function:linear!important;
 transition-timing-function:linear!important;
}

/* モーダルウィンドウ */
.modal-wrapper {
 z-index: 999;
 position: fixed;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 padding: 60px 10px;
 text-align: center
}

.modal-wrapper:not(:target) {
 opacity: 0;
 visibility: hidden;
 transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
 opacity: 1;
 visibility: visible;
 transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
 display: inline-block;
 height: 100%;
 margin-left: -.05em;
 vertical-align: middle;
 content: ""
}

.modal-window {
 letter-spacing: normal;
 text-align: left;
 color: #333;
}

.modal-wrapper .modal-window {
 display: inline-block;
 z-index: 20;
 position: relative;
 width: 95%;
 max-width: 1080px;
 padding: 30px 30px 15px;
 border-radius: 2px;
 background: #fff;
 box-shadow: 0 0 30px rgba(0, 0, 0, .6);
 vertical-align: middle
}

.modal-wrapper .modal-window .modal-content {
 max-height: 80vh;
 overflow-y: auto;
}

.modal-overlay {
 z-index: 10;
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 background: rgba(0, 0, 0, .5)
}

.modal-wrapper .modal-close {
 z-index: 20;
 position: absolute;
 top: 0;
 right: 0;
 width: 35px;
 color: #95979c !important;
 font-size: 20px;
 font-weight: 700;
 line-height: 35px;
 text-align: center;
 text-decoration: none;
 text-indent: 0
}

.modal-wrapper .modal-close:hover {
 color: #2b2e38 !important
}

/* アニメーション */
@keyframes shine {
 100% {
 left: 125%;
}}

@keyframes katakata {
 0% {transform:translate(0, 0) rotate(0deg);}
 21% {transform:translate(0, 0) rotate(0deg);}

 22% {transform:translate(0, 0) rotate(-3deg);}
 23% {transform:translate(0, -1px) rotate(0deg);}
 24% {transform:translate(0, -1px) rotate(3deg);}

 25% {transform:translate(1px, 0) rotate(-2deg);}
 26% {transform:translate(0, 1px) rotate(0deg);}
 27% {transform:translate(0, 0) rotate(3deg);}

 28% {transform:translate(0, 0) rotate(0deg);}
 100% {transform:translate(0, 0) rotate(0deg);}
}

@keyframes furifuri {
  0% {transform: rotate(0deg);}
  50% {transform: rotate(0deg);}
  51% {transform: rotate(20deg);}
  99% {transform: rotate(20deg);}
  100% {transform: rotate(0deg);}
}

@keyframes star-anim {
 0% {opacity:0;}
 5% {opacity:1;}
 10% {opacity:0;}
 55% {opacity:0;}
 60% {opacity:1;}
 95% {opacity:0;}
 100% {opacity:1;}
}

/* コンタクトフォーム */
.cf_heading {
 background: #6d6d6d;
 display: table;
 color: #fff;
 padding: 0.1rem 0.5rem;
 margin: 1rem 0 0.5rem;
}

.wpcf7 input[type="text" i], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] {
 padding: 0.5rem !important;
 width: 100% !important;
 max-width: 540px !important;
}

textarea.wpcf7-form-control.wpcf7-textarea {
 width: 100% !important;
 padding: 0.5rem !important;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
 width: 100% ;
 font-size: min(5vw,1.5rem);
 font-weight: bold;
 color: #fff;
 background: #000;
 padding: 1rem 0;
 margin: 1rem 0;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}