@charset "UTF-8";
html { width: 100%; font-size: 62.5%; height: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; padding: 0; position: relative; }

body { margin: 0; padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }

audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }

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

[hidden], template { display: none; }

a { background: transparent; }

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

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

b, strong { font-weight: bold; }

dfn { font-style: italic; }

h1 { font-size: 2em; margin: 0.67em 0; }

mark { background: none; }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

img { border: 0; }

svg:not(:root) { overflow: hidden; }

figure { margin: 0px; }

hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }

pre { overflow: auto; }

code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }

button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }

button { overflow: visible; }

button, select { text-transform: none; }

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

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

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

input { line-height: normal; }

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

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

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

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

fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

legend { border: 0; padding: 0; }

textarea { overflow: auto; }

optgroup { font-weight: bold; }

table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; }

html { height: 100%; }

body, h1, h2, h3, h4, h5, h6, div, p, pre, ul, li, ol, dl, dt, dd, address, form, blockquote { margin: 0; padding: 0; font-weight: normal; }

table { empty-cells: show; }

hr { display: none; }

img { vertical-align: bottom; }

li { list-style: none; }

option { padding-right: 10px; }

a { text-decoration: none; outline: none; overflow: hidden; cursor: pointer; }

a img { border: 0px; }

/*------------------------------------------------------------------------ */
/*--------------------------------------------------------------- imgpath */
/*------------------------------------------------------------------------ */
/*--------------------------------------------------------------- variable */
/*------------------------------------------------------------------------ */
/*--------------------------------------------------------------- mixin    */
.f10 { font-size: 10px; font-size: 1rem; }

.f11 { font-size: 11px; font-size: 1.1rem; }

.f12 { font-size: 12px; font-size: 1.2rem; }

.f13 { font-size: 13px; font-size: 1.3rem; }

.f14 { font-size: 14px; font-size: 1.4rem; }

.f15 { font-size: 15px; font-size: 1.5rem; }

.f16 { font-size: 16px; font-size: 1.6rem; }

.f17 { font-size: 17px; font-size: 1.7rem; }

.f18 { font-size: 18px; font-size: 1.8rem; }

.f19 { font-size: 19px; font-size: 1.9rem; }

.f20 { font-size: 20px; font-size: 2rem; }

.f21 { font-size: 21px; font-size: 2.1rem; }

.f22 { font-size: 22px; font-size: 2.2rem; }

.f23 { font-size: 23px; font-size: 2.3rem; }

.f24 { font-size: 24px; font-size: 2.4rem; }

/*------------------------------------------------------------------------ */
/*------------------------------------------------------------ grad    */
/*------------------------------------------------------------------------ */
/*------------------------------------------------------------ funciton    */
/*anime setting & class----------------------------------------------------------------------------------------------------------------*/
.fadeInUp { -webkit-animation-name: fadeInUp; angradimation-name: fadeInUp; }

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

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

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

@-webkit-keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }
  to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }
  to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@-webkit-keyframes fadeInRight { from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
  to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@keyframes fadeInRight { from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
  to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@-webkit-keyframes fadeInDown { from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); }
  to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@keyframes fadeInDown { from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); }
  to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@-webkit-keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }
@-webkit-keyframes menuhover { 0% { opacity: 0; transform: scale(0, 0); }
  50% { opacity: 1; }
  100% { opacity: 0; transform: scale(2, 2); } }
/**/
.ef-fade01 { opacity: 0; transition: opacity 0.8s, transform 0.8s; }

.fade01 { opacity: 1.0; }

.ef-fade02 { opacity: 0; transition: opacity 0.8s, transform 0.8s; transform: translate(0, 60px); -webkit-transform: translate(0, 60px); }

.fade02 { opacity: 1.0; transform: translate(0, 0); -webkit-transform: translate(0, 0); }

.ef-fade03 { opacity: 0; transition: opacity 0.8s, transform 0.8s; transform: translate(0, 60px); -webkit-transform: translate(0, 60px); }

.fade03 { opacity: 1.0; transform: translate(0, 0); -webkit-transform: translate(0, 0); }

.ef-fade04 { opacity: 0; transition: opacity 0.8s, transform 0.8s; }

.fade04 { opacity: 1.0; }

.ef-fade05 { opacity: 0; transition: opacity 0.8s, transform 0.8s; transform: translate(95%, 0); -webkit-transform: translate(95%, 0); }

.fade05 { opacity: 1.0; transform: translate(0, 0); -webkit-transform: translate(0, 0); }

