@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

img { vertical-align: middle; }

body { line-height: 1; }

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

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

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

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

li { list-style-type: none; }

body { color: #000; line-height: 1.5; font-family: 'ヒラギノ角ゴ ProN W3', 'HiraKakuProN-W3', 'メイリオ', Meiryo, sans-serif; font-size: 16px; background-color: #fff; }

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

a { -webkit-touch-callout: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

a, a:link, a:visited { color: #0c419a; }

a:hover, a:active { text-decoration: none; }

.clearfix:after { content: ""; width: 100%; height: 1px; display: block; clear: both; }

article { margin: 10px 10px 0; }
@media (min-width: 760px) { article { margin: 30px 0; } }

em { font-style: normal; font-weight: bold; color: #0c419a; }

.left-image { float: left; margin-right: 5px; }

.right-image { float: right; margin-left: 5px; }

.btn-single { margin: 15px 0; }
@media (min-width: 760px) { .btn-single { margin: 30px 0; } }

.btn-plural { margin: 15px 0; background-color: #e8e8e8; padding: 10px; }
@media (min-width: 760px) { .btn-plural { margin: 30px 0; padding: 20px 10px; } }

.btn { display: block; font-size: 18px; border: 1px solid #fff; border-radius: 5px; text-align: center; margin: 10px 0; }
.btn.line-single { padding-top: 15px; padding-bottom: 15px; }
.btn.line-double { padding-top: 8px; padding-bottom: 8px; line-height: 1.3; }
.btn.line-double span { display: block; font-size: 14px; }
.btn.btn-blue { border-color: #0b75ab; background-color: #248bd4; color: #fff;}
.btn.btn-green { border-color: #27932c; background-color: #4caf50; color: #fff;}
.btn.btn-orange { border-color: #da6700; background-color: #f78f09; color: #fff;}
.btn.btn-gray { border-color: #777; background-color: #999; color: #fff;}
.btn.btn-red { border-color: #d3211b; background-color: #e4251b; color: #fff;}
.btn.btn-yellow { border-color: #f7ca00; background-color: #fdd101; color: #000;}

a.btn:link, a.btn:visited { text-decoration: none; }
a.btn.btn-blue:hover, a.btn.btn-blue:active { background-color: #207dbe; }
a.btn.btn-green:hover, a.btn.btn-green:active { background-color: #449d48; }
a.btn.btn-orange:hover, a.btn.btn-orange:active { background-color: #df8107; }
a.btn.btn-gray:hover, a.btn.btn-gray:active { background-color: #8c8c8c; }
a.btn.btn-red:hover, a.btn.btn-red:active { background-color: #d33832; }
a.btn.btn-yellow:hover, a.btn.btn-yellow:active { background-color: #edc100; }

.sns-share { margin-left: -5px; margin-right: -5px; line-height: 1; margin-bottom: 10px; }
.sns-share li { float: left; padding: 5px; width: 33.3%; }
.sns-share li a { display: block; height: 60px; font-size: 14px; text-align: center; color: #fff; cursor: pointer; }
.sns-share li a:link, .sns-share li a:visited { text-decoration: none; }
.sns-share li a:hover, .sns-share li a:active { opacity: .8; }
.sns-share .twitter a, .sns-share .facebook a { padding: 7px; }
.sns-share .twitter svg, .sns-share .facebook svg { width: 25px; height: 25px; }
.sns-share .twitter .count, .sns-share .facebook .count { height: 18px; font-size: 12px; display: block; margin-top: 1px; padding: 3px; border-radius: 3px; }
.sns-share .twitter a { background-color: #01a7e1; }
.sns-share .twitter .count { background-color: #007db1; box-shadow: 1px 1px 1px 0 rgba(0, 47, 63, 0.2) inset; }
.sns-share .line a { padding: 2px; background-color: #00c300; }
.sns-share .line svg { width: 35px; height: 35px; }
.sns-share .facebook a { background-color: #3c599d; }
.sns-share .facebook .count { background-color: #1b2f72; box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.2) inset; }

.grobal-header { padding: 15px; border-bottom: 1px solid #ddd; margin-bottom: 15px; }
@media (max-width: 760px) { .grobal-header { display: none; } }

@media (min-width: 760px) { .container { width: 600px; margin-left: auto; margin-right: auto; } }

.content-header { margin: 15px 10px; }
@media (min-width: 760px) { .content-header { margin: 30px 0 50px; } }
.content-header h1 { font-size: 22px; }
@media (min-width: 760px) { .content-header h1 { font-size: 30px; } }
.content-header .data { font-size: 12px; }
.content-header .data p { display: inline-block; margin-bottom: 10px; }
.content-header .sns-share { position: relative; top: -5px; margin-bottom: 5px; }
.content-header .main-image { position: relative; }
.content-header .main-image img { width: 100%; }
.content-header .main-image::after { content: ""; display: block; width: 100%; height: 40%; background: linear-gradient(to top, #ffffff, rgba(255, 255, 255, 0)); position: absolute; bottom: 0; left: 0; }
@media (max-width: 760px) { .content-header .main-image { margin-left: -10px; margin-right: -10px; } }

section { margin-bottom: 25px; }
@media (min-width: 760px) { section { margin-bottom: 50px; } }
@media (max-width: 760px) { section h1 { margin-left: -10px; margin-right: -10px; padding: 10px; background-color: #0c419a; color: #fff; text-align: center; font-size: 18px; } }
@media (min-width: 760px) { section h1 { font-size: 24px; } }
section h2 { font-size: 18px; border-left: #0c419a 3px solid; padding-left: 8px; }
@media (min-width: 760px) { section h2 { font-size: 20px; } }
section ul li::before { content: "■"; }
section .textarea { margin: 15px 0; }
@media (min-width: 760px) { section .textarea { margin: 30px 0; } }
section .section-image { position: relative; margin: 15px 0; }
@media (min-width: 760px) { section .section-image { margin: 30px 0; } }
section .section-image img { width: 100%; }
section .section-image figcaption { position: absolute; bottom: 0; width: 100%; padding: 6px; font-size: 12px; text-align: center; background-color: rgba(255, 255, 255, 0.6); }

.downloads { margin: 10px -5px 15px; }
@media (min-width: 760px) { .downloads { margin: 10px 100px 30px; } }
.downloads img:hover { opacity: .8; }
.downloads li { float: left; width: 50%; padding: 0 5px; }

.content-footer { margin: 0 10px; }
.content-footer .copyright { margin: 0 -10px; background-color: #0c419a; text-align: center; padding: 10px; }
.content-footer small { color: #fff; }

.rakuraku h1 {font-size: 32px;}
.rakuraku h2 {font-size: 28px; margin-bottom: 10px;}
.rakuraku h3 {font-size: 28px; margin-bottom: 10px;}
.rakuraku p, .rakuraku li {font-size: 24px;}
.rakuraku .btn-plural .container a { font-size: 170%;}
.rakuraku .btn-plural .container a span { font-size: 80%;}
