/******************************************************************
Site Name:xxxx
Author:Daiichi Printing Co.,ltd.
Stylesheet: Main Stylesheet
******************************************************************/
/*********************
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; }

audio,
canvas,
video {
    display: inline-block; }

audio:not([controls]) {
    display: none;
    height: 0; }

[hidden],
template {
    display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium"); }
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Bold"); font-weight: bold; }

html {
    font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/**
 * Remove default margin.
 */
body {
    margin: 0;
    -webkit-text-size-adjust: 100%;
}

/* ==========================================================================
   Links
   ========================================================================== */
a {
    background: transparent; }

a:focus {
    outline: thin dotted; }

a:active,
a:hover {
    outline: 0; }

/* ==========================================================================
   Typography
   ========================================================================== */
h1 {
    margin: 0;
    padding: 0;
}

abbr[title] {
    border-bottom: 1px dotted; }

b,
strong,
.strong {
    font-weight: bold;
}

dfn,
em,
.em {
    font-style: italic;
}

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;
}

  /* Responsive images */
img {
    max-width: 100%;
    height: auto;
}

/**
 * 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;
}

legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

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;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
}

button[disabled],
html input[disabled] {
    cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    /* 2 */
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

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;
}
.clear {
    clear: both;
}
.clear hr {
    display: none;
}
/*
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;
}

.last-col {
    float: right;
    padding-right: 0 !important;
}

/*

/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
.alert-help, .alert-info, .alert-error, .alert-success {
    margin: 10px;
    padding: 5px 18px;
    border: 1px solid;
}

.alert-help {
    border-color: #e8dc59;
    background: #ebe16f;
}

.alert-info {
    border-color: #bfe4f4;
    background: #d5edf8;
}

.alert-error {
    border-color: #f8cdce;
    background: #fbe3e4;
}

.alert-success {
    border-color: #deeaae;
    background: #e6efc2;
}

/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
.blue-btn, .comment-reply-link, #submit {
    display: inline-block;
    position: relative;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-decoration: none;
    color: white;
    font-size: 0.9em;
    font-size: 34px;
    line-height: 34px;
    font-weight: normal;
    padding: 0 24px;
    border-radius: 4px;
    border: 0;
    cursor: pointer;
    -webkit-transition: background-color 0.14s ease-in-out;
    transition: background-color 0.14s ease-in-out;
}
.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
    color: white;
    text-decoration: none;
}
.blue-btn:active, .comment-reply-link:active, #submit:active {
    top: 1px;
}

.blue-btn, .comment-reply-link, #submit {
    background-color: #2980b9;
}
.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
    background-color: #2574a8;
}
.blue-btn:active, .comment-reply-link:active, #submit:active {
    background-color: #2472a4;
}

/*********************
INPUTS
*********************/
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
    display: block;
    height: 40px;
    line-height: 40px;
    padding: 0 12px;
    margin-bottom: 14px;
    font-size: 1em;
    color: #5c6b80;
    border-radius: 3px;
    vertical-align: middle;
    box-shadow: none;
    border: 0;
    width: 100%;
    max-width: 400px;
    font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
    background-color: #eaedf2;
    -webkit-transition: background-color 0.24s ease-in-out;
    transition: background-color 0.24s ease-in-out;
}

input[type="text"]:focus, input[type="text"]:active,
input[type="password"]:focus,
input[type="password"]:active,
input[type="datetime"]:focus,
input[type="datetime"]:active,
input[type="datetime-local"]:focus,
input[type="datetime-local"]:active,
input[type="date"]:focus,
input[type="date"]:active,
input[type="month"]:focus,
input[type="month"]:active,
input[type="time"]:focus,
input[type="time"]:active,
input[type="week"]:focus,
input[type="week"]:active,
input[type="number"]:focus,
input[type="number"]:active,
input[type="email"]:focus,
input[type="email"]:active,
input[type="url"]:focus,
input[type="url"]:active,
input[type="search"]:focus,
input[type="search"]:active,
input[type="tel"]:focus,
input[type="tel"]:active,
input[type="color"]:focus,
input[type="color"]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
    background-color: #f7f8fa;
}

input[type="text"].error, input[type="text"].is-invalid,
input[type="password"].error,
input[type="password"].is-invalid,
input[type="datetime"].error,
input[type="datetime"].is-invalid,
input[type="datetime-local"].error,
input[type="datetime-local"].is-invalid,
input[type="date"].error,
input[type="date"].is-invalid,
input[type="month"].error,
input[type="month"].is-invalid,
input[type="time"].error,
input[type="time"].is-invalid,
input[type="week"].error,
input[type="week"].is-invalid,
input[type="number"].error,
input[type="number"].is-invalid,
input[type="email"].error,
input[type="email"].is-invalid,
input[type="url"].error,
input[type="url"].is-invalid,
input[type="search"].error,
input[type="search"].is-invalid,
input[type="tel"].error,
input[type="tel"].is-invalid,
input[type="color"].error,
input[type="color"].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
    color: #fbe3e4;
    border-color: #fbe3e4;
    background-color: white;
    background-position: 99% center;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
    outline-color: #fbe3e4;
}