.ef-fade06 { opacity: 0; transition: opacity 0.8s, transform 0.8s; transform: translate(0, 50%); -webkit-transform: translate(0, 50%); }

.fade06 { opacity: 1.0; transform: translate(0, 0); -webkit-transform: translate(0, 0); }

.ef-zoom { transition: opacity 0.8s, transform 0.8s; transform: scale(0, 0); -webkit-transform: scale(0, 0); }

.zoom { transform: scale(1, 1); -webkit-transform: scale(1, 1); }

.ef-rotation { transition: opacity 0.8s, transform 0.8s; transform: rotateY(0deg); -webkit-transform: rotateY(0deg); }

.rotation { transform: rotateY(360deg); -webkit-transform: rotateY(360deg); }

a:link, a:hover, a:visited, a:active { color: #3A323A; -moz-transition: all 0.5s; -webkit-transition: all 0.5s; -o-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s; }

img { max-width: 100%; height: auto; }

a:hover, a:hover > * { opacity: 0.75; filter: alpha(opacity=75); -ms-filter: "alpha(opacity=750)"; -moz-opacity: 0.75; }

a.noaction:hover, a.noaction:hover > * { opacity: 1; filter: alpha(opacity=100); -ms-filter: "alpha(opacity=1000)"; -moz-opacity: 1; }

.uline:hover { text-decoration: underline; }

/* SVGアイコン定義コンテナクラス */
.svg-defs { width: 0; height: 0; visibility: hidden; positoin: fixed; bottom: 0; }

/* SVGアイコンクラス */
.svg-icon { fill: currentColor; position: relative; vertical-align: middle; top: 0.125em; }

.ef-fadeIn { opacity: 0; }

.ef-fadeIn.fade { opacity: 1.0; -moz-transition: all 0.8s; -webkit-transition: all 0.8s; -o-transition: all 0.8s; -ms-transition: all 0.8s; transition: all 0.8s; }

.ef-fadeinUp { opacity: 0; transform: translate(0, 60px); -webkit-transform: translate(0, 60px); }

.ef-fadeinUp.fade { opacity: 1.0; -moz-transition: all 0.8s; -webkit-transition: all 0.8s; -o-transition: all 0.8s; -ms-transition: all 0.8s; transition: all 0.8s; transform: translate(0, 0); -webkit-transform: translate(0, 0); }

.ef-fade01 { opacity: 0; transition: opacity 0.8s, transform 0.8s; }

.fade01 { opacity: 1.0; }

.ef-fade02 { opacity: 0; transition: opacity 0.8s, transform 0.8s; transform: translate(0, 60px); -webkit-transform: translate(0, 60px); }

.fade02 { opacity: 1.0; transform: translate(0, 0); -webkit-transform: translate(0, 0); }

.ef-fade03 { opacity: 0; transition: opacity 0.8s, transform 0.8s; transform: translate(0, 60px); -webkit-transform: translate(0, 60px); }

.fade03 { opacity: 1.0; transform: translate(0, 0); -webkit-transform: translate(0, 0); }

.fade.d0 { transition-delay: 0.05s; }

.fade.d1 { transition-delay: 0.1s; }

.fade.d2 { transition-delay: 0.2s; }

.fade.d3 { transition-delay: 0.3s; }

.fade.d4 { transition-delay: 0.4s; }

.fade.d5 { transition-delay: 0.5s; }

.fade.d6 { transition-delay: 0.6s; }

.fade.d7 { transition-delay: 0.7s; }

.fade.d8 { transition-delay: 0.8s; }

#main * { box-sizing: border-box; }
#main section.single article .contentbox { line-height: 1.75; font-size: 13px; font-size: 1.3rem; letter-spacing: 0.05em; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox { font-size: 15px; font-size: 1.5rem; } }
#main section.single article .contentbox .wp-caption { width: 100% !important; }
#main section.single article .contentbox .wp-caption p.wp-caption-text { text-align: right; font-size: 8px; font-size: 0.8rem; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox .wp-caption p.wp-caption-text { font-size: 10px; font-size: 1rem; } }
#main section.single article .contentbox img { max-width: 100%; }
#main section.single article .contentbox a { text-decoration: underline; }
#main section.single article .contentbox .movie { margin: 0 0px; aspect-ratio: 16 / 9; }
#main section.single article .contentbox .movie iframe { margin-bottom: 1rem; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox .movie iframe { margin: 0 0px 2rem; } }
#main section.single article .contentbox b, #main section.single article .contentbox strong { background: #F6DFE6; font-weight: bold; padding: 0px 4px; line-height: 2; }
#main section.single article .contentbox em { font-weight: bold; }
#main section.single article .contentbox h2 { font-weight: bold; font-size: 17px; font-size: 1.7rem; margin: 2.5rem 0 2.7rem; font-wight: 700; letter-spacing: 0.1rem; color: #C95F8A; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox h2 { font-size: 23px; font-size: 2.3rem; } }
#main section.single article .contentbox h2 span { line-height: 1; letter-spacing: 0.125rem; margin-bottom: 1.3rem; margin-top: 0; font-size: 13px; font-size: 1.3rem; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox h2 span { font-size: 15px; font-size: 1.5rem; } }
#main section.single article .contentbox h3 { font-weight: bold; font-size: 15px; font-size: 1.5rem; position: relative; letter-spacing: 0.05em; margin: 22px 0px 22px; padding: 0rem 0.9rem 0rem 1.5rem; border-left: 10px solid #F8EFF2; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox h3 { font-size: 19px; font-size: 1.9rem; padding: 1em 2rem 1.4rem 1.5rem; margin-bottom: 5rem; } }
#main section.single article .contentbox h4 { font-weight: bold; font-size: 15px; font-size: 1.5rem; line-height: 1.75; background: #F8EFF2; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; margin: 0 0px 22px; padding: 1.3rem 2.5rem; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox h4 { font-size: 19px; font-size: 1.9rem; margin: 30px 0; padding: 1.5rem 2.5rem; -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; } }
#main section.single article .contentbox h4.nbg { background: none; padding: 1.3rem 0rem; }
#main section.single article .contentbox h5 { font-weight: bold; font-size: 15px; font-size: 1.5rem; line-height: 1.75; margin: 0 0px 25px; }
#main section.single article .contentbox h5::before { content: ''; display: block; height: 0; width: 0; margin-top: calc((1 - 1.75) * 0.5em); }
#main section.single article .contentbox h5::after { content: ''; display: block; height: 0; width: 0; margin-bottom: calc((1 - 1.75) * 0.5em); }
#main section.single article .contentbox dl { margin-bottom: 3.5rem; }
#main section.single article .contentbox dl dt { font-weight: 700; }
#main section.single article .contentbox p { font-size: 13px; font-size: 1.3rem; line-height: 1.75; margin: 0 0px 25px; letter-spacing: 0.05em; }
#main section.single article .contentbox p.btnarea { padding-top: 0; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox p { font-size: 15px; font-size: 1.5rem; } }
#main section.single article .contentbox span.bd1 { color: #C95F8A; font-size: 15px; font-size: 1.5rem; letter-spacing: 0.05em; font-weight: 700; }
#main section.single article .contentbox blockquote { margin: 0 50px 25px; background: #F0EFF2; font-style: italic; text-align: center; padding: 20px; font-size: 16px; font-size: 1.6rem; }
#main section.single article .contentbox blockquote p { margin-bottom: 10px; }
#main section.single article .contentbox ul, #main section.single article .contentbox ol { margin: 0 0px 2.5rem; }
#main section.single article .contentbox ul li, #main section.single article .contentbox ol li { position: relative; padding-left: 1.2em; margin-bottom: 10px; font-size: 13px; font-size: 1.3rem; }
#main section.single article .contentbox ul li:last-child, #main section.single article .contentbox ol li:last-child { margin-bottom: 0; }
#main section.single article .contentbox ul li span, #main section.single article .contentbox ol li span { display: block; font-size: 10px; font-size: 1rem; padding-top: 1rem; }
@media only screen and (min-width: 744px) { #main section.single article .contentbox ul li, #main section.single article .contentbox ol li { font-size: 18px; font-size: 1.8rem; } }
#main section.single article .contentbox ul li:before { content: ""; position: absolute; top: 0; left: 0; background: url(../img/check.png) no-repeat left 5px; background-size: 96%; width: 16px; height: 16px; }
#main section.single article .contentbox ol { counter-reset: num; }
#main section.single article .contentbox ol li:before { counter-increment: num; content: counter(num) "."; position: absolute; color: #b9d4de; top: 0; left: 0; font-weight: 700; }
#main section.single article .contentbox table { margin-bottom: 40px; font-size: 14px; font-size: 1.4rem; line-height: 1.75; width: 100%; border-collapse: separate; border: solid 1px transparent; }
#main section.single article .contentbox table::after { content: ''; display: block; height: 0; width: 0; margin-bottom: calc((1 - 1.75) * 0.5em); }
#main section.single article .contentbox table th, #main section.single article .contentbox table td { padding: 24px 12px 27px; background: #F0EFF2; border: 2px solid #fff; }
#main section.single article .contentbox table th { width: 106px; }
#main section.single article .contentbox table th span { font-weight: 700; display: block; font-size: 12px; font-size: 1.2rem; }
#main section.single article .contentbox table ul { margin-bottom: 0; }
#main section.single article .contentbox .reference { background: rgba(241, 214, 216, 0.2); padding: 1em 1.3em; margin-bottom: 1em; }
#main section.single article .contentbox .reference p { margin-bottom: 0 !important; font-size: 12px; font-size: 1.2rem; }
#main section.single article .contentbox .reference a { font-size: 12px; font-size: 1.2rem; font-weight: normal; text-decoration: none !important; padding-left: 1.4em; background: url(../img/icon_link.png) no-repeat left top; background-size: 14px; display: inline-block; }
#main section.single article .contentbox .linkcard { border: dashed #C95F8A 1px; background: #fff; margin-bottom: 40px; }
#main section.single article .contentbox .linkcard a { text-decoration: none; }
#main section.single article .contentbox .linkcard p { display: none; }
#main section.single article .contentbox .linkcard img { max-width: 100px; width: 100px; height: 100px; object-fit: cover; }
#main section.single article .contentbox .linkcard .lkc-external-wrap, #main section.single article .contentbox .linkcard .lkc-internal-wrap, #main section.single article .contentbox .linkcard .lkc-this-wrap { max-width: 100%; width: 100%; margin: auto; }
#main section.single article .contentbox .linkcard .lkc-excerpt { font-size: 14px; font-size: 1.4rem; line-height: 1.7; }
#main section.single article .contentbox .linkcard .lkc-thumbnail { max-width: 100px; width: 100px; height: 100px; margin: 0; position: absolute; top: 18px; left: 18px; }
#main section.single article .contentbox .linkcard .lkc-card { margin: 0; }
#main section.single article .contentbox .linkcard .lkc-this-wrap { background: #C95F8A; }
#main section.single article .contentbox .linkcard .lkc-link { padding: 18px; display: block; position: relative; padding-left: 136px; min-height: 100px; }
#main section.single article .contentbox .linkcard .lkc-title-text { line-height: 1.7; margin-bottom: 14px; text-decoration: underline; }
#main section.single article .contentbox .linkcard .lkc-content { height: auto; margin: 0; }
#main section.single article .contentbox .linkcard .lkc-url { display: none !important; }
#main section.single article .contentbox .linkcard .lkc-favicon { display: none !important; }
#main section.single article .contentbox .linkcard .lkc-domain { display: none !important; }
#main section.single article .contentbox .linkcard .lkc-date { float: none; text-align: left; font-size: 12px; font-size: 1.2rem; text-transform: uppercase; }
#main section.single article .contentbox .linkcard .cat { font-weight: bold; border-right: 1px solid #141416; padding-right: 12px; margin-right: 12px; text-transform: uppercase; }
#main .related ul { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .related ul li { width: 50%; }
@media only screen and (max-width: 744px) { #main .related ul li { width: 100%; } }
#main .related ul li a { padding: 1em; border-top: 1px solid rgba(20, 20, 22, 0.1); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .related ul li a .thumnail { width: 100px; }
#main .related ul li a h3 { width: calc(100% - 125px); font-size: 13px; font-size: 1.3rem; line-height: 1.2; }
#main .authorboc { background: #F0EFF2; padding: 20px; }
#main .authorboc .exp { font-size: 13px; font-size: 1.3rem; }
#main .authorboc .url { font-size: 12px; font-size: 1.2rem; }
#main .authorboc .author, #main .authorboc .author > a { display: flex; flex-wrap: wrap; justify-content: start; align-items: start; width: 100%; }
#main .authorboc .author figure, #main .authorboc .author > a figure { width: 40px; height: 40px; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; overflow: hidden; margin-right: 10px; }
#main .authorboc .author p, #main .authorboc .author > a p { font-size: 16px; font-size: 1.6rem; font-weight: bold; }
#main .authorboc .author p span, #main .authorboc .author > a p span { display: block; font-size: 12px; font-size: 1.2rem; margin-bottom: 0px; }
#main .authorarea { padding: 20px 0; }
