﻿/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong,
.strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,
em,
.em {
  font-style: italic; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/*
 * proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
*/
p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto; }

/*
 * Addresses margins set differently in IE6/7.
 */
pre {
  margin: 0; }

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,
q:after {
  content: '';
  content: none; }

small, .small {
  font-size: 75%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0; }

dd {
  margin: 0; }

/*
 * Addresses paddings set differently in IE6/7.
 */
menu {
  padding: 0 0 0 40px; }

ol,
ul {
  padding: 0;
  list-style-type: none; }

/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none; }

/* ==========================================================================
  Embedded content
========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0; }

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button, html input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

.clearfix, .cf, .comment-respond {
  zoom: 1; }
  .clearfix:before, .clearfix:after, .cf:before, .comment-respond:before, .cf:after, .comment-respond:after {
    content: "";
    display: table; }
  .clearfix:after, .cf:after, .comment-respond:after {
    clear: both; }

/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp {
  font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
  font-style: italic; }


p {
  -ms-word-break: break-all;
  -ms-word-wrap: break-all;
  word-break: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
  /*-webkit-font-feature-settings: "liga", "dlig";
  -moz-font-feature-settings: "liga=1, dlig=1";
  -ms-font-feature-settings: "liga", "dlig";
  -o-font-feature-settings: "liga", "dlig";
  font-feature-settings: "liga", "dlig";*/ } /* 文字化け回避用コメントアウト　*/

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

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

/* ==========================================================================
   共通設定 ここから
   ========================================================================== */

/* 基本設定 ここから　*/
.center {
	text-align: center!important;
}
.left {
	text-align: left!important;
}
.right {
	text-align: right!important;
}
a img {
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
a img:hover {
	opacity: .8;
}
.mBottom15 {
	margin-bottom: 0.9375em!important;
}
.mBottom25 {
	margin-bottom: 1.5625em!important;
}
.mBottom50 {
	margin-bottom: 3.125em!important;
}
.mBottom75 {
	margin-bottom: 4.6875em!important;
}
.mBottom100 {
	margin-bottom: 6.25em!important;
}
/* 基本設定 ここまで　*/

/* レイアウト設定　ここから */
#container {
	overflow: hidden;
}
/* レイアウト設定　ここまで */

/* パララックス設定　ここから */
.containerParallax {
  height: 400px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	position: relative;
	background-image: url('../images/bg_fixed.jpg'); /* パララックスエリアの背景画像呼び出し */
}
.parallaxTitPosition {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 90%;
	text-align: center;
}
/* パララックスエリアの<h2>設定 */
.parallaxTitPosition h2,
.parallaxTitPosition .h2 {
  color: #fff!important;
  margin: 0!important;
}
.parallaxTitPosition h2::after,
.parallaxTitPosition .h2::after {
	background: #fff;
}
/* パララックス設定　ここまで */

/* スクロールアニメーション　ここから　*/
.fadein-up {
	opacity: 0;
	transform: translate(0,20px); 
	-webkit-transform: translate(0,20px);
	transition: 1.5s;
}
.up {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}
/* スクロールアニメーション　ここまで　*/

/* カラムの設定 ここから　*/
.wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -2%;
}
.wrapper p {
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	position: relative;
}
/* カラムの設定 ここまで　*/

/* header設定　ここから */
#site-title {
	line-height: 1;
  float: left;
  width: 150px; /* サイト名（ロゴ）画像の横幅 */
}
#site-title a {
	display: block;
}
/* header設定　ここまで */

/* スマホ・タブレット用トグルデザイン　ここから */
#menu_button {
  display: block;
  width:42px;
  height:42px;
  z-index: 1000;
	position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -21px;
}
#menu_button span {
  display: block;
  background: #1a73e8;
  width: 30px;
  height: 2px;
  position: absolute;
  left: 6px;
  transition: all .3s;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
}
#menu_button span:first-child {
  top: 12px;
}
#menu_button span:nth-child(2) {
  margin-top: -1px;
  top: 50%;
}
#menu_button span:last-child {
    bottom: 12px;
}
#menu_button.active span:first-child {
  -webkit-transform: translateY(8px) rotate(45deg);
  -moz-transform: translateY(8px) rotate(45deg);
  -ms-transform: translateY(8px) rotate(45deg);
  transform: translateY(8px) rotate(45deg);
  background: #1a73e8;
}
#menu_button.active span:nth-child(2) {
  opacity: 0;
}
#menu_button.active span:last-child {
  -webkit-transform: translateY(-8px) rotate(-45deg);
  -moz-transform: translateY(-8px) rotate(-45deg);
  -ms-transform: translateY(-8px) rotate(-45deg);
  transform: translateY(-8px) rotate(-45deg);
  background: #1a73e8;
}
/* スマホ・タブレット用トグルデザイン　ここまで */

/* スマホ・タブレット用メインナビ　ここから */
.mainNavSp {
  display: none;
  background: rgba(33,33,36,.9); /* 不透明度の設定 */
  color: #fff;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  list-style-type: none;
  margin: 0;
  padding: 0;
  z-index: 999;
}
.mainNavSp li {
  border-bottom: solid 1px #1a73e8;
  text-align: center;
  margin: 0 auto;
}
.mainNavSp li:last-child {
	border-bottom: none;
	}
.mainNavSp li a {
	color: #fff;
	text-decoration: none;
	display: block;
	font-size: 1em;
	padding: 1.25em;
	}
/* スマホ・タブレット用メインナビ　ここまで */

/* メインビジュアル設定 ここから　*/
.mainVisual {
  width: 100%;
  z-index: 0;
  position: relative;
  }
  .swiper-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -2;
  }
  .swiper-slide {
  overflow-x: hidden;
  }
  .bg-slide-image {
  width: 100%;
  height: 100%;
  content: '';
  display: block;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  }
/* ===== キャッチコピー ===== */
.page-title-header {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  }
.page-title-header {
  display: flex;
  align-items: center;
  align-content: center;
  left: 0;
  transform: translate(0, -50%);
  padding: 1.5em;
  width: 40% !important;
  height: 100%;
  color: #fff;
  z-index: 1;
  text-align: left;
  }

  .page-title-header .inner {
    margin: 0 auto;
  }

header.page-title-header:before {
  content: "";
  display: block;
  position: absolute;
  left: 33%;
  top: 0;
  width: 150%;
  height: 100%;
  background: rgba(23, 88, 154, .7);
  transform: skew(-15deg, 0) translate(-50%, 0);
  z-index: -1;
}