input[type="text"].success, input[type="text"].is-valid,
input[type="password"].success,
input[type="password"].is-valid,
input[type="datetime"].success,
input[type="datetime"].is-valid,
input[type="datetime-local"].success,
input[type="datetime-local"].is-valid,
input[type="date"].success,
input[type="date"].is-valid,
input[type="month"].success,
input[type="month"].is-valid,
input[type="time"].success,
input[type="time"].is-valid,
input[type="week"].success,
input[type="week"].is-valid,
input[type="number"].success,
input[type="number"].is-valid,
input[type="email"].success,
input[type="email"].is-valid,
input[type="url"].success,
input[type="url"].is-valid,
input[type="search"].success,
input[type="search"].is-valid,
input[type="tel"].success,
input[type="tel"].is-valid,
input[type="color"].success,
input[type="color"].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
    color: #e6efc2;
    border-color: #e6efc2;
    background-color: white;
    background-position: 99% center;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
    outline-color: #e6efc2;
}

input[type="text"][disabled], input[type="text"].is-disabled,
input[type="password"][disabled],
input[type="password"].is-disabled,
input[type="datetime"][disabled],
input[type="datetime"].is-disabled,
input[type="datetime-local"][disabled],
input[type="datetime-local"].is-disabled,
input[type="date"][disabled],
input[type="date"].is-disabled,
input[type="month"][disabled],
input[type="month"].is-disabled,
input[type="time"][disabled],
input[type="time"].is-disabled,
input[type="week"][disabled],
input[type="week"].is-disabled,
input[type="number"][disabled],
input[type="number"].is-disabled,
input[type="email"][disabled],
input[type="email"].is-disabled,
input[type="url"][disabled],
input[type="url"].is-disabled,
input[type="search"][disabled],
input[type="search"].is-disabled,
input[type="tel"][disabled],
input[type="tel"].is-disabled,
input[type="color"][disabled],
input[type="color"].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
    cursor: not-allowed;
    border-color: #cfcfcf;
    opacity: 0.6;
}

input[type="text"][disabled]:focus, input[type="text"][disabled]:active, input[type="text"].is-disabled:focus, input[type="text"].is-disabled:active,
input[type="password"][disabled]:focus,
input[type="password"][disabled]:active,
input[type="password"].is-disabled:focus,
input[type="password"].is-disabled:active,
input[type="datetime"][disabled]:focus,
input[type="datetime"][disabled]:active,
input[type="datetime"].is-disabled:focus,
input[type="datetime"].is-disabled:active,
input[type="datetime-local"][disabled]:focus,
input[type="datetime-local"][disabled]:active,
input[type="datetime-local"].is-disabled:focus,
input[type="datetime-local"].is-disabled:active,
input[type="date"][disabled]:focus,
input[type="date"][disabled]:active,
input[type="date"].is-disabled:focus,
input[type="date"].is-disabled:active,
input[type="month"][disabled]:focus,
input[type="month"][disabled]:active,
input[type="month"].is-disabled:focus,
input[type="month"].is-disabled:active,
input[type="time"][disabled]:focus,
input[type="time"][disabled]:active,
input[type="time"].is-disabled:focus,
input[type="time"].is-disabled:active,
input[type="week"][disabled]:focus,
input[type="week"][disabled]:active,
input[type="week"].is-disabled:focus,
input[type="week"].is-disabled:active,
input[type="number"][disabled]:focus,
input[type="number"][disabled]:active,
input[type="number"].is-disabled:focus,
input[type="number"].is-disabled:active,
input[type="email"][disabled]:focus,
input[type="email"][disabled]:active,
input[type="email"].is-disabled:focus,
input[type="email"].is-disabled:active,
input[type="url"][disabled]:focus,
input[type="url"][disabled]:active,
input[type="url"].is-disabled:focus,
input[type="url"].is-disabled:active,
input[type="search"][disabled]:focus,
input[type="search"][disabled]:active,
input[type="search"].is-disabled:focus,
input[type="search"].is-disabled:active,
input[type="tel"][disabled]:focus,
input[type="tel"][disabled]:active,
input[type="tel"].is-disabled:focus,
input[type="tel"].is-disabled:active,
input[type="color"][disabled]:focus,
input[type="color"][disabled]:active,
input[type="color"].is-disabled:focus,
input[type="color"].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
    background-color: #d5edf8;
}

input[type="password"] {
    letter-spacing: 0.3em;
}

textarea {
    max-width: 100%;
    min-height: 120px;
    line-height: 1.5em;
}

select {
    -webkit-appearance: none;
    /* 1 */
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
    background-repeat: no-repeat;
    background-position: 97.5% center;
}

