@charset "UTF-8";
/*
Theme Name: 飯野高校RAHEN
Theme URI: http://tesakai.sakura.ne.jp/
Description: 飯野高校様専用のWordPressテーマです
Version: 1.0
Author: TS
*/
/* Defult */
html, body, div, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, address, hgroup, menu, nav, output, ruby, section, sum mary, time, mark, audio, video {
  font-family: 'Noto Sans JP', sans-serif;
  color: #5A5A5A;
  font-size: 14px;
  line-height: 2;
  font-weight: 500;
  word-break: break-word;
}
img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
a { transition: 0.5s; }
a:hover {
  opacity: 0.8;
  transition: 0.5s;
}
body {
  width: 100%;
  box-sizing: border-box;
}

/* Font */

.fwe_regular { font-weight: 400; }
.fwe_medium { font-weight: 500; }
.fwe_bold {font-weight: 700; }

/* Layout */

.txt_left { text-align: left; }
.txt_center { text-align: center; }
.txt_right { text-align: right; }
.txt_justify { text-align: justify; }

.left { margin-left: 0; margin-right: auto; }
.center { margin-left: auto; margin-right: auto; }
.right { margin-left: auto; margin-right: 0; }

.ctrl { display: inline-block; }

/* header */
header { height: 90px; }
header .header-inner {
  padding: 25px 40px;
	margin: 0 auto;
	position: relative;
	background-color: #ffffff;
	position: fixed;
	top: 0;
	z-index: 5;
	width: 100%;
  box-sizing: border-box;
}
header .header-menu {
	display: flex;
	align-items: center;
}
header .header-menu .logo { margin-right: auto; }
header .header-menu .logo img {
  display: block;
	max-height: 40px;
  width: auto;
}
header .pc-header {
  display: flex;
  align-items: center;
}
header .pc-header ul li {
	display: inline-block;
	margin: 0 1vw;
  line-height: 1;
}
header .pc-header ul li:last-child { margin-right: 3.6vw; }
header .pc-header ul li a {
  font-size: 1.10rem;
	color: #000000;
  line-height: 1;
}
header .pc-header ul li a::after {
	display: block;
	content: "";
	width: 0;
	height: 1px;
	background-color: #969696;
	margin-top: 5px;
  transition: 0.5s;
}
header .pc-header ul li a:hover::after { width: 100%; }
header .pc-header ul li a img {
	height: 1em;
  width: auto;
}
/* 検索バー */
header .searchform {
  border-bottom: 1px solid;
  box-sizing: border-box;
}
header .searchform .bodysearch { display: none!important; }
header .searchform input {
  background-color: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  outline: none;
  width: 10em;
  padding: 0;
  line-height: 1.8;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
header .searchform button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
header .searchform button img {
	width: auto;
	height: 1em;
}
header .pc-header .searchform .white-icon { display: none; }
header .sp-header .searchform .black-icon { display: none; }
header .pc-header .searchform { border-color: #969696; }
header .sp-header .searchform { border-color: #ffffff; }
header .pc-header .searchform input { color: #000000; }
header .sp-header .searchform input { color: #ffffff; }
@media screen and (max-width:1280px) {
  header { height: 60px; }
  header .header-inner { padding: 15px 10px; }
  header .header-menu .logo img { max-height: 30px; }
  header .pc-header ul li { margin: 0 0.5vw; }
  header .pc-header ul li:last-child { margin-right: 3vw; }
}
@media screen and (min-width:1024px) {
	header #toggle, header #globalNav { display: none; }
}
@media screen and (max-width:1023px) {
  header { height: 72px; }
  header .header-menu {
  	align-items: center;
  	padding-right: 50px;
  	height: 42px;
  }
	header .pc-header { display: none; }
	header #toggle {
		position: fixed;
		z-index: 9999;
		top: 17px;
		right: 15px;
		width: 35px;
		height: 25px;
		cursor: pointer;
	}
	header #toggleBar,
	header #toggleBar::before,
	header #toggleBar::after {
		position: absolute;
		left: 0;
		display: block;
		width: 35px;
		height: 2px;
		border-radius: 2px;
		background: #000000;
		content: "";
		transition: 0.5s ease;
	}
	header #toggleBar {
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	header #toggleBar::before { margin-top: -10px; }
	header #toggleBar::after { margin-top: 10px; }
	header #toggleBar.active { background: transparent; }
	header #toggleBar.active::before {
    background: #ffffff;
		margin-top: 0;
		transform: rotate(-45deg);
	}
	header #toggleBar.active::after {
    background: #ffffff;
		margin-top: 0;
		transform: rotate(45deg);
	}
  header #globalNav {
  	position: fixed;
  	bottom: 0;
  	left: 0;
  	overflow-y: auto;
  	width: 100%;
  	max-width: 100%;
  	height: 100%;
  	background-color: rgba(32,32,32,0.9);
  	transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  	transform: translateX(120%);
  	-webkit-overflow-scrolling: touch;
  	z-index: 100;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  }
  header #globalNav.active { transform: translateX(0); }
	header .sp-header { padding: 30px 0 40px; }
	header .sp-header ul { width: 100%; text-align: center; display: block; }
	header .sp-header ul li { display: block; margin: 40px auto; line-height: 1; }
  header .sp-header ul li a { color: #fff; line-height: 1; }
  header .sp-header ul li a img { height: 1em; width: auto; }
}
.admin-bar header .header-inner { top: 32px; }
.admin-bar header #toggle { top: 55px; }
@media screen and (max-width:782px) {
  .admin-bar header .header-inner { top: 46px; }
  .admin-bar header #toggle { top: 69px; }
}

/* footer */
footer {
  background-color: #F5F5F5;
  padding: 20px 40px 40px;
  display: flex;
  align-items: flex-end;
  
}
footer .foot-logo {
	max-height: 65px;
	width: auto;
  margin-right: 2.5vw;
}
footer .left-items {
	display: flex;
	align-items: flex-end;
	flex-shrink: 0;
}
footer .btnlinks { width: 690px; }
footer .btn {
  display: inline-block;
  text-align: center;
  vertical-align: bottom;
  width: 100%;
  max-width: 315px;
  margin: 10px 25px 0 0;
  padding: 15px;
  font-size: 0.9rem;
  line-height: 1.4;
  box-sizing: border-box;
  color: #000000;
  background-color: #ffffff;
  border-radius: 30px;
  position: relative;
  overflow: hidden;
  border: 1px solid #000;
}
footer .btn::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000000;
  transform: translateX(-100%);
  transition: 0.5s;
}
footer .btn .text { position: relative; }
footer .btn .arrow_wrapper {
	position: absolute;
	top: 50%;
	right: 18px;
	transform: translateY(-50%);
}
footer .btn:hover {
  opacity: 1;
  color: #ffffff;
}
footer .btn:hover::before { transform: translateX(0); }
footer .btn:hover .arrow_r::before { background-color: #ffffff; }
footer .btn:hover .arrow_r::after { border-color: #ffffff; }
footer .right-items {
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-end;
	flex-direction: row-reverse;
}
footer .copyright {
	color: #646464;
	font-size: 0.8rem;
  margin-top: 10px;
}
footer .snslinks img {
  width: 25px;
  height: auto;
}
footer .snslinks a { margin-left: 2vw; }
@media screen and (max-width:1280px) {
  footer { padding: 30px; }
  footer .foot-logo { max-height: 55px; }
  footer .left-items { align-items: center; }
  footer .btnlinks { width: 350px; }
  footer .btn:first-child { margin-top: 0; }
  footer .right-items { flex-direction: column; }
}
@media screen and (max-width:1023px) {
  footer {
    display: block;
    padding: 30px 10px;
  }
  footer .left-items, footer .right-items {
    display: block;
    text-align: center;
    margin: 0 auto;
  }
  footer .foot-logo { margin-right: 0; }
  footer .btnlinks {
    width: 100%;
    max-width: 300px;
    margin: 30px auto;
  }
  footer .btn {
    max-width: 300px;
    margin: 20px 0 0 0;
  }
  footer .snslinks a { margin: 0 15px; }
  footer .copyright { margin-top: 20px; }
}

/* main */
.wrapper {
  padding-left: 10px;
  padding-right: 10px;
}
.arrow_r {
	position: relative;
	display: block;
	width: 10px;
	height: 16px;
}
.arrow_r::before {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 10px;
	height: 2px;
	background-color: #000000;
	content: "";
	transition: 0.5s;
	transform: translateY(-50%);
}
.arrow_r::after {
	position: absolute;
	top: 50%;
	right: 2px;
	display: block;
	width: 6.5px;
	height: 6.5px;
	border-top: 2px solid #000000;
	border-right: 2px solid #000000;
	content: "";
	transition: 0.5s;
	transform: rotate(45deg) translateY(-2px);
	transform-origin: center right;
}

/* トップページ */
.top-mainslider .wpsisac-slick-carousal { margin-bottom: 35px; }
.top-mainslider .wpsisac-slick-carousal.wpsisac-center.variablewidthv .slick-slide .wpsisac-image-slide-wrap { opacity: 0.5!important; }
.top-mainslider .wpsisac-slick-carousal.wpsisac-center.variablewidthv .slick-slide.slick-current .wpsisac-image-slide-wrap { opacity: 1!important; }
.top-mainslider .wpsisac-slick-carousal .wpsisac-image-slide { margin: 0; }
.top-mainslider .wpsisac-slick-carousal .slick-dots { margin-top: 15px !important; }
.top-mainslider .wpsisac-slick-carousal .slick-dots li button {
	background: #B8B8B8 !important;
	border: none;
	width: 8px !important;
	height: 8px !important;
}
.top-mainslider .wpsisac-slick-carousal .slick-dots li.slick-active button { background: #424242 !important; }
.top-mainslider .wpsisac-slick-carousal .slick-arrow { display: none !important; }

.top-bannerslider { padding-bottom: 50px; }
.top-bannerslider .wpsisac-slick-carousal .wpsisac-image-slide { margin: 0 15px; }
.top-bannerslider .wpsisac-slick-carousal .slick-arrow { display: none !important; }

.top-gadgets {
	background-image: url("./images/top-gadgets-bgimg.png");
	background-repeat: repeat;
	background-size: 1920px auto;
	padding-top: 100px;
	padding-bottom: 100px;
}
.top-gadgets .gadgets {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.top-gadgets .gadget-item { width: 30%; }
.top-gadgets .gadget-item:first-child { margin-right: 5%; }
.top-gadgets .gadget-item:last-child { margin-left: 5%; }
.top-gadgets .gadget-name {
	font-size: 1.5rem;
  line-height: 1.3;
	color: #000000;
	padding: 0 0 10px 15px;
	border-left: 4px solid #000000;
  border-bottom: 1px solid #000000;
  margin-bottom: 30px;
}
.top-gadgets .gadget-name a {
  color: #000000;
	float: right;
	padding-right: 20px;
	position: relative;
}
.top-gadgets .gadget-name a .arrow_wrapper {
	position: absolute;
	top: 55%;
	right: 5px;
  transform: translateY(-50%);
}
.top-gadgets .news-gadget a {
  position: relative;
	display: block;
	padding: 20px 15px 20px 0;
	border-top: 2px dotted #ACACAC;
}
.top-gadgets .news-gadget a:first-child {
  padding-top: 0;
  border-top: none;
}
.top-gadgets .news-gadget a::after {
	position: absolute;
	top: 50%;
	right: 5px;
	display: block;
	width: 6.5px;
	height: 6.5px;
	border-top: 1px solid #525252;
	border-right: 1px solid #525252;
	content: "";
	transition: 0.5s;
	transform: rotate(45deg);
	transform-origin: center right;
}
.top-gadgets .news-gadget .title {
	color: #000000;
  height: 3em;
  line-height: 1.5;
  margin-bottom: 10px;
	word-wrap: break-word;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.top-gadgets .news-gadget .date {
  color: #646464;
  font-size: 0.9rem;
}

.top-contentslist {
  padding-top: 80px;
  padding-bottom: 100px;
}
.top-contentslist .sec-title {
  color: #000000;
  text-align: center;
  margin-bottom: 60px;
}
.top-contentslist .sec-title .eng {
  display: block;
  font-size: 1.15rem;
}
.top-contentslist .sec-title .jpn {
  display: block;
  font-size: 1.5rem;
}
.top-contentslist .btn,
.btnlink {
  display: block;
  text-align: center;
  width: 100%;
  max-width: 400px;
  margin: 65px auto 0;
  padding: 30px 40px;
  font-size: 1.2rem;
  line-height: 1.4;
  box-sizing: border-box;
  color: #000000;
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 40px;
  position: relative;
  overflow: hidden;
}
.top-contentslist .btn::before,
.btnlink::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000000;
  transform: translateX(-100%);
  transition: 0.5s;
}
.top-contentslist .btn .text,
.btnlink .text { position: relative; }
.top-contentslist .btn .arrow_wrapper,
.btnlink .arrow_wrapper {
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
}
.top-contentslist .btn:hover,
.btnlink:hover {
  opacity: 1;
  color: #ffffff;
}
.top-contentslist .btn:hover::before,
.btnlink:hover::before { transform: translateX(0); }
.top-contentslist .btn:hover .arrow_r::before,
.btnlink:hover .arrow_r::before { background-color: #ffffff; }
.top-contentslist .btn:hover .arrow_r::after,
.btnlink:hover .arrow_r::after { border-color: #ffffff; }

/* 投稿一覧ページ */
.post-list {
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}
.post-item {
  width: 30%;
  margin-right: 5%;
  margin-bottom: 60px;
}
.post-item:nth-child(3n) { margin-right: 0; }
.post-item .eyecatch { margin-bottom: 20px; }
.post-item .title {
  color: #000000;
  font-size: 1.15rem;
  height: 4em;
  margin-bottom: 10px;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.post-item .excerpt {
  font-size: 0.9rem;
  height: 2em;
  margin-bottom: 20px;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.post-item .info {
	display: flex;
	align-items: center;
}
.post-item .date {
  display: inline-block;
  font-size: 0.9rem;
  margin-right: auto;
}
.post-item .category {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
}
.post-item .category::before,
.post-item .category::after {
  display: inline-block;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 18px;
  height: 1.6em;
}
.post-item .category::before { margin-right: 0.3em; }
.post-item .category::after { margin-left: 0.3em; }
.post-item .category.news { color: #646464; }
.post-item .category.news::before { background-image: url("./images/cat-gray-before.png"); }
.post-item .category.news::after { background-image: url("./images/cat-gray-after.png"); }
.post-item .category.event { color: #FFAE00; }
.post-item .category.event::before { background-image: url("./images/cat-yellow-before.png"); }
.post-item .category.event::after { background-image: url("./images/cat-yellow-after.png"); }
.post-item .category.blog { color: #4060C6; }
.post-item .category.blog::before { background-image: url("./images/cat-blue-before.png"); }
.post-item .category.blog::after { background-image: url("./images/cat-blue-after.png"); }
.post-item .category.other { color: #000000; }
.post-item .category.other::before { background-image: url("./images/cat-black-before.png"); }
.post-item .category.other::after { background-image: url("./images/cat-black-after.png"); }

/* 投稿詳細ページ */
/* エディタ作成部分 */
.blogcontents h1 {
  margin: 2.5em 0 0.7em;
  font-size: 2.3rem;
  line-height: 1.6;
}
.blogcontents h2 {
  margin: 2.5em 0 0.7em;
  font-size: 2rem;
  line-height: 1.6;
}
.blogcontents h3 {
  margin: 2em 0 0.7em;
  font-size: 1.7rem;
  line-height: 1.5;
}
.blogcontents h4 {
  margin: 1.5em 0 0.7em;
  font-size: 1.5rem;
}

.blogcontents p {
  margin: 0 0 1.5em;
}
.blogcontents > p {
  line-height: 1.93;
}
.blogcontents p a {
  text-decoration: underline;
}
.blogcontents p a:hover {
  text-decoration: none;
}
.blogcontents iframe {
  max-width: 100%;
}

/*表*/
.blogcontents table {
  width: 100%;
  margin-bottom: 1.5em;
  border: 2px solid #e0e0e0;
}

/*表をレスポンシブに*/
.blogcontents table.tb-responsive {
  display: block;
  overflow-x: auto;
  width: 100%;
  white-space: nowrap;

  -webkit-overflow-scrolling: touch;
}

.blogcontents table caption {
  margin: 0 0 7px;
  color: #9fa6b4;
  font-size: 0.75em;
  letter-spacing: 1px;
}
.blogcontents tr:not(:last-child) {
  border-bottom: 2px solid #e0e0e0;
}
.blogcontents td {
  padding: 7px;
  border-right: 2px solid #e0e0e0;
  word-break: break-all;
}
.blogcontents td:last-child,
.blogcontents th:last-child {
  border-right: 0;
}
.blogcontents th {
  padding: 7px;
  border-right: 2px solid #e0e0e0;
  border-bottom: 2px solid #e0e0e0;
  background: #f8f9fa;
}
.blogcontents tfoot {
  border-top: 2px dotted #c5c7ca;
  background: #f8f9fa;
}
.blogcontents table.is-style-stripes {
  border: none;
}

/*引用*/
.blogcontents blockquote {
  box-sizing: border-box;
  position: relative;
  margin: 1.5em 0;
  padding: 13px 15px 13px 50px;
  border: solid 2px #464646;
  color: #464646;
}
.blogcontents blockquote:before {
  display: inline-block;
  position: absolute;
  top: 20px;
  left: 15px;
  font-size: 2.7rem;
  vertical-align: middle;
  line-height: 1;
  content: '“';
  color: #A3804D;
}
.blogcontents blockquote p {
  margin: 10px 0;
  padding: 0;
  line-height: 1.7;
}
.blogcontents blockquote cite {
  display: block;
  color: #888;
  font-size: 0.9em;
  text-align: right;
}
.blogcontents blockquote ul,
.blogcontents blockquote ol {
  border: none;
  padding: 5px 0 5px 22px;
  margin: 0;
  background: transparent;
}

/*リスト*/
.blogcontents ul,
.blogcontents ol {
  margin-bottom: 1.5em;
  padding: 1em 1em 1em 2.5em;
  border: solid 2px #e8e8e8;
  border-radius: 3px;
}
.blogcontents ul {
  list-style-type: disc;
}
.blogcontents li {
  padding: 5px 0;
}
.blogcontents li ul li,
.blogcontents li ol li {
  padding: 0;
}
.blogcontents ol {
  list-style-type: decimal;
}
.blogcontents ul li ul,
.blogcontents ul li ol,
.blogcontents ol li ul,
.blogcontents ol li ol {
  margin: 0;
  padding: 0.5em 0 0.5em 1.3em;
  border: none;
}

/*定義リスト*/
.blogcontents dd {
  margin-bottom: 1.5em;
  margin-left: 0;
  color: #787878;
  font-size: 0.9em;
}

/*画像*/
.blogcontents img {
  max-width: 100%;
  height: auto;
}
.blogcontents .size-auto,
.blogcontents .size-full,
.blogcontents .size-large,
.blogcontents .size-medium,
.blogcontents .size-thumbnail {
  max-width: 100%;
  height: auto;
}
.blogcontents .aligncenter,
.blogcontents img.aligncenter {
  clear: both;
  margin-right: auto;
  margin-left: auto;
}
.blogcontents img.aligncenter {
  display: block;
}

/*ギャラリー*/
.gallery {
  margin: 1em 0;
}
.gallery-item {
  display: inline-block;
  margin: 10px 0;
  vertical-align: middle;
}
.gallery-item img {
  box-shadow: 0 5px 10px -3px rgba(0, 0, 0, 0.26), 0 0 4px rgba(0, 0, 0, 0.12);
  transition: 0.3s ease-in-out;
}
.gallery-item img:hover {
  box-shadow: 0 18px 22px -6px rgba(0, 0, 0, 0.3);
}
.gallery-icon {
  text-align: center;
}
.gallery-columns-1 .gallery-item {
  width: 100%;
  margin-right: 0;
}
.gallery-columns-2 .gallery-item {
  width: 49%;
  margin-right: 1%;
}
.gallery-columns-3 .gallery-item {
  width: 32%;
  margin-right: 1%;
}
.gallery-columns-4 .gallery-item {
  width: 24%;
  margin-right: 1%;
}
.gallery-columns-5 .gallery-item {
  width: 19%;
  margin-right: 1%;
}
.gallery-columns-6 .gallery-item {
  width: 15%;
  margin-right: 1.5%;
}

.gallery-item .gallery-caption {
  color: #F0F0F0;
  font-size: 0.75em;
  margin: 5px 0;
  text-align: center;
}

/*キャプション*/
.blogcontents .wp-caption {
  max-width: 100%;
  margin: 0 0 1.5em;
  padding: 8px;
  border: #eaedf2 2px solid;
  box-sizing: border-box;
}
.blogcontents .wp-caption.aligncenter {
  margin: 0 auto 1em;
}
.blogcontents .wp-caption img {
  max-width: 100%;
  width: 100%;
  margin-bottom: 0;
}
.blogcontents .wp-caption p.wp-caption-text {
  margin: 10px 0 0;
  font-size: 0.85em;
  text-align: center;
}

/*コード*/
.blogcontents code,
.blogcontents .haiiro {
  padding: 0.2em 0.3em;
  margin: 0 0.1em;
  border-radius: 5px;
  background: #f1f2f3;
  color: #404040;
  font-size: 0.9em;
}
.blogcontents pre {
  margin: 0 0 1.5em;
  padding: 1em;
  border: solid 1px #eaedf2;
  background: #f3f6fc;
  color: #54687c;
  white-space: pre-wrap;
}
.blogcontents pre code {
  padding: 0;
  background: transparent;
}

/* responsive */
@media only screen and (max-width: 40.0625em) {
  .top-mainslider .wpsisac-slick-carousal .wpsisac-image-slide-wrap,
  .top-mainslider .wpsisac-slick-carousal .wpsisac-image-slide { height: 590px !important; }
}
@media screen and (max-width:1024px) {
  .top-gadgets .gadgets { max-width: 690px; }
  .top-gadgets .gadget-item { width: 47.5%; }
  .top-gadgets .gadget-item:first-child {
    width: 100%;
    margin: 0 0 50px;
  }
  .top-gadgets .gadget-item:not(:first-child) { width: 47.5%; }
  .top-gadgets .gadget-item:last-child { margin-left: 5%; }
}
@media screen and (max-width:767px) {
  .post-list { max-width: 660px; }
  .post-item {
    width: 47.5%;
    margin-right: 5%;
    margin-bottom: 40px;
  }
  .post-item:nth-child(3n) { margin-right: 5%; }
  .post-item:nth-child(2n) { margin-right: 0; }
}
@media screen and (max-width:480px) {
  .post-list { max-width: 400px; }
  .post-item {
    width: 100%;
    margin: 0 0 30px;
  }
  .post-item:nth-child(3n) { margin-right: 0; }
  .post-item .excerpt { margin-bottom: 15px; }

  .top-gadgets .gadget-item:first-child,
  .top-gadgets .gadget-item:not(:first-child),
  .top-gadgets .gadget-item:last-child {
    width: 100%;
    margin: 0 0 30px;
  }
  .top-contentslist .btn { width: 95%; }
}

/* pagenation */
.pnavi { text-align: center; margin-top: 30px; }
@media screen and (min-width:768px) {
  .pnavi a.page-numbers {
    border: 2px solid #000;
    padding: 10px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 20px;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
  }
  .pnavi .page-numbers.current {
    border: 2px solid #000;
    background-color: #000;
    color: #fff;
    padding: 10px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 20px;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
  }
}
@media screen and (max-width:767px) {
  .pnavi a.page-numbers {
    border: 2px solid #000;
    padding: 5px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 5px;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
  }
  .pnavi .page-numbers.current {
    border: 2px solid #000;
    background-color: #000;
    color: #fff;
    padding: 5px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 5px;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
  }
}
.pnavi a.prev.page-numbers,
.pnavi a.next.page-numbers {
  border: none;
}
.pnavi a.prev.page-numbers img,
.pnavi a.next.page-numbers img {
  width: 15px;
  vertical-align: middle;
}

/* 検索ボックス */
.search_block .freesearch .headsearch { display: none!important; }
@media screen and (min-width:768px) {
  .search_block {
    margin: 50px auto;
    text-align: center;
    background-color: #fafafa;
    padding: 10px 30px;
    border-radius: 40px;
    display: table;
    width: auto;
  }
  .search_block .freesearch {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    font-weight: bold;
    padding-right: 20px;
  }
  .search_block .freesearch input.archive_text {
    border: none;
    background: none;
  }
  .search_block .freesearch input.archive_text:focus-visible {
    outline: none;
  }
  .search_block .categorysearch {
    display: inline-block;
    vertical-align: middle;
    padding: 5px 0 5px 20px;
    border-left: 1px solid #000;
  }
  .search_block .categorysearch ul li {
    list-style-type: none;
    margin: 0 10px;
    display: inline-block;
    background-color: #fff;
  }
  .search_block .categorysearch ul li a {
    display: block;
    padding: 10px 30px;
    border: 1px solid #000;
    border-radius: 40px;
  }
  .search_block .categorysearch ul li a:hover,
  .search_block .categorysearch ul li.active a {
    background-color: #f0f0f0;
  }
}
@media screen and (max-width:767px) {
  .search_block {
    margin: 50px auto;
    text-align: center;
   /* background-color: #fafafa;
    padding: 10px 30px;
    border-radius: 40px;
    display: table;
    width: auto; */
  }
  .search_block .freesearch {
    font-weight: bold;
  }
  .search_block .freesearch input.archive_text {
    border: none;
    background: #fafafa;
    padding: 10px 30px;
    border-radius: 40px;
    width: 100%;
    margin: 20px 0;
  }
  .search_block .freesearch input.archive_text:focus-visible {
    outline: none;
  }
  .search_block .categorysearch {
    display: inline-block;
    vertical-align: middle;
    margin: 10px auto;
  }
  .search_block .categorysearch ul li {
    list-style-type: none;
    margin: 0 3px;
    display: inline-block;
    background-color: #fff;
  }
  .search_block .categorysearch ul li a {
    display: block;
    padding: 20px;
    border: 1px solid #000;
    border-radius: 40px;
  }
  .search_block .categorysearch ul li a:hover,
  .search_block .categorysearch ul li.active a {
    background-color: #f0f0f0;
  }
}

/* 投稿記事用 */
.singlecontent {
  padding-top: 80px;
  padding-bottom: 100px;
}
.singlecontent section {
  max-width: 750px;
  margin: 0 auto;
}
.singlecontent .eyecatch {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 30px;
}
.singlecontent .author {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px 0 10px;
}
.singlecontent .author .category a { padding: 4px 15px; color: #fff; border-radius: 30px; }
.singlecontent .author .category.news a { background-color: #646464; }
.singlecontent .author .category.event a { background-color: #FFAE00; }
.singlecontent .author .category.blog a { background-color: #4060C6; }
.singlecontent .author .category.other a { background-color: #000000; }
.singlecontent .sec-title {
  display: block;
  font-size: 1.5rem;
  color: #000;
  margin-bottom: 50px;
}
.singlecontent .othercontents {
  margin: 100px auto;
  text-align: center;
}
.singlecontent .othercontents .snslink { margin-bottom: 20px; }
.singlecontent .othercontents .snslink a { margin: 0 20px; }
.singlecontent .othercontents .snslink a img { width:40px; }
.singlecontent section.rec_blog {
  max-width: none;
  margin: 150px 0 0;
}
.singlecontent section.rec_blog h2 { text-align: center; }
.singlecontent section.rec_blog .eyecatch { margin: 0 auto 10px; }
.singlecontent section.rec_blog h3 { height: auto; }
.singlecontent figcaption { text-align: center; }

/* 固定ページ用 */
@media screen and (min-width:768px) {
  .spv { display: none;}
  .page-content section.conbox { padding: 100px 0; }
}
@media screen and (max-width:767px) {
  .pcv { display: none;}
  .page-content section.conbox { padding: 100px 10px; }
}
.backgray { background-color: #E9E9E9; }
.page-content section {
  max-width: 800px;
  margin: 0 auto;
}
.page-content section .top-contentslist { padding-top: 80px; padding-bottom:0; }

/* Aboutページ */
@media screen and (min-width:768px) {
  .introlistbox { 
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 50px;
  }
  .introlist { width: 30%; margin: 10px 0; }
  section.mirai-cam { padding: 100px 0; text-align: center; }
}
@media screen and (max-width:767px) {
  .catchbox { padding: 0 10px; }
  .introlistbox { 
    margin-bottom: 50px;
    padding: 0 10px;
  }
  .introlist { width: 100%; margin: 50px 0; }
  .catchimage img { max-width: 80%; }
  section.mirai-cam { padding: 100px 10px; text-align: center; }
}
.photolist { 
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.photolist img {
  width: 33.3%;
}
.catchbox { 
  max-width: 500px;
  margin: 80px auto;
}
.catchbox h3 { font-size: 1.5rem; text-align: center; color: #000; }
.catchbox p.strong { font-size: 1.3rem; margin: 50px auto 30px; text-align: center; letter-spacing: 0.5em; color: #000; }
.introlist h3 {
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  color: #000;
  line-height: 1.7em;
  margin: 0 auto 30px;
}
.introlist h3 span {
  border-bottom: 2px solid #000;
  font-size: 1.5rem;
}
.introlist p.text { margin-top: 30px; }
.catchimage { margin: 0 auto; text-align: center; max-width: 500px; }
.catchimage img { margin-bottom: 20px; }
.catchimage img.logo { max-width: 300px; }
table.weblist { margin: 50px 0; width: 100%; }
table.weblist tr th,
table.weblist tr td {
  background-color: #fff;
  padding: 10px 20px;
}
table.weblist tr th {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  border-left: none;
}
table.weblist tr td {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  border-right: none;
  border-left: none;
}
table.weblist tr td a { color: #398FD9; float: right; }
section.mirai-cam img.logo { max-width: 300px; }
section.mirai-cam img { margin-bottom: 50px; }
section.mirai-cam .content { max-width: 700px; margin: 0 auto; }

/* 問い合わせフォーム */
@media screen and (max-width:767px) {
  .contactpage section {
    padding: 0 10px;
  }
}
.contactpage section {
  max-width: 500px;
  margin: 0 auto;
}
.wpcf7-form p { margin-bottom: 30px; }
.wpcf7-form p .needmark { color: #F8483D; }
input[type="text"],
input[type="email"],
textarea {
  background-color: #F4F4F4;
  padding: 15px 1%;
  border-radius: 10px;
  border: none;
  width: 98%;
}
.wpcf7-list-item { margin: 0; display: block; }
input[type="radio"] { margin: 3px 3px 3px 0; }
.contactpage .attention { text-align: center; margin: 50px auto 30px; }
input[type="submit"] {
  width: 100%;
  padding: 15px 5px;
  border-radius: 20px;
  border: none;
  text-align: center;
  background-color: #2E2E2E;
  color: #fff;
  transition: 0.7s;
  letter-spacing: 0.3em;
}
input[type="submit"]:hover {
  color: #2E2E2E;
  background-color: #eee;
  cursor: pointer;
  border: 1px solid #2E2E2E;
}