.page-title {
text-shadow: none !important;
}

@media (max-width: 1920px) {
header.page-title-header {
    font-size: .832vw;
}
}

@media (max-width: 1340px) {
header.page-title-header {
    font-size: 1vw;
}
}

@media (max-width: 991px) {
header.page-title-header {
  width: 40.5%;
    font-size: 13px;
}

.page-title {
  font-size: 1.6em;
}
}

@media (max-width: 767px) {
header.page-title-header {
  width: 60% !important;
  font-size: 11px;
  max-width: 250px;
}

header.page-title-header:before {
  width: 110%;
}


header.page-title-header .txt {
  max-width: 14em;
}
}

/* メインビジュアル設定 ここまで　*/

/* カスタム投稿・news設定　ここから　*/
#news{
  background: #fff;
}
.news-ul {
	list-style-type: none;
	margin: 0;
}
.news-ul li {
	border-bottom: 1px #b3b3b3 solid;
	display: block;
}
.news-ul li a {
	display: block;
	padding: 1.25em 1.875em 1.25em .625em;
	text-decoration: none;
  position: relative;
  -webkit-transition: all .3s;
	transition: all .3s;
}
.news-ul li a:after {
	position: absolute;
	right: .625em;
	top: 50%;
	width: 10px;
	height: 22px;
	margin-top: -11px;
	content: '';
	display: block;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
	content: '\f054';
	font-weight: 900;
	color: #b3b3b3!important;
	-webkit-transition: all .3s;
	transition: all .3s;
}
/* hover　*/
.news-ul li a:hover {
	background: #f2f2f2;
}
.news-ul li a:hover:after {
	color: #000!important;
}
/* dl　*/
.news-dl {
	display: table;
	margin: 0;
}
.news-dl dt,
.news-dl dd {
	display: table-cell;
	vertical-align: middle;
}
.news-dl dt {
	font-size: .8125em;
	display: inline-block;
	margin-right: 1.5625em;
}
.news-dl dt span {
  background: #030259;
  padding: .0625em .4375em;
  color: #fff;
  border-radius: 2px;
	-webkit-border-radius: 2px;
  -moz-border-radius: 2px;
}
/* カスタム投稿・news設定　ここまで　*/

/* リンクボタン ここから　*/
.btn {
	display: inline-block;
	width: 250px;
  height: 50px;
  line-height: 50px;
	text-align: center;
	text-decoration: none;
	outline: none;
  background: #fff;
  border: 2px #010066 solid;
	color: #010066!important;
	letter-spacing: 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
  transition: all .3s;
  border-radius: 25px;
	-webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  position: relative;
}
.btn:after {
	position: absolute;
	right: 1em;
	top: 25%;
	width: 10px;
	height: 22px;
	margin-top: -11px;
	content: '';
	display: block;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
	content: '\f054';
	font-weight: 900;
	color: #010066!important;
	-webkit-transition: all .3s;
	transition: all .3s;
}
/* hover　*/
.btn:hover {
  border: 2px #010066 solid;
  background: #010066;
  color: #fff!important;
}
.btn:hover:after {
  color: #fff!important;
}
/* リンクボタン ここまで　*/

/* 画像角丸設定　ここから */
figure.circle img {
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}
/* 画像角丸設定　ここまで */

/* メニュー表設定　ここから */
.menu {
	line-height: 1.5;
}
.menu li {
	border-bottom: 1px #b3b3b3 dotted;
	padding: .75em 0;
}
span.yen {
	float: right;
	padding-left: 1em;
}
/* メニュー表設定　ここまで */

/* グーグルマップ設定 ここから　*/
.gmap {
	position: relative;
	padding-top: 450px;
	height: 0;
	overflow: hidden;
}
.gmap iframe,
.gmap object,
.gmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
/* グーグルマップ設定 ここまで　*/

/* パンくずリスト ここから　*/
.breadArea {
	width: 100%;
}
.bread-navi {
	color: #000;
	font-size: 0.8125em;
}
.bread-navi a {
	color: #b3b3b3!important;
	text-decoration: none!important;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.bread-navi a:hover {
	color:#000!important;
}
/* パンくずリスト ここまで　*/

/* アコーディオンパネル・メニュー　ここから　*/
.accordion .ac_inner {
	display: none;
	padding: 5%;
	border-right: 4px #000 double;
	border-bottom: 4px #000 double;
	border-left: 4px #000 double;
}
.accordion p {
	margin-bottom: 0!important;
}
.accordion .ac_tit{ 
	cursor: pointer;
	padding: 20px;
	margin: 0!important;
	color: #fff;
	position: relative;
	font-size: 1.2em;
	font-weight: 600;
	background: #000;
}
.accordion .ac_tit::after {
	position: absolute;
	right: 3%;
	top: 25%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0fe";
}
.accordion .ac_tit.active {
	position: relative;
}
.accordion .ac_tit.active::after {
	position: absolute;
	right: 3%;
	top: 25%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f146";
}
/* アコーディオンパネル・メニュー　ここまで　*/

/* SNSアイコン設定 ここから　*/
.sns-icon a {
	display: inline-block;
	margin: 0 5px;
	padding: 0;
	color: #fff!important;
}
.sns-icon i {
	width: 36px; /* 背景の大きさ・値を揃える　*/
	height: 36px; /* 背景の大きさ・値を揃える　*/
	line-height: 36px; /* 背景の大きさ・値を揃える　*/
	margin: 0;
	font-size: 18px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	text-align: center;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.sns-icon i.fa-facebook-f {
	background: rgba(60,90,153,1);
}
.sns-icon i.fa-twitter {
	background: rgba(29,161,242,1);
}
.sns-icon i.fa-instagram {
	background: -webkit-linear-gradient(135deg, rgba(66,126,255,1) 0%, rgba(241,63,121,1) 70%) no-repeat;
	background: linear-gradient(135deg, rgba(66,126,255,1) 0%, rgba(241,63,121,1) 70%) no-repeat;/*グラデーション①*/
}
.sns-icon i:before { padding: 0; line-height: 36px; } /* 背景の大きさ・値を揃える　*/
/* hover　*/
.sns-icon a:hover i.fa-facebook-f { background: rgba(60,90,153,.7); color: #fff!important; }
.sns-icon a:hover i.fa-twitter { background: rgba(29,161,242,.7); color: #fff!important; }
.sns-icon a:hover i.fa-instagram {
	background: -webkit-linear-gradient(135deg, rgba(66,126,255,.7) 0%, rgba(241,63,121,.7) 70%) no-repeat;
	background: linear-gradient(135deg, rgba(66,126,255,.7) 0%, rgba(241,63,121,.7) 70%) no-repeat;/*グラデーション①*/
	color: #fff!important;
}
/* SNSアイコン設定 ここまで　*/


.fn-swaG{
  font-family: 'Sawarabi Gothic', sans-serif;
}


/* ===== セクションタイトル ==== */
h2 {
	font-size: .9em;
}

h2:before{
  content: "SERVICE";
  color: rgba(23, 88, 154, .2);
  font-weight: bold;
  display: block;
  letter-spacing: 0.03em;
  font-size: 4em;
  line-height: 1.3;
  margin: 0 auto .75em;
  margin: 0 auto .3em;
  font-weight: 900;
  font-style: italic;
  font-family: 'Outfit', sans-serif;
}

#news h2:before {
	content: "NEWS"
}

#section2 h2:before {
	content: "OUR BUSINESS";
	color: rgba(255, 255, 255, 0.6);
}

#section3 h2:before {
	content: "COMPANY";
	color: rgba(255, 255, 255, 0.6);
}

h2::after {
/*  background: rgba(23, 88, 154, .5); */
  display: none;
}

@media (max-width: 767px) {
	h2:before {
	    font-size: 3em;
	    letter-spacing: 0.015em;
	    line-height: 1.3;
	}
}



/* ======== セクション１======= */
#section1{
  background: #c4dbfd;
}