/*********************
GENERAL STYLES
*********************/
body {
    font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 100%;
    line-height: 1.5;
    color: #000;
    background-color: #fff;
    word-wrap: break-word;
    -webkit-font-smoothing: antialiased;
}

.center {
    margin: 0 auto;
    text-align: center;
}

p {
    margin: 0;
    padding: 0;
}
/* Font Styles
----------------------------------------------- */
.bold {
    font-weight: bold;
}

.f110percent {
    font-size: 110%;
}

.f120percent {
    font-size: 120%;
}

.f130percent {
    font-size: 130%;
}

.f140percent {
    font-size: 140%;
}


/* Web Font
----------------------------------------------- */
.webfont_ryo_r {
    font-family: ryo-text-plusn, serif;
    font-style: normal;
    font-weight: 400;
}

.webfont_ryo_m {
    font-family: ryo-text-plusn, serif;
    font-style: normal;
    font-weight: 500;
}



/*********************
HIDDEN STYLES
*********************/
.hidden {
    display: none;
}

@media all and (max-width: 720px) {
  .hidden-min720 {
    display: none;
  }
}

@media all and (min-width: 721px) {
  .hidden-720over {
    display: none;
  }
}


/*********************
IMAGE EFFECT
*********************/
.fade {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.fade:hover {
    opacity: 0.4;
    filter: alpha(opacity=60);
}

/*********************
Block Reveal Effects
*********************/
.block-revealer__element {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    pointer-events: none;
    opacity: 0;
}

/*********************
WORD STYLES
*********************/
.wordBreakAll { word-break: break-all; }

/*********************
LAYOUT & GRID STYLES
*********************/
#container {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
}

.wrap {
    width: auto;
    margin: 0 auto;
    padding: 0;
}

#main {
    width: auto;
    margin: 0 auto;
    padding: 0;
}

/*********************
LINK STYLES
*********************/
a, a:visited {
    color: #333;
    /* on hover */
    /* on click */
    /* mobile tap color */ }
a:hover, a:focus, a:visited:hover, a:visited:focus {
    color: #333; }
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;
    font-weight: 500;
    /*
    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: 2.5em;
    line-height: 1.333em;
}

h2, .h2 {
    font-size: 1.75em;
    line-height: 1.4em;
    margin-bottom: 0.375em;
}

h3, .h3 {
    font-size: 1.125em;
}

h4, .h4 {
    font-size: 1.1em;
    font-weight: 700;
}

h5, .h5 {
    font-size: 0.846em;
    line-height: 2.09em;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/*********************
HEADER STYLES
*********************/
.header {
    width: 100%;
    margin: 0;
    padding: 0 20px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    justify-content: space-between;
    background: #fff;
}

.header_inner {
    width: 100%;
    max-width: 1240px;
    height: 90px;
    background: #fff;
    margin: 0 auto;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    justify-content: space-between;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1280px) {
  .header_inner {
    height: 120px;
  }
}

.siteLogo {
    width: 280px;

    margin: 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 460px) and (max-width: 599px) {
  .siteLogo {
    width: 320px;

  }
}
@media all and (min-width: 600px) and (max-width: 1279px) {
  .siteLogo {
    width: 360px;

  }
}
@media all and (min-width: 1280px) {
  .siteLogo {
    width: 412px;

  }
}

.siteLogo h1 {
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 1;
}


/*********************
MAINNAVI STYLES
*********************/
.mainnavi {
    display: none;
    transition: 0.3s ease-in-out;

}
@media all and (min-width: 1280px) {
  .mainnavi {
    font-size: 16px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    justify-content: space-between;
  }
}


.nav {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.menu {
    margin: 0;
}

.menu a {
    color: #12449b !important;
    font-weight: bold;
    position: relative;
    display: inline-block;
    text-decoration: none;
}
.menu a::after {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    width: 6px;
    height: 6px;
    background: #12449b;
    border-radius: 50%; /* ←丸にする */
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}
.menu a:hover::after {
    bottom: -4px;
    opacity: 1;
    visibility: visible;
}

#nav-name .active a::after {
    bottom: -4px;
    opacity: 1;
    visibility: visible;
}



/* responsive menu (plugin)
----------------------------------------------- */
#rmp_menu_trigger-17 {
    border: 1px solid #12449b !important;
}

/* =====================
   mainVisual（親）
===================== */
.mainVisual {
    height: clamp(400px, 80vh, 100vh); /* 最小高さを担保しつつ可変 */
    margin-top: 90px;
    position: relative;
    overflow: hidden;
    transition: 0.3s ease-in-out;
}

/* PC時のヘッダー分 */
@media all and (min-width: 1280px) {
  .mainVisual {
    margin-top: 120px;
  }
}


/* ▼ 〜599px（コンパクト） */
@media all and (max-width: 599px) {
  .mainVisual {
    height: clamp(320px, 50vh, 600px);
  }
}

/* ▼ 600px〜1024px（縦長ゾーン） */
@media all and (min-width: 600px) and (max-width: 1024px) {
  .mainVisual {
    height: clamp(500px, 100vh, 100vh);
  }
}

