@charset "utf-8";
/* CSS Document */

/*GoogleFont*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@800&display=swap');
body {margin: 0; padding: 0;}
header {
    width: 100%;
    height: auto;
    background-image: url("../img/bg_main.jpg");
    background-size: cover;
    /*background-attachment: fixed;*/
    background-repeat: no-repeat;
    background-position: top;
    margin-bottom: 1.5em;
    padding-top: 60px;
}


.navbar {opacity: 0.9;}

* { font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
    color: #555;
    letter-spacing: 0.1em;
}
section {padding: 0em 1.5em;}
section p, section li {line-height: 1.8em;}
section li>span{ vertical-align: 0.25em; margin-left: -0.5em; padding: 0; display:inline-grid; }
section li::marker{
    font-size: 200%;
    font-weight: bold;
    color: #29abe2;
}
section .oubo::marker{
    color: #00a99d;
}


.rounded {
    border-radius: 2rem !important;
}


h2 {text-align: center; font-size: 180%; margin: 3em 0 1em 0;}
h2::after {
    content: "";
    display: block;
    width: 70px;
    height: 5px;
    border-radius: 8px;
    background-color: #f93;
    margin-top: 16px;
    margin-inline: auto;
}
h3 {background-color: #29abe2; color:#fff; padding: 0.5em; font-size: 180%; margin: 1.5em 0 0.5em 0; }
.btn-primary:link, .btn-primary:hover, .btn-primary:visited {background-color: #29abe2; border: none;}
.btn-success:link, .btn-success:hover, .btn-success:visited  {background-color: #00a99d; border: none;}
.btn-primary:hover, .btn-success:hover {opacity: 0.7;}

.marker {background-color: #ff0;}
.table th {background-color: #cff4fc;}
footer { margin-top:3em; padding: 1em 0 5em; background-color: #ededed;}
.copy {font-size: 75%; color: #666;}
.fombox {background-color: #ffc;}

/*高さ揃え*/
.row-eq-height { display: flex; flex-wrap: wrap; }

/*ページトップボタン*/
html {
    scroll-behavior: smooth;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 1em;
    bottom: 80px;
    background: #fff;
    border: solid 2px #222;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
	opacity: 0;
	transition: opacity 0.4s ease-in;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #222;
    border-right: 3px solid #222;
    transform: translateY(20%) rotate(-45deg);
}

/* fadeinクラスがついた時だけ表示する */
a.fadein {
  opacity: 0.8;
}



@media (min-width: 768px){
	.container { width: 640px; margin: 0 auto; padding: 0; }
}
/*@media (min-width: 1200px){
	.container { width: 960px; margin: 0 auto; padding: 0; }
}*/