#section1 .serviceFrame h3{

}
#section1 .serviceFrame ul {
	margin: 0 auto;
  margin-bottom: 1em;
}
#section1 .serviceFrame li.ttl{
  position: relative;
  padding: .75em 0;
  padding-left: 2.5em;
  border-bottom: 1px dotted #17589a;
  margin-bottom: .5em;
  background: rgb(229,232,235);
background: linear-gradient(0deg, rgba(229,232,235,1) 0%, rgba(255,255,255,1) 100%);
}
#section1 .serviceFrame li.ttl:before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  width: .3em;
  height: .6em;
  border-right: 3px solid #17589a;
  border-bottom: 3px solid #17589a;
  transform: translateY(-50%) rotate(45deg);
}
#section1 .serviceFrame li.ttl h3{
  font-family: 'Noto Sans JP', sans-serif;
margin: 0!important;
color: #14133d;
}

#section1 .serviceFrame li.list{
  list-style: disc;
  margin: 0.5em 1.25em;
}
#section1 .serviceFrame li dl dt.point-ttl{
  background: #5979a9;
  color: #fff;
  padding: .5em;
  margin-bottom: 0.5em;
}
#section1 .serviceFrame li.list2{
  margin: 1em;
  margin-bottom: 2em;
}
#section1 .serviceFrame li.list2 dl dt h4{
  font-family: 'Noto Sans JP', sans-serif;
  color: #14133d;
  margin: 0;
  border-bottom: 1px solid #1a73e8;
  margin-bottom: 0.5em;
  padding: .5%;
  padding-left: 1em;
  line-height: 2;
  background: rgb(229,232,235);
background: linear-gradient(0deg, rgba(229,232,235,1) 0%, rgba(255,255,255,1) 100%);
}

/* ======== セクション２ ======= */
#section2{
  background: #a7c7f7;
}

.wrapperBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -2%;
}
.wrapperBox p {
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	position: relative;
}
#section2 .wrapperBox{
	margin-left: auto;
	margin-right: auto;
	justify-content: space-between;
}
.wrapperBox .rtl {
	flex-direction: row-reverse;
}
#section2 img{
  display: block;
  margin-bottom: 0;
}

#section2 .titleFrame {
  margin: 7% auto 8.5%;
}

#section2 .titleFrame .txt {
  display: flex;
  align-items: center;
  align-content: center;
  padding: 5%;
  width: 50%;
  background: #fff;
  color: #0f0e8a;
}

#section2 .titleFrame .txt .ttl {
  margin: 0 auto;
  font-family: 'Noto Sans JP', sans-serif;
  padding-bottom: 1em;
  /* max-width: 15em; */
}

#section2 .titleFrame .img {
  width: 50%;
}
#section2 .businessBox .imgwrap {
  margin: 40px auto 0;
}

#section2 .businessBox .imgwrap img {
   width: calc(20% - 2px);
}
#section2 .businessBox .wrapper {
  margin: 0;
}
#section2 .businessBox .wrapper .img {
  display: flex;
  flex-wrap: wrap;
  width: 40%;
}
#section2 .businessBox .wrapper .img img {
  width: 50%;
  padding: 1px;
  object-fit: cover;
  font-family:"object-fit: cover;";
}
#section2 .businessBox .wrapper .img.col img {
  height: auto;
  object-fit: contain;
  /* height: 100%; */
}

#section2 .businessBox .wrapper .img img:only-child {
  width: 100%;
}

#section1 .problemFrame:nth-of-type(2) .img img {
object-position: right center;
}

#section2 .businessBox .wrapper .txt {
  width: 60%;
  padding-right: 40px;
padding-right: max(5%,40px);
}

#section2 .businessBox .wrapper .txt .ttl {
  font-family: 'Noto Sans JP', sans-serif;
  padding:.65em .3em .5em;
  border-bottom: 1px solid rgba(23, 88, 154, .5);
  border-top: 1px solid rgba(23, 88, 154, .5);
  color: #14133d;
  background: rgb(229,232,235);
  background: linear-gradient(0deg, rgba(229,232,235,1) 0%, rgba(255,255,255,1) 100%);
}

#section2 .businessBox .txt p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {

#section1 .serviceFrame li.list2{
  margin: 0;
  margin-bottom: 4.5%;
}

/* ========= section2 ========== */
#section2 .businessBox .wrapper .img {
margin-top: 30px;
}
#section2 .titleFrame .txt {
text-align: center;
padding:30px 10px 20px;
display: block;
}
#section2 .titleFrame .img img {
width: 100%;
height: auto;
}
.wrapperBox.sp-block, .wrapper.sp-block{
  display: block;
}

.wrapperBox.sp-block > * , .wrapper.sp-block > *{
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

}

/* ======== セクション３ ======= */
#company{
  background: #f3f9ff;
}
.tbl {
  width: 100%;
  font-size: .96em;
}

.tbl .tr {
    display: flex;
    border-bottom: 1px solid #1a73e8;
}

.tbl .tr:last-of-type {
    border-bottom: 0;
}