/* ▼ 1025px以上（PC） */
@media all and (min-width: 1025px) {
  .mainVisual {
    height: clamp(500px, 100vh, 100vh);
  }
}



/* =====================
   mainVisual_img（子）
===================== */
.mainVisual_img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    transition: 0.3s ease-in-out;
}


/* ▼ 〜599px（通常表示） */
@media all and (max-width: 599px) {
  .mainVisual_img {
    object-position: center;
  }
}

/* ▼ 600px〜1024px（縦長見せ） */
@media all and (min-width: 600px) and (max-width: 1024px) {
  .mainVisual_img {
    object-position: center top;
  }
}

/* ▼ 1025px以上（PC） */
@media all and (min-width: 1025px) {
  .mainVisual_img {
    object-position: center;
  }
}

/*********************
COMMON STYLE
*********************/
/* wrap
----------------------------------------------- */
.common_wrap1 {
    width: 100%;
    margin: 0;
    padding: 0;
}

.common_wrap1 img {
    display: block;
}

.blue_wrap1 {
    background: #f3f9ff;
}

/* inner
----------------------------------------------- */
.inner600 {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.inner1024 {
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
}

/* padding
----------------------------------------------- */
.pt0 {
    padding-top: 0 !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pt60 {
    padding-top: 60px !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

.pb60 {
    padding-bottom: 60px !important;
}

.ptb0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.ptb10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.ptb15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.ptb20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.ptb30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.ptb40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

.ptb50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.ptb60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

.ptb70 {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}

.ptb80 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.ptb90 {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
}

.ptb100 {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

.plr10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.plr15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.plr20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}


/* margin
----------------------------------------------- */
.mtb10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.mtb20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.mtb30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}

.mtb40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
}

.mtb50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}

.mtb60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
}

.mtb70 {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
}

.mtb80 {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
}

.mtb90 {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
}