.tbl .th,
.tbl .td {
    padding: 1em 15px;
}

.tbl ul.td {
  margin: 0;
}

.tbl .th {
  display: flex;
  align-items: center;
  align-content: center;
  position: relative;
  padding-left: 1.2em;
  width: 7em;
  font-weight: bold;
}


.tbl .th:before {
  content: "";
    display:  block;
    position: absolute;
    left: 3px;
    top: 50%;
    height: 0;
    width: 0;
    z-index: 1;
    bottom: auto;
    border: 4px solid transparent;
    border-left: 6px solid rgba(23, 88, 154, 1);
    transform: translateY(-50%);
}

.tbl .td {
    width:  calc(100% - 7em);
}

.tbl .td ul {
    margin: 0;
}

.tbl .td li {
    border: 0;
    margin: 0;
}

.sec3img{
  width: 75%;
  height: auto;
}
@media (max-width: 767px) {
  .tbl .th,
  .tbl .td {
      padding: 10px;
  }

  .tbl .th {
    padding-left: 1.2em;
  }
.sec3img {
  width: 100%;
}
}

@media (max-width: 575px) {
  .tbl {
    font-size: 14px;
  }
  
  .tbl .th {
    width: 6em;
  }
  
  .tbl .td {
    width: calc(100% - 6em);
  }
}


/* ==========================================================================
   共通設定 ここまで
   ========================================================================== */

/* ==========================================================================
   スマートフォン設定・ここから
   ========================================================================== */

@media (max-width: 767px) {

/* 基本設定　ここから */
.hide {
	display: none;
}
.pc{
  display: none;
}
.sp{
  display: block;
}
/* 基本設定　ここまで */

/* レイアウト設定　ここから */
.container {
	padding: 15% 0; /* 各セクションの上下の余白設定 */
}
/* レイアウト設定　ここまで */

/* header設定　ここから */
.header {
	position: relative;
}
#inner-header {
	padding: 1.25em 0;
}
/* header設定　ここまで */

/* ページ内ナビ設定　ここから */
.mainNav {
	display: none; /* PC用メインナビの非表示設定 */
}
.page-title{
  padding: 0!important;
}
.page-title span {
  font-size: 11px!important;
  font-weight: 500;
}
#site-title a img{
  width: 100%;
}
/* ページ内ナビ設定　ここまで */

/* メインビジュアル設定 ここから　*/
.mainVisual {
	height: 400px;
}
/* メインビジュアル設定 ここまで　*/

/* sidebar設定 ここから　*/
.sidebar {
  padding-top: 2.5em;
}
/* sidebar設定 ここまで　*/

.containerParallax {
  background-position: unset;
}

/* カラムの設定 ここから　*/
.m-all {
	margin: 2%;
	width: 96%;
}
.m-1of2 {
	margin: 2%;
	width: 46%;
}
.m-1of3 {
	margin: 2%;
	width: 29.33%;
}
.m-2of3 {
	margin: 2%;
	width: 62.66%;
}
.m-1of4 {
	margin: 2%;
	width: 21%;
}
.m-3of4 {
    margin: 2%;
    width: 71%;
} 
    }

/* ==========================================================================
   スマートフォン設定・ここまで
   ========================================================================== */


/* ==========================================================================
   タブレット設定・ここから
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1029px) {

/* 基本設定　ここから */
.hide {
	display: none;
}
.alg-center{
align-items: center;
}
.pc{
  display: none;
}
.sp{
  display: none;
}
/* 基本設定　ここまで */

/* レイアウト設定　ここから */
.container {
	padding: 12.5% 0; /* 各セクションの上下の余白設定 */
}
/* レイアウト設定　ここまで */

/* header設定　ここから */
.header {
	position: relative;
}
#inner-header {
	padding: 1.25em 0;
}
#site-nav {
	float: right;
}
/* header設定　ここまで */

/* ページ内ナビ設定　ここから */
.mainNav {
	display: none; /* PC用メインナビの非表示設定 */
}
/* ページ内ナビ設定　ここまで */

/* メインビジュアル設定 ここから　*/
.mainVisual {
	height: 500px;
}
/* メインビジュアル設定 ここまで　*/

/* カラムの設定 ここから　*/
.t-all {
	margin: 2%;
	width: 96%;
 }
.t-1of2 {
	margin: 2%;
	width: 46%;
}
.t-1of3 {
	margin: 2%;
	width: 29.33%;
}
.t-2of3 {
	margin: 2%;
	width: 62.66%;
}
.t-1of4 {
	margin: 2%;
	width: 21%;
}
.t-3of4 {
	margin: 2%;
	width: 71%;
}
.t-1of5 {
	margin: 2%;
	width: 16%;
}
.t-2of5 {
	margin: 2%;
	width: 36%;
}
.t-3of5 {
	margin: 2%;
	width: 56%;
}
.t-4of5 {
	margin: 2%;
	width: 76%;
} 

/* 追記================== */

.sec3img {
  width: 100%;
}

    }

/* ==========================================================================
   タブレット設定・ここまで
   ========================================================================== */


/* ==========================================================================
    PC設定・ここから
   ========================================================================== */

   @media (min-width: 1030px) {

/* 基本設定　ここから */
.hide {
	display: inline;
}
.pc{
  display: block;
}
.sp{
  display: none;
}
/* 基本設定　ここまで */

/* レイアウト設定　ここから */
.container {
	padding: 10% 0; /* 各セクションの上下の余白設定 */
}
/* レイアウト設定　ここまで */

/* パララックス設定　ここから */
.containerParallax {
	height: 500px;
	background-attachment: fixed;/* パララックス（背景画像固定）の設定（PC版のみ） */
	display: block;
}
/* パララックス設定　ここまで */

/* header設定　ここから */
#inner-header {
	position: relative;
	height: 100px;
	line-height: 100px;
}
#site-title {
	margin: 0;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -20px;/* サイト名（ロゴ）画像の高さ÷2をマイナス設定 */
}
#site-nav {
	position: absolute;
	right: 0;
}
/* header設定　ここまで */

/* メインナビ（ページ内リンク）設定　ここから */
#menu_button,
.mainNavSp {
	display: none; /* トグル・スマホ用ナビの非表示設定 */
}
.mainNav {
	justify-content: center;
	display: flex;
	align-content: center;
	margin: 0;
}
.mainNav li {
	list-style-type: none;
	text-align: center;
	line-height: 100px;/* #inner-headerの高さと揃える */
	height: 100px;/* #inner-headerの高さと揃える */
	padding: 0 1.25em;
}
.mainNav li a {
	text-decoration: none;
	display: inline-block;
	color: #0e2c4b;
	position: relative;
}
.mainNav li a::after {
	position: absolute;
	bottom: 20px;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background: #157eea;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.mainNav li a:hover::after {
	width: 100%;
}
/* メインナビ（ページ内リンク）設定　ここまで */

/* メインビジュアル設定 ここから　*/
.mainVisual {
	height: 650px;
}
.page-title {
	letter-spacing: 1px;
}
/* メインビジュアル設定 ここまで　*/

/* カラムの設定 ここから　*/
.d-all {
	margin: 2%;
	width: 96%;
 }
.d-1of2 {
	margin: 2%;
	width: 46%;
}
.d-1of3 {
	margin: 2%;
	width: 29.33%;
}
.d-2of3 {
	margin: 2%;
	width: 62.66%;
}
.d-1of4 {
	margin: 2%;
	width: 21%;
}
.d-3of4 {
	margin: 2%;
	width: 71%;
}
.d-1of5 {
	margin: 2%;
	width: 16%;
}
.d-2of5 {
	margin: 2%;
	width: 36%;
}
.d-3of5 {
	margin: 2%;
	width: 56%;
}
.d-4of5 {
	margin: 2%;
	width: 76%;
}    
.d-1of6 {
	margin: 2%;
	width: 12.6666666667%;
}
.d-1of7 {
	margin: 2%;
	width: 10.2857142857%;
}
.d-2of7 {
	margin: 2%;
	width: 24.5714286%;
}
.d-3of7 {
	margin: 2%;
	width: 38.8571429%;
}
.d-4of7 {
	margin: 2%;
	width: 53.1428572%;
}
.d-5of7 {
	margin: 2%;
	width: 67.4285715%;
}
.d-6of7 {
	margin: 2%;
	width: 81.7142857%;
}
.d-1of8 {
	margin: 2%;
	width: 8.5%;
}
.d-1of9 {
	margin: 2%;
	width: 7.1111111111%;
}
.d-1of10 {
	margin: 2%;
	width: 6%;
}
.d-1of11 {
	margin: 2%;
	width: 5.09090909091%;
}
.d-1of12 {
	margin: 2%;
	width: 4.33%;
}
    }

/* ==========================================================================
    PC設定・ここまで
   ========================================================================== */


/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*********************/
/*********************
GENERAL STYLES
*********************/
body {
  font-family: "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","MS Pゴシック","MS PGothic","sans-serif";
  font-size: 100%;
  line-height: 1.75;
  color: #030306;
  background: #fff;
  -webkit-font-smoothing: antialiased; }


/*********************
LAYOUT & GRID STYLES
*********************/
.wrap {
  width: 90%;
  margin: 0 auto; }

/*********************
LINK STYLES
*********************/
a, a:visited {
  color: #000;
  /* on hover */
  /* on click */
  /* mobile tap color */ }
  a:hover, a:focus, a:visited:hover, a:visited:focus {
    color: #000; }
  a:link, a:visited:link {
    /*
    this highlights links on iPhones/iPads.
    so it basically works like the :hover selector
    for mobile devices.
    */
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3); }

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  text-rendering: optimizelegibility;
  line-height: 1.5;
  /*
  if you're going to use webfonts, be sure to check your weights
  http://css-tricks.com/watch-your-font-weight/
  */
  /* removing text decoration from all headline links */ }
  h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
    text-decoration: none; }

h1, .h1 {
  font-size: 2em; }
  
.h1 {
	font-weight: normal;
}
/* 各h1詳細設定　ここから */
.single-title,
.page-title,
.entry-title {
  margin: 0; }

/* トップページ（front-page.php） */
.page-title {
  font-family: 'Noto Sans JP', sans-serif;
  padding-left: 1.5em;
	color: #fff;
	text-shadow: 2px 4px 3px rgba(0,0,0,0.6);
	-moz-text-shadow: 2px 4px 3px rgba(0,0,0,0.6);/* Firefox用 */  
	-webkit-text-shadow: 2px 4px 3px rgba(0,0,0,0.6);/* Safari,Google Chrome用 */
}
.page-title span{
  font-size: 16px;
  font-weight: 500;
}
/* カスタム投稿一覧ページ（archive-カスタム投稿名.php） */
.archive-title {
  font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.75em;
  padding: .5em;
  text-align: center;
  border-top: 1px #2c2c5f solid;
  border-bottom: 1px #2c2c5f solid;
  margin-top: 0;
  margin-bottom: 1.25em;
}
/* カスタム投稿ページ（single-カスタム投稿名.php） */
.single-title {
	font-size: 1.5em;
  padding: 3%;
  margin-top: 0;
  margin-bottom: 1.25em;
  background: #fff;
  border: 1px #c3cfe0 solid;
  border-left: 8px #c3cfe0 solid;
  border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
/* h1詳細設定　ここまで */

h2, .h2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: .9em;
	color: #0d2739;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 2px;
  margin: 0;
  margin-bottom: 3em;
	text-align: center;
}

h3, .h3 {
  font-size: 1.25em;
  line-height: 1.5;
  margin: .5em 0; }
.h3 {
	text-align: center;
	margin-top: 0;
	color: #000;
	border-top: 1px #b3b3b3 solid;
	border-bottom: 1px #b3b3b3 solid;
	padding: .5em 0;
}

h4, .h4 {
  font-size: 1.1em;
  font-weight: 600; }
  
h4.menu_tit {
	font-size: 1.2em;
	margin: .5em 0;
	border-left: 5px #000 solid;
	border-bottom: 1px #000 solid;
	padding: .5em 0 .5em 1em;
}

/* サイドバータイトル ここから　*/ 
.widget-title {
  font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
  margin: 0;
  color: #fff;
  background: #2c2c5f;
	font-size: 1.35em;
  padding: .75em;
  border-radius: 4px 4px 0 0;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
}