.mtb100 {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mt70 {
    margin-top: 70px !important;
}

.mt80 {
    margin-top: 80px !important;
}

.mt90 {
    margin-top: 90px !important;
}

.mt100 {
    margin-top: 100px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}
.mb70 {
    margin-bottom: 70px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mb90 {
    margin-bottom: 90px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

/* flexbox
----------------------------------------------- */
.flex_reverse {
    flex-direction: row-reverse;
}

/* position
----------------------------------------------- */
.position_absolute {
    position: absolute;
}

.position_relative {
    position: relative;
}

.position_fixed {
    position: fixed;
}

/*********************
TOP PAGE
*********************/
.topNews_inner {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 70px 20px;
}

.topNews_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.topNews_item {
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 20px;
}

.topNews_item a {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #111;
    width: 100%;
    transition: color 0.3s ease;
}

.topNews_item a:hover {
    color: #023894;
}

.topNews_date {
    width: 120px;
}

.topNews_title {
    flex: 1;
}

.topNews_item i {
    position: relative;
    top: 3px;
    margin: 0 5px 0 0;
}

.top_h2 {
    color: #023894;
    font-size: 24px;
    font-family: ryo-text-plusn, serif;
    font-style: normal;
    font-weight: 400;
    text-align: center;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 480px) and (max-width: 599px) {
  .top_h2 {
    font-size: 26px;
  }
}
@media all and (min-width: 600px) and (max-width: 1023px) {
  .top_h2 {
    font-size: 36px;
  }
}
@media all and (min-width: 1024px) {
  .top_h2 {
    font-size: 48px;
  }
}

.top_h3 {
    color: #111;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: 20px 0 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) {
  .top_h3 {
    font-size: 20px;
  }
}

.top_movie {
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 120px 40px;
}

/*youtube埋め込み*/
.youtube {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 アスペクト比 */
    height: 0;
    overflow: hidden;
}
.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*youtube埋め込み終了*/

/* top content1
----------------------------------------------- */
.topContent1_inner {
    margin: 0 auto;
    padding: 90px 20px 70px;
    background: #fff;
}

.topContent1_itemGroup1 {
    width: 100%;
    max-width: 1200px;
    margin: 90px auto 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .topContent1_itemGroup1 {
    display: flex;
    justify-content: space-between;
  }
}

.topContent1_itemGroup2 {
    width: 100%;
    max-width: 1200px;
    margin: 60px auto 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .topContent1_itemGroup2 {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}

.topContent1_item1 {
    width: 100%;
    max-width: 524px;
    margin: 0 auto;
    padding: 0 20px;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .topContent1_item1 {
    width: 43.6666%; /*524/1200*/
    max-width: 524px;
    margin: 0;
    padding: 0;
  }
}

.topContent1_item2 {
    font-size: 16px;
    letter-spacing: 0.083em;
    line-height: 1.7;
    width: 100%;
    max-width: 524px;
    margin: 0 auto;
    padding: 0 20px;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) and (max-width: 959px){
  .topContent1_item2 {
    font-size: 16px;
    line-height: 1.8;
    width: 50%;
    display: flex;
    align-items: center;
    width: 50%;
    max-width: 500px;
    margin: 0;
    padding: 0;
  }
}
@media all and (min-width: 960px) and (max-width: 1023px){
  .topContent1_item2 {
    font-size: 18px;
    line-height: 1.8;
    width: 50%;
    display: flex;
    align-items: center;
    width: 50%;
    max-width: 500px;
    margin: 0;
  }
}
@media all and (min-width: 1024px) and (max-width: 1299px){
  .topContent1_item2 {
    font-size: 18px;
    line-height: 2;
    width: 50%;
    display: flex;
    align-items: center;
    width: 50%;
    max-width: 500px;
    margin: 0;
  }
}
@media all and (min-width: 1300px) {
  .topContent1_item2 {
    font-size: 18px;
    line-height: 2;
    width: 41.6666%; /*500/1200*/
    display: flex;
    align-items: center;
    width: 50%;
    max-width: 500px;
    margin: 0;
  }
}

.topContent1_text {
    padding: 5% 0 0;
    transform: translateY(0%);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) {
  .topContent1_text {
      padding: 0;
    transform: translateY(-15%);
  }
}

/* top content2
----------------------------------------------- */
.topContent2_inner {
    margin: 0 auto;
    padding: 90px 20px 70px;
    background: #fff;
}

.topContent2_itemGroup1 {
    width: 100%;
    max-width: 1530px;
    margin: 0 auto 60px;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .topContent2_itemGroup1 {
    margin: 90px auto 60px;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}


.topContent2_item1 {
    font-size: 16px;
    letter-spacing: 0.083em;
    line-height: 1.5;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    align-items: center;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) and (max-width: 1023px) {
  .topContent2_item1 {
    width: 65%;
    margin: 0;
  }
}
@media all and (min-width: 1024px) {
  .topContent2_item1 {
    width: 52.2875%; /*800/1530*/
    margin: 0;
  }
}

.topContent2_item2 {
    width: 100%;
    max-width: 200px;
    margin: 20px auto 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .topContent2_item2 {
    width: 30.0653%; /*460/1530*/
    max-width: 460px;
    margin: 0;
  }
}

.topContent2_text {
    padding: 5% 0 0;
    transform: translateY(0);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) {
  .topContent2_text {
    padding: 0;
    transform: translateY(-5%);
  }
}

.circle-list {
    color: #023894;
    font-weight: bold;
    list-style: none;
    counter-reset: num;
    margin: 40px 0 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}

.circle-list li {
    counter-increment: num;
    position: relative;
    margin: 0 0 16px 0;
    padding-left: 40px;
}

.circle-list li::before {
    content: counter(num);
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    background: #023894;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 24px;
    font-size: 14px;
}

/* member
----------------------------------------------- */
.member {
    margin: 0;
    padding: 40px 20px;
    background: #fff;
}

.member_inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

.member_head {
    color: #023894;
    margin: 0 0 30px;
    padding: 0;
    font-size: 20px;
    font-weight: bold;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) {
  .member_head {
    font-size: 24px;
  }
}

/* item
----------------------------------------------- */
.member_item {
    margin: 0;
    padding: 15px 0;
    border-bottom: 1px solid #ddd;

    display: flex;
    justify-content: flex-start;
    gap: 30px;
}

/* name */
.member_name {
    width: 35%;
    margin: 0;
    padding: 0;
    font-weight: bold;
}

/* address */
.member_address {
    width: 45%;
    margin: 0;
    padding: 0;
}

/* tel */
.member_tel {
    width: 20%;
    margin: 0;
    padding: 0;
    text-align: right;
}

/* responsive
----------------------------------------------- */
@media all and (max-width: 768px) {

    .member_item {
        display: block;
    }

    .member_name,
    .member_address,
    .member_tel {
        width: 100%;
    }

    .member_name {
        margin-bottom: 5px;
    }

    .member_address {
        margin-bottom: 5px;
    }

    .member_tel {
        text-align: left;
    }

}

/* top content3
----------------------------------------------- */
.topContent3_inner {
    margin: 0 auto;
    padding: 90px 20px 70px;
    background: #fff;
}

.topContent3_inner .p1 {
    font-size: 16px;
    letter-spacing: 0.094em;
    line-height: 1.5;
    width: 100%;
    max-width: 1050px;
    margin: 2em auto 0;
    padding: 0;
}

.topContent3_img1 {
    width: 100%;
    max-width: 622px;
    margin: 60px auto;
    padding: 0;
}


/* feature
----------------------------------------------- */
.feature {
    margin: 0;
    padding: 80px 20px;
    background: #fff;
}

.feature_inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

/* item
----------------------------------------------- */
.feature_item {
    display: flex;
    margin: 0 0 40px;
    padding: 0;
}

/* number */
.feature_num {
    width: 80px;
    margin: 0;
    padding: 0;
    font-size: 48px;
    color: #1f4fa3;
    line-height: 1;
}

/* content */
.feature_content {
    width: calc(100% - 80px);
    margin: 0;
    padding: 0;
}

/* title */
.feature_title {
    margin: 0 0 10px;
    padding: 0;
    font-size: 20px;
    font-weight: bold;
    color: #1f4fa3;
    border-bottom: 2px solid #1f4fa3;
    display: inline-block;
}

/* text */
.feature_text {
    margin: 0;
    padding: 0;
    line-height: 2;
}

/* responsive
----------------------------------------------- */
@media all and (max-width: 768px) {

    .feature_item {
        display: block;
    }

    .feature_num {
        margin-bottom: 10px;
    }

    .feature_content {
        width: 100%;
    }

}


/* top content4
----------------------------------------------- */
.topContent4_inner {
    margin: 0 auto;
    padding: 90px 20px 70px;
    background: #fff;
}

/* support
----------------------------------------------- */
.support {
    margin: 0;
    padding: 80px 20px;
    background: #fff;
}

.support_inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
}

/* table
----------------------------------------------- */
.support_table {
    width: 100%;
    margin: 0 0 60px;
    border-collapse: collapse;
}

/* head */
.support_head {
    padding: 20px;
    font-size: 18px;
    text-align: center;
}

/* th */
.support_th {
    width: 200px;
    padding: 20px;
    text-align: left;
    vertical-align: middle;
    font-weight: bold;
}

/* td */
.support_td {
    padding: 20px;
    line-height: 1.8;
}

/* price */
.support_price {
    font-size: 20px;
    font-weight: bold;
}

/* ピンク */
.support_table--pink {
    border: 1px solid #e5a4b2;
}

.support_table--pink th,
.support_table--pink td {
    border: 1px solid #e5a4b2;
}

.support_table--pink .support_head {
    background: #f3d7dd;
}

/* ブルー */
.support_table--blue {
    border: 1px solid #7fc3d6;
}

.support_table--blue th,
.support_table--blue td {
    border: 1px solid #7fc3d6;
}

.support_table--blue .support_head {
    background: #d6eef5;
}

/* arrow
----------------------------------------------- */
.support_arrow {
    text-align: center;
    margin: 40px 0;
    font-size: 40px;
    color: #999;
}

/* responsive
----------------------------------------------- */
@media all and (max-width: 768px) {

    .support_th,
    .support_td {
        display: block;
        width: 100%;
    }

    .support_th {
        background: #f0f0f0;
    }

}








/*********************
NEWS PAGE
*********************/
.top_topics_wrap {
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 120px 20px 0;
    transition: 0.3s ease-in-out;
}

@media all and (min-width: 650px) {
  .top_topics_wrap {
    padding: 160px 20px 0;
  }
}

.topics_item {
    text-decoration: none;
}

.topics_item_inner {
    width: 100%;
    margin: 0 auto;
    padding: 20px 60px 30px 10px;
    border-bottom: 1px dotted #c3c3c3;
    transition: 0.3s ease-in-out;
    position: relative;

    /* ▼ ここが今回の本質修正 */
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.topics_item_inner:hover {
    background: #f7f7f7;
}

.data_time {
    font-size: 14px;
    font-weight: bold;
    transition: 0.3s ease-in-out;

    /* ▼ 固定幅で安定させる */
    width: 100px;
    flex-shrink: 0;
}

@media all and (min-width: 640px) {
  .data_time {
    font-size: 16px;
  }
}

.post-title {
    font-weight: 600;
    transition: 0.3s ease-in-out;

    /* ▼ flex対応 */
    flex: 1;
    min-width: 0;
}

.post-title:after {
    color: #294d9c;
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-size: 30px;
    content: "\f2f6";
    right: 10px;

    /* ▼ 縦中央に変更 */
    top: 50%;
    transform: translateY(-50%);
}

/* ▼ スマホ対応（おすすめ） */
@media (max-width: 640px) {
    .topics_item_inner {
        flex-direction: column;
        gap: 5px;
    }

    .data_time {
        width: auto;
    }
}

/* Single
----------------------------------------------- */

.news_single_wrap {
    width: 100%;
    margin: 90px auto 0;
    padding: 0;
}

/* PC時のヘッダー分 */
@media all and (min-width: 1280px) {
  .news_single_wrap {
    margin: 120px auto 0;
  }
}

.news_single_inner {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 10px 90px;
}

.news_single_inner h2 {
    color: #1e0000;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
    line-height: 1.5;
    width: 100%;
    font-size: 20px;
    margin: 0.5em 0 0 0;
    padding: 0 0 30px 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) and (max-width: 959px) {
  .news_single_inner h2 {
    font-size: 24px;
  }
}
@media all and (min-width: 960px) {
  .news_single_inner h2 {
    font-size: 30px;
  }
}

.single_entry-meta {
    color: #333;
    font-size: 16px;
    border: 1px solid #dbdbdb;
    display: inline-block;
    margin: 40px 0 0;
    padding: 10px 30px;
    transition: all .2s ease-in;
}
@media all and (min-width: 769px) {
  .single_entry-meta {
    margin: 10px 0 0;
  }
}


.single_entry-meta a {
    text-decoration: none;
    color: #002048;
    margin: 0;
    padding: 0;
    transition: color .3s;
}
.single_entry-meta a:visited {
    color: #002048;
    text-decoration: none;
}
.single_entry-meta a:hover {
    color: #ffaf4c;
    text-decoration: none;
}
.single_entry-meta a:active {
    color: #002048;
    text-decoration: none;
}

.singlepage_content {
    color: #333;
    font-size: 16px;
    margin: 50px auto 0;
    padding: 50px 0;
    border-top: 1px dotted #c3c3c3;
    border-bottom: 1px dotted #c3c3c3;
    line-height: 2;
}
.singlepage_content_wrap {
    margin: 0;
    padding: 0 20px;
}

.singlepage_content_wrap a:link {
    color: #000;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.singlepage_content_wrap a:visited {
    color: #000;
    text-decoration: none;
}
.singlepage_content_wrap a:hover {
    color: #fabe00;
    text-decoration: none;
}
.singlepage_content_wrap a:active {
    color: #000;
    text-decoration: none;
}

.singlePageNavi_wrap {
    width: 100%;
    max-width: 290px;
    margin: 0 auto 200px;
    padding: 0;
}

.singlePageNavi_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    justify-content: center;
    justify-content: space-between;
    text-align: center;
    padding: 0;
}

.singlePageNavi_item {
    font-size: 18px;
    width: 33.3333%;
    min-width: 100px;
}

.singlePageNavi_item a {
    color: #212121;
    text-decoration: none;
    transition: all .2s ease-in;
}
.singlePageNavi_item a:visited {
    color: #212121;
    text-decoration: none;
}
.singlePageNavi_item a:hover {
    color: #dd242e;
    text-decoration: none;
}
.singlePageNavi_item a:active {
    color: #212121;
    text-decoration: none;
}

/*********************
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;
    padding: 0;
}

.hentry {}
.hentry header {
    padding: 0; }

.hentry footer {}

.hentry footer p {
    margin: 0;
}

/* end .hentry */
.single-title,
.page-title,
.entry-title {
    margin: 0; }

/* want to style individual post classes? Booya! */
/* post by id (i.e. post-3) */
/* general post style */
/* general article on a page style */
/* general style on an attatchment */
/* sticky post style */
/* hentry class */
/* style by category (i.e. category-videos) */
/* style by tag (i.e. tag-news) */
/* post meta */
.byline {
    color: #9fa6b4;
    margin: 0;
}

/* entry content */
.entry-content {
    padding: 0;
    /*
    image alignment on a screen this size may be
    a bit difficult. It's set to start aligning
    and floating images at the next breakpoint,
    but it's up to you. Feel free to change it up.
    */
}

.entry-content p {
    margin: 0;
}

.entry-content table {
    width: 100%;
}
.entry-content table caption {
    margin: 0;
    font-size: 0.75em;
    color: #9fa6b4;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.entry-content tr {
    border-bottom: 1px solid #eaedf2;
}
.entry-content tr:nth-child(even) {
    background-color: #f8f9fa;
}
.entry-content td {
    padding: 7px;
    border-right: 1px solid #eaedf2;
}
.entry-content td:last-child {
    border-right: 0;
}
.entry-content th {
    background-color: #f8f9fa;
    border-bottom: 1px solid #eaedf2;
    border-right: 1px solid #eaedf2;
}
.entry-content th:last-child {
    border-right: 0;
}
.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 dd {
    margin-left: 0;
    font-size: 0.9em;
    color: #787878;
    margin-bottom: 1.5em;
}
.entry-content img {
    margin: 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
******************************************************************/
.pagination,
.wp-prev-next {
    margin: 1.5em 0;
}

.pagination {
    text-align: center;
}
.pagination ul {
    display: inline-block;
    background-color: white;
    white-space: nowrap;
    padding: 0;
    clear: both;
    border-radius: 3px;
}
.pagination li {
    padding: 0;
    margin: 0;
    float: left;
    display: inline;
    overflow: hidden;
    border-right: 1px solid #eaedf2;
}
.pagination a, .pagination span {
    margin: 0;
    text-decoration: none;
    padding: 0;
    line-height: 1em;
    font-size: 1em;
    font-weight: normal;
    padding: 0.75em;
    min-width: 1em;
    display: block;
    color: #2980b9;
}
.pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus {
    background-color: #2980b9;
    color: white;
}
.pagination .current {
    cursor: default;
    color: #5c6b80;
}
.pagination .current:hover, .pagination .current:focus {
    background-color: white;
    color: #5c6b80;
}

/* end .bones_page_navi */
/* fallback previous & next links */
.wp-prev-next .prev-link {
    float: left;
}
.wp-prev-next .next-link {
    float: right;
}

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

.commentlist {
    margin: 0;
    ist-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
*********************/
.widget {
    margin: 0;
    padding: 0;
}

.widget ul li {
  /* deep nesting */ }

.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
----------------------------------------------- */
.footer {
    margin: 0;
    padding: 60px 20px;
    background: #fff;
    color: #1f4fa3;
    text-align: center;
}

.footer_inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

.footer_logo {
    width: 280px;
    margin: 0 auto;
    padding: 0;
    border-bottom: 1px solid #fff;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 460px) and (max-width: 599px) {
  .footer_logo {
    width: 320px;
  }
}
@media all and (min-width: 600px) and (max-width: 1279px) {
  .footer_logo {
    width: 360px;
  }
}
@media all and (min-width: 1280px) {
  .footer_logo {
    width: 415px;
  }
}

.footer_logo img {
    width: 100%;
    height: auto;
    display: block;
}

.footer_logo::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.5px;
    background: #d2e1fb;
    margin-top: 25px;
    opacity: 0.7;
}


/* info */
.footer_info {
    margin: 25px 0 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.5px;
}

.footer_bottom {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #1f4fa3;
}

.footer_bottom_inner {
    width: 100%;
    margin: 0 auto;
    padding: 30px 20px;
    text-align: center;
}

.footer_copyright {
    color: #fff;
    font-size: 14px;
    letter-spacing: 1.5px;
}

.footer_privacy_policy {
    color: #fff;
    font-size: 14px;
    letter-spacing: 1.5px;
    margin: 10px 0 0;
}

.footer_privacy_policy a:link {
    color: #fff;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.footer_privacy_policy a:visited {
    color: #fff;
    text-decoration: none;
}
.footer_privacy_policy a:hover {
    color: #c2cef1;
    text-decoration: none;
}
.footer_privacy_policy a:active {
    color: #fff;
    text-decoration: none;
}




.privacy_wrap01 {
    width: 100%;
    margin: 90px auto 0;
    padding: 0;
}
@media all and (min-width: 1280px) {
  .privacy_wrap01 {
    margin: 120px auto 0;
  }
}



/* responsive
----------------------------------------------- */
@media all and (max-width: 768px) {

    .footer {
        padding: 40px 15px;
    }

    .footer_info {
        font-size: 12px;
    }

    .footer_copy {
        font-size: 10px;
    }

}


/*********************
PRIVACY PAGE
*********************/
.inner_privacy {
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 60px 20px;
}

.inner_privacy li {
    list-style-type: circle;
    margin:  0 0 10px 20px;
}

.privacy_title {
    padding-bottom: 40px;
}

.privacy_title {
    color: #333 !important;
    font-size: 20px !important;
    font-weight: bold !important;
    margin: 20px auto 0 !important;
    text-align: center !important;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) and (max-width: 767px) {
  .privacy_title {
    font-size: 24px !important;
  }
}
@media all and (min-width: 768px) and (max-width: 1023px) {
  .privacy_title {
    font-size: 28px !important;
  }
}
@media all and (min-width: 1024px) {
  .privacy_title {
    font-size: 30px !important;
  }
}

.privacy_p {
    padding-top: 1em;
}

.bg_smoke1 {
    background: #f7f7f7;
}


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

/*********************
PARTS
*********************/
.button-24 a {
  font-family: 'Noto Sans JP', serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 700;
  border: 3px solid #333;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 300px;
  text-align: center;
  padding: 16px 64px;
  margin: 24px;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  z-index:999;
  transition: all 0.3s;
}

.button-24 a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  width: 60px;
  height: 2px;
  background: #333;
  transition: all 0.3s ease;
}

.button-24 a:hover::after {
  animation: OutIn-Line 700ms;
  transition: all 0.3s;
}

@keyframes OutIn-Line {
    0% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }

    50% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }

    50.1% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }

    100% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

/*********************
select custom
*********************/
select {
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
}

select::-ms-expand {
    display: none;
}


/******************************************************************
ANIMATE ADD STYLES
******************************************************************/

/* ---- fadeInUp2 ---- */
@-webkit-keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 3%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 5%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp2 {
  -webkit-animation-name: fadeInUp2;
  animation-name: fadeInUp2;
}



/* ---- fadeInDown2 ---- */
@-webkit-keyframes fadeInDown2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDown2 {
  -webkit-animation-name: fadeInDown2;
  animation-name: fadeInDown2;
}



/* ---- fadeInRight2 ---- */
@-webkit-keyframes fadeInRight2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight2 {
  -webkit-animation-name: fadeInRight2;
  animation-name: fadeInRight2;
}



/* ---- fadeInLeft2 ---- */
@-webkit-keyframes fadeInLeft2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeft2 {
  -webkit-animation-name: fadeInLeft2;
  animation-name: fadeInLeft2;
}

/*********************
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; } }