/*********************
HEADER STYLES
*********************/
.header {
	width: 100%;
	background: #fff; }

/*********************
NAVIGATION STYLES
*********************/
/*
all navs have a .nav class applied via
the wp_menu function; this is so we can
easily write one group of styles for
the navs on the site so our css is cleaner
and more scalable.
*/
.nav {
  border-bottom: 0;
  margin: 0;
  /* end .menu li */
  /* highlight current page */
  /* end current highlighters */ }
  .nav li {
    /*
    so you really have to rethink your dropdowns for mobile.
    you don't want to have it expand too much because the
    screen is so small. How you manage your menu should
    depend on the project. Here's some great info on it:
    http://www.alistapart.com/articles/organizing-mobile/
    */ }
    .nav li a {
      display: block;
      color: white;
      text-decoration: none;
      padding: 0.75em;
      /*
      remember this is for mobile ONLY, so there's no need
      to even declare hover styles here, you can do it in
      the style.scss file where it's relevant. We want to
      keep this file as small as possible!
      */ }
    .nav li ul.sub-menu li a,
    .nav li ul.children li a {
      padding-left: 30px; }

/* end .nav */
/*********************
POSTS & CONTENT STYLES
*********************/
#content {
  margin: 0;
}
.hentry {
  margin-bottom: 0;
	}
.hentry header {
    padding: 0;
	}
.hentry footer {
    padding: 0;
    display: none;
	}
.hentry footer p {
	margin: 0;
	}

/* end .hentry */

.byline {
  display: none;
  }

/* entry content */
.entry-content {
  padding: 0; }
  .entry-content p {
    margin: 0 0 1.5em; }

/* table設定 ここから　*/
.entry-content table {
	width: 100%;
	font-size: .875em;
	border: 1px solid #b3b3b3;
	margin-bottom: 1.5em; }

.entry-content table caption {
	margin: 0 0 7px;
	font-size: 0.75em;
	color: #9fa6b4;
	text-transform: uppercase;
	letter-spacing: 1px; }

.entry-content tr {
	border-bottom: 1px solid #b3b3b3; }

.entry-content td {
	padding: 1.25em;
	border-right: 1px solid #b3b3b3; }

.entry-content td:last-child {
	border-right: 0; }

.entry-content th {
	background: #f2f2f2;
	padding: 1.25em;
	white-space: nowrap;
	border-bottom: 1px solid #b3b3b3;
	border-right: 1px solid #b3b3b3; }

.entry-content th:last-child {
	border-right: 0; }
/* table設定 ここまで　*/

.entry-content blockquote {
	margin: 0 0 1.5em 0.75em;
	padding: 0 0 0 0.75em;
	border-left: 3px solid #2980b9;
	font-style: italic;
	color: #9fa6b4; }
  .entry-content img {
    margin: 0 0 1em 0;
    max-width: 100%;
    height: auto; }
  .entry-content .size-auto,
  .entry-content .size-full,
  .entry-content .size-large,
  .entry-content .size-medium,
  .entry-content .size-thumbnail {
    max-width: 100%;
    height: auto; }
  .entry-content pre {
    background: #323944;
    color: #f8f9fa;
    font-size: 0.9em;
    padding: 1.5em;
    margin: 0 0 1.5em;
    border-radius: 3px; }

/* end .entry-content */
.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 5px;
  /* images inside wp-caption */ }
  .wp-caption img {
    max-width: 100%;
    margin-bottom: 0;
    width: 100%; }
  .wp-caption p.wp-caption-text {
    font-size: 0.85em;
    margin: 4px 0 7px;
    text-align: center; }

/* end .wp-caption */
/* image gallery styles */
/* end .gallery */
/* gallery caption styles */
.tags {
  margin: 0; }

/******************************************************************
PAGE NAVI STYLES
******************************************************************/

/* プラグインWP-PageNavi（achive-カスタム投稿.php）　ここから */
.wp-pagenavi {
	color: #000!important;
	text-align: center!important;
	font-size: 1em!important;
}
.wp-pagenavi a, .wp-pagenavi span {
	border-color: #2c2c5f!important;
	padding: 8px 12px!important;
	background: #fff!important;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	border: 2px solid #2c2c5f!important;
}
.wp-pagenavi a, .wp-pagenavi span pages {
	border: 2px solid #2c2c5f!important;
	background: #fff!important;
	color: #2c2c5f!important;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
	border-color: #2c2c5f!important;
	background: #2c2c5f!important;
	color: #fff!important;
	font-weight: normal!important;
}
/* プラグインWP-PageNavi（achive-カスタム投稿.php）　ここまで */

/* プラグインWP-PageNavi（single-カスタム投稿.php）　ここから */
.page-navi-area {
	border-top: 1px #b3b3b3 solid;
	margin-top: 2em;
	padding-top: 1.75em;
}
span.prev {
	float: left;
}
span.next {
	float: right;
}
span.prev a,
span.next a {
	text-decoration: none;
	color: #000;
	font-size: .8125em;
}
span.prev a:hover,
span.next a:hover {
	text-decoration: underline;
	}
/* プラグインWP-PageNavi（single-カスタム投稿.php）　ここまで */

/******************************************************************
COMMENT STYLES
******************************************************************/
/* h3 comment title */
#comments-title {
  padding: 0.75em;
  margin: 0;
  border-top: 1px solid #f8f9fa;
  /* number of comments span */ }

.commentlist {
  margin: 0;
  list-style-type: none; }

.comment {
  position: relative;
  clear: both;
  overflow: hidden;
  padding: 1.5em;
  border-bottom: 1px solid #f8f9fa;
  /* vcard */
  /* end .commentlist .vcard */
  /* end children */
  /* general comment classes */ }
  .comment .comment-author {
    padding: 7px;
    border: 0; }
  .comment .vcard {
    margin-left: 50px; }
    .comment .vcard cite.fn {
      font-weight: 700;
      font-style: normal; }
    .comment .vcard time {
      display: block;
      font-size: 0.9em;
      font-style: italic; }
      .comment .vcard time a {
        color: #9fa6b4;
        text-decoration: none; }
        .comment .vcard time a:hover {
          text-decoration: underline; }
    .comment .vcard .avatar {
      position: absolute;
      left: 16px;
      border-radius: 50%; }
  .comment:last-child {
    margin-bottom: 0; }
  .comment .children {
    margin: 0;
    /* variations */
    /* change number for different depth */ }
  .comment[class*=depth-] {
    margin-top: 1.1em; }
  .comment.depth-1 {
    margin-left: 0;
    margin-top: 0; }
  .comment:not(.depth-1) {
    margin-top: 0;
    margin-left: 7px;
    padding: 7px; }
  .comment.odd {
    background-color: white; }
  .comment.even {
    background: #f8f9fa; }

/* comment meta */
/* comment content */
.comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em; }

/* end .commentlist .comment_content */
/* comment reply link */
.comment-reply-link {
  font-size: 0.9em;
  float: right; }

/* end .commentlist .comment-reply-link */
/* edit comment link */
.comment-edit-link {
  font-style: italic;
  margin: 0 7px;
  text-decoration: none;
  font-size: 0.9em; }

/******************************************************************
COMMENT FORM STYLES
******************************************************************/
.comment-respond {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa; }

#reply-title {
  margin: 0; }

.logged-in-as {
  color: #9fa6b4;
  font-style: italic;
  margin: 0; }
  .logged-in-as a {
    color: #5c6b80; }

.comment-form-comment {
  margin: 1.5em 0 0.75em; }

.form-allowed-tags {
  padding: 1.5em;
  background-color: #f8f9fa;
  font-size: 0.9em; }

/* comment submit button */
#submit {
  float: right;
  font-size: 1em; }

/* comment form title */
#comment-form-title {
  margin: 0 0 1.1em; }

/* cancel comment reply link */
/* logged in comments */
/* allowed tags */
#allowed_tags {
  margin: 1.5em 10px 0.7335em 0; }

/* no comments */
.nocomments {
  margin: 0 20px 1.1em; }

/*********************
SIDEBARS & ASIDES
*********************/
  .sidebar {
	margin-top: 2%; }

  .widget {
    padding: 0;
    list-style-type: none;
    margin: 0; }
    .widget ul li {
      margin-bottom: 0;
      /* deep nesting */ }
      .widget ul li ul {
        margin-top: 0.75em;
        padding-left: 1em; }
        
/* ul-sidebar設定（sidebar.php） ここから　*/
.ul-sidebar {
  list-style-type: none;
  margin: 0;
  border: 1px #2c2c5f solid;
  border-top: none;
}
.ul-sidebar li {
  border-bottom: 1px #2c2c5f dotted;
  padding: 0;
}
.ul-sidebar li:last-child {
  border-bottom: unset;
}
.ul-sidebar li a {
  display: block;
  font-size:  0.875em;
  line-height: 1.5;
  text-decoration: none;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  padding: 1.25em 1.875em 1.25em .75em;
  position: relative;
}
.ul-sidebar li a:after {
	position: absolute;
	right: .625em;
	top: 50%;
	width: 10px;
	height: 22px;
	margin-top: -11px;
	content: '';
	display: block;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
	content: '\f054';
	font-weight: 900;
	color: #b3b3b3!important;
	-webkit-transition: all .3s;
	transition: all .3s;
}
/* hover　*/
.ul-sidebar li a:hover:after {
	color: #000!important;
}

.no-widgets {
  background-color: white;
  padding: 1.5em;
  text-align: center;
  border: 1px solid #cccccc;
  border-radius: 2px;
  margin-bottom: 1.5em; }

/*********************
FOOTER STYLES
*********************/
.footer {
  clear: both;
  background: #010066;
  padding: 3.125em 0;
  position: relative;}

/* backToTopの設定 ここから　*/
.backToTop {
	position: absolute;
	top: -27px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 54px;
	height: 54px;
	line-height: 54px;
	border-radius: 50%; 
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
  background: #fff;
  border: 2px #fff solid;
}
.hi-icon {
	color: #010066;
	overflow: hidden;
	-webkit-transition: background 0.3s, color 0.3s, box-shadow 0.3s;
	-moz-transition: background 0.3s, color 0.3s, box-shadow 0.3s;
	transition: background 0.3s, color 0.3s, box-shadow 0.3s;
	text-decoration: none;
	display: inline-block;
	font-size: 0px;
	cursor: pointer;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	text-align: center;
	position: relative;
	z-index: 1;
}
.hi-icon::before {
	speak: none;
	font-size: 22px;
	line-height: 50px;
	text-transform: none;
	display: block;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
	content: '\f077';
	font-weight: 900;
}
.backToTop .hi-icon:after {
	display: none;
}
/* backToTopの設定 ここまで　*/

/* backToTopのアニメーション設定 ここから　*/
.backToTop .hi-icon:hover {
	color: #010066;
}
.backToTop .hi-icon:hover:before {
	-webkit-animation: toTopFromBottom 0.5s forwards;
	-moz-animation: toTopFromBottom 0.5s forwards;
	animation: toTopFromBottom 0.5s forwards;
}

@-webkit-keyframes toTopFromBottom {
	49% {
		-webkit-transform: translateY(-100%);
	}
	50% {
		opacity: 0;
		-webkit-transform: translateY(100%);
	}
	51% {
		opacity: 1;
	}
}
@-moz-keyframes toTopFromBottom {
	49% {
		-moz-transform: translateY(-100%);
	}
	50% {
		opacity: 0;
		-moz-transform: translateY(100%);
	}
	51% {
		opacity: 1;
	}
}
@keyframes toTopFromBottom {
	49% {
		transform: translateY(-100%);
	}
	50% {
		opacity: 0;
		transform: translateY(100%);
	}
	51% {
		opacity: 1;
	}
}
/* backToTopのアニメーション設定 ここまで　*/

/* コピーライト　*/
.copyright {
	margin: 0;
	color: #fff;
	font-size: .8125em;
	text-align: center;
}
.privacy-link {
  font-size: 0.7rem;
  text-align: center;
  margin-bottom: -0.4rem!important;
  }
  .privacy-link a {
  color: #999!important;
  text-decoration: none;
  transition: .3s;
  }
  .privacy-link a:hover {
  color: #fff!important;
  }
  
/*
if you checked out the link above:
http://www.alistapart.com/articles/organizing-mobile/
you'll want to style the footer nav
a bit more in-depth. Remember to keep
it simple because you'll have to
override these styles for the desktop
view.
*/
/* end .footer-links */
/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
@media only screen and (min-width: 481px) {
  /******************************************************************
  Site Name:
  Author:
  
  Stylesheet: 481px and Up Stylesheet
  
  This stylesheet is loaded for larger devices. It's set to
  481px because at 480px it would load on a landscaped iPhone.
  This isn't ideal because then you would be loading all those
  extra styles on that same mobile connection.
  
  A word of warning. This size COULD be a larger mobile device,
  so you still want to keep it pretty light and simply expand
  upon your base.scss styles.
  
  ******************************************************************/
  /*
  IMPORTANT NOTE ABOUT SASS 3.3 & UP
  You can't use @extend within media queries
  anymore, so just be aware that if you drop
  them in here, they won't work.
  */
  /*********************
  NAVIGATION STYLES
  *********************/
  /* .menu is clearfixed inside mixins.scss */
  .menu {
    /* end .menu ul */ }
    .menu ul {
      /* end .menu ul li */
      /* highlight current page */
      /* end current highlighters */ }
      .menu ul li {
        /*
        plan your menus and drop-downs wisely.
        */ }
        .menu ul li a {
          /*
          you can use hover styles here even though this size
          has the possibility of being a mobile device.
          */ }

  /* end .menu */
  /*********************
  POSTS & CONTENT STYLES
  *********************/
  /* entry content */
  .entry-content {
    /* at this larger size, we can start to align images */ }
    .entry-content .alignleft, .entry-content img.alignleft {
      margin-right: 1.5em;
      display: inline;
      float: left; }
    .entry-content .alignright, .entry-content img.alignright {
      margin-left: 1.5em;
      display: inline;
      float: right; }
    .entry-content .aligncenter, .entry-content img.aligncenter {
      margin-right: auto;
      margin-left: auto;
      display: block;
      clear: both; }

  /* end .entry-content */
  /*********************
  FOOTER STYLES
  *********************/
  /*
  check your menus here. do they look good?
  do they need tweaking?
  */
  /* end .footer-links */ }
/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 768px) {
  /******************************************************************
  Site Name:
  Author:
  
  Stylesheet: Tablet & Small Desktop Stylesheet
  
  Here's where you can start getting into the good stuff.
  This size will work on iPads, other tablets, and desktops.
  So you can start working with more styles, background images,
  and other resources. You'll also notice the grid starts to
  come into play. Have fun!
  
  ******************************************************************/
  /*********************
  GENERAL STYLES
  *********************/
  /*********************
  LAYOUT & GRID STYLES
  *********************/
  .wrap {
    width: 90%; }

  /*********************
  HEADER STYLES
  *********************/
  /*********************
  NAVIGATION STYLES
  *********************/
  .nav {
    border: 0;
    /* end .menu ul li */
    /* highlight current page */
    /* end current highlighters */ }
    .nav ul {
      background: #323944;
      margin-top: 0; }
    .nav li {
      float: left;
      position: relative;
      /*
      plan your menus and drop-downs wisely.
      */
      /* showing sub-menus */ }
      .nav li a {
        border-bottom: 0;
        /*
        you can use hover styles here even though this size
        has the possibility of being a mobile device.
        */ }
        .nav li a:hover, .nav li a:focus {
          color: white;
          text-decoration: underline; }
      .nav li ul.sub-menu,
      .nav li ul.children {
        margin-top: 0;
        border: 1px solid #ccc;
        border-top: 0;
        position: absolute;
        visibility: hidden;
        z-index: 8999;
        /* highlight sub-menu current page */ }
        .nav li ul.sub-menu li,
        .nav li ul.children li {
          /*
          if you need to go deeper, go nuts
          just remember deeper menus suck
          for usability. k, bai.
          */ }
          .nav li ul.sub-menu li a,
          .nav li ul.children li a {
            padding-left: 10px;
            border-right: 0;
            display: block;
            width: 180px;
            border-bottom: 1px solid #ccc; }
          .nav li ul.sub-menu li:last-child a,
          .nav li ul.children li:last-child a {
            border-bottom: 0; }
          .nav li ul.sub-menu li ul,
          .nav li ul.children li ul {
            top: 0;
            left: 100%; }
      .nav li:hover > ul {
        top: auto;
        visibility: visible; }

  /* end .nav */
  /*********************
  SIDEBARS & ASIDES
  *********************/

  .widgettitle {
    border-bottom: 2px solid #444;
    margin-bottom: 0.75em; }

  .widget {
    padding: 0;
    margin: 0; }
    .widget ul li {
      margin-bottom: 0;
      /* deep nesting */ }
      .widget ul li ul {
        margin-top: 0.75em;
        padding-left: 1em; }

  /*********************
  FOOTER STYLES
  *********************/
  /*
  you'll probably need to do quite a bit
  of overriding here if you styled them for
  mobile. Make sure to double check these!
  */
  .footer-links ul li {
    /*
    be careful with the depth of your menus.
    it's very rare to have multi-depth menus in
    the footer.
    */ }

  /* end .footer-links */ }
/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 1030px) {
  /******************************************************************
  Site Name:
  Author:
  
  Stylesheet: Desktop Stylsheet
  
  This is the desktop size. It's larger than an iPad so it will only
  be seen on the Desktop.
  
  ******************************************************************/
  .wrap {
    width: 1000px; } }
/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media only screen and (min-width: 1240px) {
  /******************************************************************
  Site Name: 
  Author: 
  
  Stylesheet: Super Large Monitor Stylesheet
  
  You can add some advanced styles here if you like. This kicks in
  on larger screens.
  
  ******************************************************************/ }
/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
  Site Name: 
  Author: 
  
  Stylesheet: Retina Screens & Devices Stylesheet
  
  When handling retina screens you need to make adjustments, especially
  if you're not using font icons. Here you can add them in one neat
  place.
  
  ******************************************************************/
  /* 
  
  EXAMPLE 
  Let's say you have an image and you need to make sure it looks ok
  on retina screens. Let's say we have an icon which dimension are
  24px x 24px. In your regular stylesheets, it would look something
  like this:
  
  .icon {
  	width: 24px;
  	height: 24px;
  	background: url(img/test.png) no-repeat;
  }
  
  For retina screens, we have to make some adjustments, so that image
  doesn't look blurry. So, taking into account the image above and the
  dimensions, this is what we would put in our retina stylesheet:
  
  .icon {
  	background: url(img/test@2x.png) no-repeat;
  	background-size: 24px 24px;
  }
  
  So, you would create the same icon, but at double the resolution, meaning 
  it would be 48px x 48px. You'd name it the same, but with a @2x at the end
  (this is pretty standard practice). Set the background image so it matches
  the original dimensions and you are good to go. 
  
  */ }
/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@media print {
  /******************************************************************
  Site Name:
  Author:
  
  Stylesheet: Print Stylesheet
  
  This is the print stylesheet. There's probably not a lot
  of reasons to edit this stylesheet. If you want to
  though, go for it.
  
  ******************************************************************/
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important; }

  a, a:visited {
    color: #444 !important;
    text-decoration: underline; }
    a:after, a:visited:after {
      content: " (" attr(href) ")"; }
    a abbr[title]:after, a:visited abbr[title]:after {
      content: " (" attr(title) ")"; }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  thead {
    display: table-header-group; }

  tr, img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  @page {
    margin: 0.5cm; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }

  h2,
  h3 {
    page-break-after: avoid; }

  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none; } }
