@charset "utf-8";

/* ----------------------------------------------------------------
Reset
----------------------------------------------------------------- */

body,div,dl,dt,dd,ul,li,h1,h2,h3,h4,h5,h6,p,a { margin: 0; padding: 0; }
img { border: 0; }
li,dt,dd { list-style: none; }

/* ----------------------------------------------------------------
Common
----------------------------------------------------------------- */

html {
font-size: 62.5%;
}

body {
text-align: center;
color: #222;
background: #fff;
font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Helvetica Neue", "Helvetica", sans-serif;
font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
font-size: 1.5rem;
line-height: 2.6rem;
margin: 0 auto;
}

h1, h2, h3, h4 {
font-family: "Zen Kaku Gothic Antique", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Helvetica Neue", "Helvetica", sans-serif;
}

p {
font-size: 1.4rem;
line-height: 2.6rem;
}

a:link, a:visited {
color: #222;
text-decoration: none;
}

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

img {
vertical-align: top;
}

.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.important { color: #f00; }
.sponly { display: none; }

/* ----------------------------------------------------------------
Header
----------------------------------------------------------------- */

#header {
z-index: 10;
position: fixed;
width: 100%;
height: 80px;
display: -webkit-flex;
display: flex;
background: #fff;
border-bottom: 1px solid #eee;
margin: 0 auto;
padding: 0;
}

#header #logo {
height: 60px;
width: 327px;
margin: 20px 0 20px 20px;
}

#header #logo img {
height: 40px;
}

#header #navi {
height: 80px;
width: calc(100% - 400px);
}

#header #navi ul {
height: 60px;
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
margin: 10px auto 0 auto;
}

#header li {
font-size: 1.4rem;
line-height: 1.7rem;
font-weight: bold;
margin: 0 10px;
}

#header li:first-child {
margin: 0 10px 0 0;
}

#header li:last-child {
margin: 0 0 0 10px;
}

#navi-sp {
display: none !important;
}

#header li.inquiry a {
padding: 6px 11px;
}

#header li.inquiry a:link, #header li.inquiry a:visited {
color: #fff;
background: #0a90d8;
}

#header li.inquiry a:hover, #header li.inquiry a:active {
color: #fff;
background: #35a9e7;
}

/* ----------------------------------------------------------------
Top
----------------------------------------------------------------- */

#hero {
width: 100%;
height: 350px;
background: #c2e5f7 url('../image/hero.png') top right no-repeat;
background-size: contain;
margin: 0;
padding: 80px 0 0 0;
}

#hero .inner {
max-width: 1100px;
margin: 0 auto;
padding: 0;
}

#hero .notification {
width: 400px;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
flex-direction: column;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
margin: 0 20px;
}

#hero .inner h2 {
width: 95%;
padding: 60px 0 40px 0;
}

#hero .inner h3 {
width: 100%;
margin-bottom: 18px;
}

#hero .inner p {
width: 55%;
}

#hero .inner h2 img,
#hero .inner h3 img,
#hero .inner p img {
width: 100%;
}

#hero .inner p a:hover img {
opacity: 0.7;
}

.heading {
padding: 50px 0 15px 0;
}

.heading h2 {
font-size: 3rem;
letter-spacing: 0.2rem;
margin-bottom: 16px;
}

.heading p {
font-size: 1.4rem;
font-weight: bold;
letter-spacing: 0.1rem;
color: #0a90d8;
}

#news ul {
text-align: left;
max-width: 1200px;
margin: 0 auto;
}

#news li {
font-size: 1.5rem;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
margin-bottom: 10px;
}

#news li:last-child {
margin-bottom: 0;
}

#news li .date {
display: inline-block;
width: 140px;
padding-left: 20px;
}

#news li .cat {
display: inline-block;
width: 140px;
box-sizing: border-box;
padding-right: 30px;
}

#news li .cat span {
display: inline-block;
width: 100%;
text-align: center;
color: #0a90d8;
font-size: 1.3rem;
line-height: 1.3rem;
letter-spacing: 0.1rem;
border: 1px solid #0a90d8;
padding: 7px 5px 5px 5px;
box-sizing: border-box;
}

#news li .title {
display: inline-block;
width: calc(100% - 330px);
padding-right: 20px;
}

#members .tab {
cursor: pointer;
}

#members .panel {
display: none;
}

#members .panel.is-show {
display: block;
}

#members #tab {
padding: 30px 0 35px 0;
}

#members #tab ul {
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
}

#members #tab li {
color: #999;
font-size: 1.6rem;
line-height: 1.9rem;
letter-spacing: 0.1rem;
font-weight: bold;
border-right: 1px solid #ccc;
margin: 0 15px;
padding-right: 30px;
}

#members #tab li.is-active {
color: #222;
}

#members #tab li:last-child {
border-right: none;
padding-right: 0;
}

.btns {
padding: 40px 0 50px 0;
}

.btns ul {
max-width: 1200px;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
margin: 0 auto;
}

.btns li {
width: calc((100% - 30px)/3);
}

.btns li img {
width: 100%;
}

.btns p {
max-width: 1200px;
margin: 0 auto;
}

.btns p img {
width: 50%;
}

.btns a:hover img {
opacity: 0.8;
}

.btn {
width: calc((100% - 48px)/3);
}

#btn p img {
width: 100%;
}

.btn a:hover img {
opacity: 0.8;
}

#members {
width: 100%;
background: #efefef;
margin: 0 auto;
}

.members {
max-width: 1215px;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
margin: 0 auto;
padding-left: 15px;
}

.member {
width: calc((100% - 45px)/3);
height: 60px;
background: #fff;
margin: 0 15px 15px 0;
}

.member a {
width: 100%;
height: 100%;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
background: #fff;
margin: 0 10px 10px 0;
}

.member .icon {
width: 27px;
margin: 0 10px;
}

.member .icon img {
width: 27px;
height: 27px;
}

.member a:hover .icon img {
opacity: 0.6;
}

.member .name {
width: calc(100% - 50px);
height: 60px;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
flex-direction: column;
-webkit-justify-content: center;
justify-content: center;
}

.member .name h2 {
text-align: left;
font-size: 1.6rem;
line-height: 2rem;
letter-spacing: 0.05rem;
padding: 3px 5px 0 0;
}

#exp2 {
background: #eee;
padding: 50px 0 0 0;
}

#movie {
position: relative;
width: 100%;
background: #c2e5f7 url('../image/movie.jpg') top center no-repeat;
background-size: cover;
margin: 0 auto 50px auto;
}

#movie .btns p img {
width: 50%;
}

#movie .btns a:hover img {
opacity: 0.9;
}

#movie p {
color: #fff;
}

#movie .heading h2 {
color: #fff;
}

#movie .heading p {
color: #0a90d8;
}

#movie h3 {
letter-spacing: 0.1rem;
}

#movie h3 a:link,
#movie h3 a:visited {
color: #fff;
}

#movie h3 a:hover {
color: #ccc;
}

#movie .thumbs {
padding: 50px 0;
}

#movie .thumbs ul {
max-width: 1216px;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
margin: 0 auto;
}

#movie .thumbs ul li {
width: calc((100% - 48px)/3);
margin: 0 8px;
}

#movie .thumbs ul li img {
width: 100%;
}

#movie .thumbs ul li:hover img {
opacity: 0.9;
}

#movie .thumbs h3 a {
display: block;
width: 100%;
padding-top: 15px;
}

#content .headline#voice {
position: relative;
margin: -40px 0 0 0;
padding-top: 80px;
}

/* ----------------------------------------------------------------
Topicpath
----------------------------------------------------------------- */

#topicpath {
width: 100%;
background: #f7f7f7;
border-bottom: 1px solid #eee;
margin: 0 auto;
padding: 80px 0 0 0;
}

#topicpath p {
width: 96%;
color: #777;
text-align: left;
font-size: 1.2rem;
line-height: 1.4rem;
margin: 0 auto;
padding: 12px 0;
}

#topicpath p span {
color: #bbb;
margin: 0 6px;
}

#topicpath p a:link,
#topicpath p a:visited {
color: #777;
}

#topicpath p a:hover {
color: #bbb;
}

/* ----------------------------------------------------------------
Title
----------------------------------------------------------------- */

#title {
text-align: left;
border-bottom: 1px solid #dedede;
margin: 0 auto;
padding: 35px 20px 35px 20px;
}

#title h1 {
width: calc(100% - 40px);
max-width: 1200px;
text-align: center;
font-size: 3rem;
font-weight: bold;
letter-spacing: 0.2rem;
margin: 0 auto 10px auto;
}

#title p {
text-align: center;
font-size: 1.5rem;
font-weight: bold;
letter-spacing: 0.1rem;
color: #0a90d8;
margin: 0 auto;
}

/* ----------------------------------------------------------------
Content
----------------------------------------------------------------- */

#content {
width: calc(100% - 40px);
max-width: 1200px;
text-align: left;
margin: 0 auto;
padding: 0 20px 40px 20px;
}

#content.seminar {
padding: 0 20px 0 20px;
}

#content .headline {
position: relative;
margin: 40px 0 0 0;
}

#content .headline.multi {
position: relative;
margin: 60px 0 0 0;
}

#content .headline h2 {
font-size: 2.6rem;
font-weight: bold;
letter-spacing: 0.2rem;
margin: 0 0 35px 0;
position: relative;
}

#content .headline h3 {
position: relative;
color: #2c98db;
font-size: 1.3rem;
font-weight: bold;
letter-spacing: 0.1rem;
border-left: none;
margin: 0 0 20px 0;
padding-left: 40px;
position: relative;
}

#content .headline h3.author {
font-size: 1.5rem;
font-weight: bold;
letter-spacing: 0.1rem;
}

#content .headline h3::before {
content: '';
position: absolute;
top: 50%;
left: 0;
width: 30px;
border-top: solid 1px #2c98db;
}

#content .column2 {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

#content .column2 .excerpt {
width: 500px;
}

#content .column2 .image {
width: calc(100% - 550px);
text-align: right;
margin-top: 10px;
}

#content .column2 .image img {
width: 100%;
max-width: 500px;
}

#content .column2 .text {
width: 50%;
}

#content .column2 .photo {
width: 40%;
text-align: right;
margin: 5px 0 0 auto;
}

#content .column2 .photo img {
width: 100%;
}

#content .column2.photo-small .text {
width: 65%;
}

#content .column2.photo-small .photo {
width: 30%;
text-align: right;
margin: 50px 0 0 auto;
}

#content .column2 li {
width: 382px;
}

#content .inpagelink {
padding: 0 0 30px 0;
}

#content .inpagelink li {
position: relative;
display: inline-block;
text-align: center;
font-size: 1.4rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: 0.05rem;
border-radius: 100vh;
background: #fff;
box-sizing: border-box;
border: 1px solid #ccc;
margin: 0 5px 8px 0;
}

#content .inpagelink li a {
display: block;
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 15px 15px 15px 32px;
}

#content .inpagelink a::before {
content: '';
position: absolute;
top: 50%;
left: 15px;
width: 5px;
height: 5px;
border-top: solid 2px #999;
border-right: solid 2px #999;
margin-top: -4px;
transform: rotate(135deg);
}

#content h3 {
color: #222;
font-size: 2rem;
font-weight: bold;
letter-spacing: 0.05rem;
border-left: solid 4px #2c98db;
margin: 50px 0 20px 0;
padding: 8px 0 8px 14px;
}

#content h4 {
font-size: 1.7rem;
font-weight: bold;
letter-spacing: 0.05rem;
margin: 30px 0 20px 0;
}

#content h4:nth-of-type(n+2) {
margin: 30px 0 20px 0;
}

#content h5 {
font-size: 1.5rem;
font-weight: bold;
letter-spacing: 0.05rem;
margin: 20px 0 15px 0;
}

#content h6 {
display: inline-block;
font-size: 1.5rem;
font-weight: bold;
letter-spacing: 0.05rem;
border-bottom: 1px solid #222;
margin: 20px 0 15px 0;
}

#content p {
margin: 0 0 15px 0;
}

#content .indent {
margin-left: 20px;
}

#content .box {
padding: 0 0 10px 0;
margin: 20px 0 0 0;
}

#content .box h4 {
display: inline-block;
white-space: nowrap;
background: #e3f4fe;
padding: 10px 15px;
}

#content .box p:last-child {
margin-bottom: 0;
}

#content .headline .column-link h2 {
font-size: 2.6rem;
font-weight: bold;
letter-spacing: 0.2rem;
margin: 0 0 30px 0;
position: relative;
}

#content .headline .column-link li {
display: block;
width: 100%;
font-size: 1.4rem;
font-weight: bold;
background: #f7f7f7;
margin: 0 0 12px 0;
}

#content p.link {
position: relative;
width: calc((100% - 34px)/3);
font-size: 1.4rem;
font-weight: bold;
background: #f7f7f7;
margin: 0 0 30px 0;
}

#content p.link.wide {
width: 100%;
}

#content p.link a {
display: block;
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 15px 15px 15px 55px;
}

#content p.link a::before {
content: '';
position: absolute;
top: 50%;
left: 24px;
width: 5px;
height: 5px;
border-top: solid 2px #999;
border-right: solid 2px #999;
margin-top: -3px;
transform: rotate(45deg);
}

#content p.link a.pdf::before {
content: "";
position: absolute;
top: 15px;
left: 15px;
width: 29px;
height: 34px;
border-top: none;
border-right: none;
background: url('../image/icon_pdf.svg') top left no-repeat;
background-size: contain;
transform: rotate(0deg);
}

#content ul.link li {
position: relative;
width: 100%;
font-size: 1.4rem;
font-weight: bold;
background: #f7f7f7;
margin: 0 0 12px 0;
}

#content ul.link.wide li {
width: 100%;
}

#content ul.link {
padding-top: 10px;
}

#content ul.link li a {
display: block;
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 15px 15px 15px 55px;
}

#content .link a:link,
#content .link a:visited {
color: #25346e;
}

#content .link a:hover {
color: #5986af;
}

#content ul.link li a::before {
content: '';
position: absolute;
top: 50%;
left: 24px;
width: 5px;
height: 5px;
border-top: solid 2px #999;
border-right: solid 2px #999;
margin-top: -3px;
transform: rotate(45deg);
}

#content ul.link li a.pdf::before {
content: "";
position: absolute;
top: 15px;
left: 15px;
width: 29px;
height: 34px;
border-top: none;
border-right: none;
background: url('../image/icon_pdf.svg') top left no-repeat;
background-size: contain;
transform: rotate(0deg);
}

#content p.box {
background: #f5f5f5;
padding: 20px 25px;
}

#content .col2 {
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

#content .col2 .left {
width: 70%;
}

#content .col2 .right {
width: 25%;
text-align: center;
}

#content .col2 .right p {
font-size: 1.3rem;
line-height: 1.4rem;
margin-bottom: 10px;;
}

#content .col2 .right p:nth-of-type(4) {
padding-top: 20px;;
}

#content ol {
padding-left: 50px;
}

#content ol li {
list-style-type: decimal;
margin-bottom: 6px;
}

.faq {
margin: 0 0 0 20px;
}

.faq dt {
position: relative;
font-weight: bold;
padding: 15px 20px 15px 50px;
border-radius: 5px;
background: #e3f4fe;
}

.faq dt:before {
position: absolute;
top: 15px;
left: 20px;
content: "Q";
color: #1771c6;
font-weight: bold;
margin-right: 1rem;
}

.faq dd {
position: relative;
margin: 20px 0 30px 0;
padding: 0 20px 0 50px;
}

.faq dd:before {
position: absolute;
top: 0;
left: 20px;
content: "A";
color: #1771c6;
font-weight: bold;
margin-right: 1rem;
}

#content table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
border-left: 1px solid #ddd;
border-top: 1px solid #ddd;
margin: 20px 0 40px 0;
}

#content table th {
height: 60px;
text-align: center;
color: #fff;
font-size: 1.3rem;
line-height: 1.6rem;
font-weight: bold;
box-sizing: border-box;
background: #6fb4de;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
padding: 15px 10px;
}

#content table.faq th {
width: 15%;
}

#content table.faq th:nth-of-type(1) {
width: 10%;
}

#content table.licence th:nth-of-type(1) {
width: 30%;
}

#content table.licence th:nth-of-type(2) {
width: 30%;
}

#content table.licence th:nth-of-type(3) {
width: 20%;
}

#content table.licence th:nth-of-type(4) {
width: 20%;
}

#content table td {
text-align: center;
font-size: 1.4rem;
box-sizing: border-box;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
padding: 15px 10px;
}

#content table td.target {
font-weight: bold;
background: #d8ecf8;
border-bottom: 1px solid #fff;
}

#content table.seminar {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
border-left: 1px solid #ddd;
border-top: 1px solid #ddd;
margin: 30px 0 40px 0;
}

#content table.seminar th {
font-size: 1.4rem;
}

#content table.seminar th:nth-of-type(1) {
width: 10%;
}

#content table.seminar th:nth-of-type(2) {
width: 13%;
}

#content table.seminar th:nth-of-type(3) {
width: 13%;
}

#content table.seminar th:nth-of-type(4) {
width: 28%;
}

#content table.seminar th:nth-of-type(5) {
width: 28%;
}

#content table.seminar th:nth-of-type(6) {
width: 8%;
}

#content table.seminar td {
font-size: 1.3rem;
}

#content table.seminar td:nth-of-type(1) {
font-size: 1.4rem;
font-weight: bold;
letter-spacing: 0.2rem;
background: #f5f5f5;
}

#content table.seminar td:nth-of-type(4) {
text-align: left;
padding: 15px 20px;
}

#content table.seminar td:nth-of-type(5) {
text-align: left;
padding: 15px 20px;
}

#content table.seminar td img {
width: 30px;
}

#content table.seminar td a:hover img {
opacity: 0.7;
}

#content span.map {
display: block;
}

#content .map a {
display: inline-block;
font-size: 1.1rem;
line-height: 1.1rem;
color: #fff;
text-decoration: none;
background: #85b7dd;
padding: 3px 5px;
}

#content .map a:hover {
background: #2c98db;
}

#content .map a:link,
#content .map a:visited,
#content .map a:hover,
#content .map a:active; {
color: #fff;
text-decoration: none;
}

#content #genre1,
#content #genre2,
#content #genre3,
#content #genre4,
#content #genre5,
#content #genre6 {
clear: both;
padding-top: 60px;
margin-top: -60px;
}

#content #genre1 h3,
#content #genre2 h3,
#content #genre3 h3,
#content #genre4 h3,
#content #genre5 h3,
#content #genre6 h3 {
color: #222;
font-size: 2rem;
font-weight: bold;
letter-spacing: 0.05rem;
border-left: solid 4px #2c98db;
margin: 30px 0 20px 0;
padding: 8px 0 8px 14px;
}

#content p.photo {
padding: 20px 0;
}

#content p.photo img {
width: calc((100% - 17px)/2);
}

#content p.photo img:first-child {
margin-right: 17px;
}

#content-banner {
width: 100%;
margin: 0 auto;
padding: 0;
}

#content-banner ul {
width: 100%;
margin: 0 auto;
padding: 20px 0;
}

#content-banner li {
display: inline-block;
width: 100%;
height: 60px;
border: 1px solid #cdcdcd;
text-align: center;
font-size: 1.6rem;
font-weight: bold;
margin-bottom: 10px;
}

#content-banner li a {
color: #265580;
position: relative;
display: block;
height: 60px;
line-height: 60px;
background: #fff;
box-sizing: border-box;
padding-left: 10px;
}

#content-banner li a:link,
#content-banner li a:visited {
color: #265580;
}

#content-banner li a:hover {
color: #5986af;
}

#content-banner li a::before {
content: "";
position: absolute;
top: 15px;
left: 15px;
width: 29px;
height: 34px;
background: url('../image/icon_pdf.svg') top left no-repeat;
background-size: contain;
}

#content .pages {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
margin-top: -10px;
}

#content .page {
width: 32%;
margin-bottom: 30px;
}

#content .page p {
margin-bottom: 0;
}

#content .page .thumb img {
width: 100%;
}

#content .page .thumb a:hover img {
opacity: 0.7;
}

#content .page .title {
font-size: 1.8rem;
font-weight: bold;
letter-spacing: 0.1rem;
padding: 20px 20px 15px 0;
}

#content .page .title a:link {
position: relative;
display: block;
}

#content .page .title a:link::after {
content: "";
position: absolute;
top: 5px;
right: -20px;
width: 20px;
height: 20px;
background: url('../image/arrow.svg') top left no-repeat;
background-size: contain;
}

#content .page .title a:hover::after {
opacity: 0.7;
}

#content .page .exp {
font-size: 1.4rem;
line-height: 3rem;
vertical-align: top;
}

#content .movies {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

#content .movie {
width: 32%;
margin-bottom: 45px;
}

.movie .thumb {
z-index: 1;
position: relative;
width: 100%;
}

.movie .thumbbbb::after {
z-index: 2;
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
width: 50px;
height: 50px;
background: url('../image/icon_play.png') top left no-repeat;
background-size: contain;
}

#content .movie .thumb img {
width: 100%;
}

#content .movie .thumb a:hover img {
opacity: 0.7;
}

.movie .title {
position: relative;
width: 100%;
height: 60px;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
}

.movie .icon {
width: 30px;
height: 30px;
}

.movie .icon img {
width: 100%;
}

.movie .name {
line-height: 25px;
margin-left: 10px;
}

.movie .name h2 {
font-size: 2.1rem;
font-weight: bold;
letter-spacing: 0.2rem;
}

.movie .course {
font-size: 1.2rem;
line-height: 2.2rem;
letter-spacing: 0.05rem;
font-weight: bold;
margin-left: 10px;
}

#content .movie p {
margin: 0 auto;
}

.movie .btn_a {
width: 85%;
position: relative;
text-align: center;
font-size: 1.4rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: 0.2rem;
border-radius: 50vh;
background: #85b7dd;
box-sizing: border-box;
border: 1px solid #85b7dd;
margin: 10px auto 10px auto;
}

.movie .btn_a:hover {
background: #fff;
}

.movie .btn_a a {
display: block;
height: 100%;
padding: 12px 20px;
margin: 0 auto;
}

.movie .btn_a a:link, .movie .btn_a a:visited {
color: #fff;
text-decoration: none;
}

.movie .btn_a a:active, .movie .btn_a a:hover {
color: #85b7dd;
text-decoration: none;
}

/* ----------------------------------------------------------------
Main
----------------------------------------------------------------- */

#main {
width: calc(100% - 40px);
max-width: 1200px;
text-align: left;
margin: 0 auto;
padding: 50px 20px 60px 20px;
}

#mv {
width: 100%;
max-width: 1200px;
margin: 0 auto;
}

#mv img {
width: 100%;
}

.units {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

.col3 .unit {
width: 30%;
}

.unit {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
padding: 0;
}

.unit .col_left {
width: 33%;
}

.unit .title {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
margin-bottom: 25px;
}

.unit .icon {
width: 40px;
height: 40px;
margin-right: 15px;
}

.unit .icon img {
width: 100%;
}

.unit .name {
line-height: 25px;
}

.unit .name h2 {
font-size: 2.7rem;
font-weight: bold;
letter-spacing: 0.2rem;
}

.unit .photo {
position: relative;
}

.unit .col_left img {
width: 100%;
}

.unit .photo ul {
position: absolute;
top: 10px;
left: 10px;
}

.unit .photo li {
display: inline-block;
text-align: center;
font-size: 1.2rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: .04em;
border-radius: 4px;
background: #fff;
margin: 0 6px 8px 0;
padding: 4px 8px;
}

.unit .photo li.univ {
color: #fff;
background: #00bfff;
}

.unit .photo li.jc {
color: #fff;
background: #db7093;
}

.unit .photo li.gs {
color: #fff;
background: #005fa3;
}

.unit .contact {
padding: 12px 0;
}

.unit .contact p {
position: relative;
color: #777;
font-size: 1.2rem;
line-height: 1.6rem;
padding: 0 0 6px 20px;
}

.unit .contact p:nth-of-type(1)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 14px;
height: 14px;
background: url('../image/icon_map.svg') top left no-repeat;
background-size: contain;
}

.unit .contact p:nth-of-type(2)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 14px;
height: 14px;
background: url('../image/icon_tel.svg') top left no-repeat;
background-size: contain;
}

.unit .detail li {
width: 80%;
position: relative;
text-align: center;
font-size: 1.4rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: 0.2rem;
border-radius: 100vh;
background: #85b7dd;
box-sizing: border-box;
border: 1px solid #85b7dd;
margin: 0 auto 15px auto;
}

.unit .detail li:hover {
background: #fff;
}

.unit .detail li a {
display: block;
height: 100%;
padding: 12px 25px;
}

.unit .detail li a:link, .unit .detail li a:visited {
color: #fff;
text-decoration: none;
}

.unit .detail li a:active, .unit .detail li a:hover {
color: #85b7dd;
text-decoration: none;
}

.unit .col_right {
width: 63%;
}

.unit .overview {
margin: 0 0 12px 0;
}

.unit .overview p {
font-size: 1.4rem;
line-height: 2.6rem;
margin-bottom: 15px;
}

.unit h3 {
display: inline-block;
font-size: 1.6rem;
letter-spacing: 0.1rem;
margin: 30px 0 12px 0;
}

.unit .schooling p {
font-size: 1.3rem;
line-height: 1.5rem;
}

.unit .department li,
.unit .schooling li,
.unit .licence li {
display: inline-block;
text-align: center;
font-size: 1.3rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: .04em;
border-radius: 4px;
background: #eee;
margin: 0 6px 8px 0;
padding: 4px 8px;
}

.unit .research li {
clear: both;
display: inline-block;
text-align: center;
font-size: 1.3rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: .04em;
border-radius: 4px;
background: #eee;
margin: 0 6px 8px 0;
padding: 4px 8px;
}

.unit .column li {
font-size: 1.3rem;
line-height: 2.8rem;
}

.unit .column li a:link,
.unit .column li a:visited {
color: #174ea6;
text-decoration: underline;
}

.unit .column li a:hover {
color: #4682b4;
text-decoration: underline;
}

.unit .column li a::before {
content: "";
display: inline-block;
width: 10px;
height: 10px;
background: url('../image/arrow_link.svg') no-repeat;
background-size: contain;
margin: 0 5px 0 0;
}

#all {
width: 100%;
text-align: left;
margin: 0 auto;
padding: 30px 0 30px 0;
}

#all.online {
width: 100%;
text-align: left;
margin: 0 auto;
padding: 30px 0 30px 0;
}

#all.seminar {
width: 100%;
text-align: left;
margin: 0 auto;
padding: 30px 0 30px 0;
}

.cards {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
margin-bottom: 20px;
}

.card {
width: calc((100% - 60px)/3);
padding: 0;
margin: 0 10px 30px 10px;
}

.card .title {
width: 100%;
height: 60px;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
}

.card .icon {
width: 27px;
height: 27px;
margin-right: 10px;
}

.card .icon img {
width: 100%;
}

.card .name h2 {
font-size: 1.8rem;
font-weight: bold;
letter-spacing: 0.1rem;
}

.card .photo {
z-index: 1;
position: relative;
width: 100%;
height: auto;
aspect-ratio: 3 / 2;
overflow: hidden;
}

.card .photo img {
width: 100%;
}

.card .photo ul {
z-index: 2;
position: absolute;
top: 10px;
left: 10px;
}

.card .photo li {
display: inline-block;
text-align: center;
font-size: 1.2rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: .04em;
border-radius: 4px;
background: #fff;
margin: 0 6px 8px 0;
padding: 4px 8px;
}

.card .photo li.univ {
color: #fff;
background: #00bfff;
}

.card .photo li.jc {
color: #fff;
background: #db7093;
}

.card .photo li.gs {
color: #fff;
background: #005fa3;
}

.card .photo a:hover img {
opacity: 0.8;
}

.card .contact {
min-height: 60px;
box-sizing: border-box;
padding: 12px 0 0 0;
}

.card .contact p {
position: relative;
color: #777;
font-size: 1.2rem;
line-height: 1.6rem;
padding: 0 0 6px 20px;
}

.card .contact p:nth-of-type(1)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 14px;
height: 14px;
background: url('../image/icon_map.svg') top left no-repeat;
background-size: contain;
}

.card .contact p:nth-of-type(2)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 14px;
height: 14px;
background: url('../image/icon_tel.svg') top left no-repeat;
background-size: contain;
}

.card .exlink {
width: 100%;
margin: 0 auto;
}

.card .exlink ul {
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
margin: 0 auto;
}

.card .exlink li {
position: relative;
text-align: center;
font-size: 1.4rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: 0.2rem;
border-radius: 100vh;
background: #85b7dd;
box-sizing: border-box;
border: 1px solid #85b7dd;
margin: 0 5px;
}

.card .exlink li:hover {
background: #fff;
}

.card .exlink li a {
display: block;
height: 100%;
padding: 12px 25px;
}

.card .exlink li a:link, .card .exlink li a:visited {
color: #fff;
text-decoration: none;
}

.card .exlink li a:active, .card .exlink li a:hover {
color: #85b7dd;
text-decoration: none;
}

.card .detail {
width: 100%;
margin: 0 auto;
}

.card .detail {
width: 100%;
height: 30px;
margin: 0 auto;
}

.card .detail a {
display: block;
width: 100%;
padding: 12px 25px;
box-sizing: border-box;
}

.card .detail p {
position: relative;
text-align: center;
font-size: 1.4rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: 0.5rem;
box-sizing: border-box;
border: 1px solid #85b7dd;
margin: 0;
}

.card .detail p a:link, .card .detail p a:visited {
color: #85b7dd;
background: #fff;
}

.card .detail p a:active, .card .detail p a:hover {
color: #fff;
background: #85b7dd;
}

#about-online {
width: 100%;
max-width: 1200px;
text-align: left;
margin: 0 auto;
box-sizing: border-box;
padding: 30px 20px 0 20px;
}

#about-online p:nth-of-type(n+2) {
margin-top: 20px;
}

.tiles {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
box-sizing: border-box;
padding: 0 20px 0 20px;
margin-bottom: 20px;
}

.tile {
width: calc((100% - 30px)/2);
font-size: 1.4rem;
border-radius: 8px;
border: 1px solid #dedede;
margin-bottom: 60px;
padding: 10px 15px 20px 20px;
box-sizing: border-box;
}

.tile.blank {
width: calc((100% - 30px)/2);
border: none;
margin-bottom: 0;
padding: 0;
}

.tile .title {
width: 100%;
height: 60px;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
}

.tile .icon {
width: 27px;
height: 27px;
margin-right: 10px;
}

.tile .icon img {
width: 100%;
}

.tile .name h2 {
font-size: 1.8rem;
font-weight: bold;
letter-spacing: 0.1rem;
}

.tile .photo {
z-index: 1;
position: relative;
width: 100%;
height: auto;
overflow: hidden;
}

.tile .photo img {
width: 100%;
}

.tile .photo ul {
z-index: 2;
position: absolute;
top: 10px;
left: 10px;
}

.tile .photo a:hover img {
opacity: 0.8;
}

.tile .study {
width: 100%;
margin-top: 20px;
}

.tile .schedule {
width: 100%;
margin-top: 25px;
}

.tile .movie {
width: 100%;
margin-top: 25px;
}

.tile .movie1 {
width: 100%;
}

.tile .movie2,
.tile .movie3 {
width: 100%;
margin-top: 25px;
}

.tile h3 {
text-align: center;
height: 30px;
font-size: 1.4rem;
line-height: 30px;
letter-spacing: 0.1rem;
color: #6fb4de;
box-sizing: border-box;
border-radius: 8px;
border: 1px solid #6fb4de;
margin-bottom: 10px;
}

.tile .btn_a {
width: 80%;
position: relative;
text-align: center;
font-size: 1.4rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: 0.2rem;
border-radius: 50vh;
background: #85b7dd;
box-sizing: border-box;
border: 1px solid #85b7dd;
margin: 10px auto 10px auto;
}

.tile .btn_a:hover {
background: #fff;
}

.tile .btn_a a {
display: block;
height: 100%;
padding: 12px 25px;
}

.tile .btn_a a:link, .tile .btn_a a:visited {
color: #fff;
text-decoration: none;
}

.tile .btn_a a:active, .tile .btn_a a:hover {
color: #85b7dd;
text-decoration: none;
}

.tile .detail {
width: 100%;
margin: 0 auto;
}

.tile .detail {
width: 100%;
height: 30px;
margin: 5px auto 0 auto;
}

.tile .detail a {
display: block;
width: 100%;
padding: 12px 25px;
box-sizing: border-box;
}

.tile .detail p {
position: relative;
text-align: center;
font-size: 1.4rem;
font-weight: 700;
line-height: 1.5rem;
letter-spacing: 0.5rem;
box-sizing: border-box;
border: 1px solid #85b7dd;
margin: 0;
}

.tile .detail p a:link, .tile .detail p a:visited {
color: #85b7dd;
background: #fff;
}

.tile .detail p a:active, .tile .detail p a:hover {
color: #fff;
background: #85b7dd;
}

.back {
clear: both;
}

.back p {
width: 200px;
text-align: center;
font-size: 1.4rem;
font-weight: bold;
line-height: 1.5rem;
letter-spacing: 0.1rem;
box-sizing: border-box;
margin: 0 auto;
padding: 0;
}

.back p a {
position: relative;
display: block;
padding: 15px 15px;
margin: 0;
}

.back p a:link, .back p a:visited {
color: #85b7dd;
border-radius: 100vh;
border: 1px solid #85b7dd;
background: #fff;
}

.back p a:active, .back p a:hover {
color: #fff;
border-radius: 100vh;
border: 1px solid #85b7dd;
background: #85b7dd;
}

.back p a:link::before {
content: "";
position: absolute;
left: 18px;
top: 12px;
display: inline-block;
width: 22px;
height: 22px;
background: url('../image/arrow_back.svg') no-repeat;
background-size: contain;
}

.back p a:hover::before {
content: "";
position: absolute;
left: 18px;
top: 12px;
display: inline-block;
width: 22px;
height: 22px;
background: url('../image/arrow_back_alt.svg') no-repeat;
background-size: contain;
}

#search {
clear: both;
width: 100%;
height: 1px;
margin-top: -50px;
padding-top: 50px;
}

.narrowing {
width: calc(100% - 20px);
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: center;
justify-content: center;
background: #f8f8f8;
margin: 0 auto 20px auto;
padding: 10px;
border: 1px solid #ddd;
box-sizing: border-box;
}

.narrowing h3 {
font-size: 1.4rem;
margin-bottom: 5px;
}

.narrowing ul {
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: center;
justify-content: center;
}

.narrowing li {
text-align: center;
font-size: 1.6rem;
line-height: 1.9rem;
letter-spacing: 0.1rem;
font-weight: bold;
border-right: 1px solid #ddd;
margin: 15px 15px 15px 0;
padding-right: 15px;
}

.narrowing ul li:last-child {
border-right: none;
padding-right: 0;
}

.narrowing li a:link,
.narrowing li a:visited {
color: #aaa;
}

.narrowing li a:hover {
color: #222;
}

.narrowing li.current a:link,
.narrowing li.current a:visited {
color: #222;
}

.cards.non {
margin-bottom: 0;
}

.non .note {
text-align: center;
width: 100%;
margin: 30px auto 70px auto;
}

.non .card {
width: calc((100% - 60px)/3);
padding: 0;
margin: 0 10px 30px 10px;
}

.non .card .title {
width: 100%;
height: auto;
border-bottom: 1px solid #dedede;
display: block;
margin-bottom: 15px;
padding-bottom: 10px;
}

.non .card .name h2 {
font-size: 1.7rem;
font-weight: bold;
letter-spacing: 0.1rem;
}

.non .card .overview {
width: 100%;
padding: 0;
}

.non .card .overview p {
color: #555;
font-size: 1.3rem;
line-height: 2rem;
}

#content table.activity {
margin-top: 30px;
}

#content table.activity th {
font-size: 1.3rem;
text-align: left;
padding: 15px 20px;
}

#content table.activity td {
position: relative;
font-size: 1.3rem;
text-align: left;
padding: 10px 20px;
}

#content table.activity td:nth-of-type(1) {
width: 160px;
}

#content table.activity td:nth-of-type(3) {
width: 290px;
}

#content table.activity td a:link,
#content table.activity td a:visited {
color: #174ea6;
text-decoration: underline;
}

#content table.activity td a:hover {
color: #4682b4;
text-decoration: underline;
}

#content table.activity td a.pdf::before {
content: "";
display: inline-block;
width: 20px;
height: 20px;
background: url('../image/icon_pdf.svg') no-repeat;
background-size: contain;
margin: 0 5px -5px 0;
}

#content h3 span {
font-size: 1.3rem;
letter-spacing: 0;
font-weight: normal;
margin-left: 5px;
}

#content table.data {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
border-left: 1px solid #ddd;
border-top: 1px solid #ddd;
margin: 20px 0 20px 0;
}

#content table.data th {
height: auto;
text-align: center;
padding: 18px 15px;
}

#content table.data td {
height: auto;
font-size: 1.3rem;
text-align: center;
padding: 10px 15px;
}

#content table.data td:nth-of-type(1) {
font-size: 1.3rem;
font-weight: bold;
letter-spacing: 0.1rem;
background: #f5f5f5;
}

#content table.data td span {
color: #999;
}

#content table.data.num1 td {
width: 25%;
}

#content table.data.num2 td:nth-of-type(1) {
width: 10%;
}
#content table.data.num2 td:nth-of-type(2) {
width: 15%;
}
#content table.data.num2 td:nth-of-type(3) {
text-align: left;
}

#content table.data.num3 td:nth-of-type(1) {
width: 10%;
}
#content table.data.num3 td:nth-of-type(2) {
width: 15%;
}
#content table.data.num3 td:nth-of-type(3) {
text-align: left;
}

#content table.data.num4 td:nth-of-type(1) {
width: 10%;
}
#content table.data.num4 td:nth-of-type(2) {
width: 15%;
}
#content table.data.num4 td:nth-of-type(3) {
text-align: left;
}

#content table.data.num5 td {
width: calc(100% / 7);
}

#content table.data.num6 td {
width: calc(100% / 7);
}

#content table.data.num7 td {
width: calc(100% / 6);
}

#content table.data.num8 td {
width: calc(100% / 9);
}

#content table.data.num9 td:nth-of-type(1) {
width: 12%;
}

#content p.supplement {
font-size: 1.3rem;
}

#news-archive ul {
text-align: left;
max-width: 1200px;
border-top: 1px solid #eee;
margin: 0 auto;
}

#news-archive li {
font-size: 1.4rem;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
border-bottom: 1px solid #eee;
padding: 15px 0;
}

#news-archive li .date {
display: inline-block;
width: 140px;
padding-left: 20px;
}

#news-archive li .cat {
display: inline-block;
width: 140px;
box-sizing: border-box;
padding-right: 30px;
}

#news-archive li .cat span {
display: inline-block;
width: 100%;
text-align: center;
color: #0a90d8;
font-size: 1.3rem;
line-height: 1.3rem;
letter-spacing: 0.1rem;
border: 1px solid #0a90d8;
padding: 7px 5px 5px 5px;
box-sizing: border-box;
}

#news-archive li .title {
display: inline-block;
width: calc(100% - 330px);
padding-right: 20px;
}

#sitemap {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

#sitemap .page {
width: calc((100% - 34px)/3);
margin-bottom: 20px;
}

#sitemap p.link a {
display: block;
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 15px 15px 15px 40px;
}

#sitemap p.link a::before {
content: '';
position: absolute;
top: 50%;
left: 15px;
width: 5px;
height: 5px;
border-top: solid 2px #999;
border-right: solid 2px #999;
margin-top: -3px;
transform: rotate(45deg);
}

#sitemap p.link {
position: relative;
width: 100%;
font-size: 1.4rem;
font-weight: bold;
background: #f7f7f7;
}

#sitemap ul {
font-size: 1.4rem;
margin: 10px 0 0 0;
}

#sitemap li {
position: relative;
font-size: 1.3rem;
margin-bottom: 3px;
padding-left: 40px;
}

#sitemap li a::before {
content: '';
position: absolute;
top: 50%;
left: 15px;
width: 5px;
height: 5px;
border-top: solid 2px #ccc;
border-right: solid 2px #ccc;
margin-top: -4px;
transform: rotate(45deg);
}

dl.faq2 {
padding-top: 10px;
}

#content table.faq2 {
width: 100%;
box-sizing: border-box;
}

.faq2 dt {
position: relative;
font-weight: bold;
padding: 15px 20px 15px 50px;
border-radius: 5px;
background: #e3f4fe;
}

.faq2 dt:before {
position: absolute;
top: 15px;
left: 20px;
content: "Q";
color: #1771c6;
font-weight: bold;
margin-right: 1rem;
}

.faq2 dd {
position: relative;
margin: 20px 0 30px 0;
padding: 0 20px 0 50px;
}

.faq2 dd:before {
position: absolute;
top: 0;
left: 20px;
content: "A";
color: #1771c6;
font-weight: bold;
margin-right: 1rem;
}

#content table.faq2 th {
text-align: center;
color: #fff;
font-size: 1.3rem;
line-height: 1.6rem;
font-weight: bold;
box-sizing: border-box;
background: #6fb4de;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
padding: 15px 10px;
}

#content table.faq2 th {
width: 25%;
}

#content table.faq2 td {
text-align: center;
font-size: 1.4rem;
box-sizing: border-box;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
padding: 15px 10px;
}

#content table.faq2 td a:link,
#content table.faq2 td a:visited {
color: #174ea6;
text-decoration: underline;
}

#content table.faq2 td a:hover {
color: #4682b4;
text-decoration: underline;
}

.column4 {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

.column4 img {
width: 24.5%;
}

#content .inpagelink.imp {
padding: 0 0 20px 0;
}

#content #sapporo, 
#content #sendai, 
#content #tokyo1, 
#content #tokyo2, 
#content #yokohama, 
#content #nagoya1, 
#content #nagoya2, 
#content #osaka1, 
#content #osaka2, 
#content #okayama, 
#content #fukuoka {
padding-top: 80px;
margin-top: -80px;
}

#content #sapporo ul, 
#content #sendai ul, 
#content #tokyo1 ul, 
#content #tokyo2 ul, 
#content #yokohama ul, 
#content #nagoya1 ul, 
#content #nagoya2 ul, 
#content #osaka1 ul, 
#content #osaka2 ul, 
#content #okayama ul, 
#content #fukuoka ul {
font-size: 1.3rem;
padding: 0 0 0 20px;
}

#content table.media {
width: calc(100% - 20px);
max-width: 900px;
margin-left: 20px;
}

#content table.media td {
text-align: left;
padding: 12px 20px;
}

#content .inpagelink.media {
padding: 10px 0 20px 0;
}

#content #internet, 
#content #newsletter {
padding-top: 80px;
margin-top: -80px;
}

#content ul.link.media {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

/* ----------------------------------------------------------------
Footer
----------------------------------------------------------------- */

#footer {
width: 100%;
margin: 0 auto;
padding: 0;
}

#footer-banner {
width: 100%;
background: #e3f4fe;
margin: 0 auto;
padding: 0;
}

#footer-banner ul {
width: 100%;
margin: 0 auto;
padding: 12px 0 0 0;
}

#footer-banner li {
display: inline-block;
width: calc(100% - 30px);
height: 60px;
text-align: left;
font-size: 1.6rem;
font-weight: bold;
margin-bottom: 12px;
}

#footer-banner li a {
color: #265580;
position: relative;
display: block;
height: 60px;
line-height: 60px;
background: #fff;
box-sizing: border-box;
padding-left: 55px;
}

#footer-banner li a:link,
#footer-banner li a:visited {
color: #265580;
}

#footer-banner li a:hover {
color: #5986af;
}

#footer-banner li a::before {
content: "";
position: absolute;
top: 15px;
left: 15px;
width: 29px;
height: 34px;
background: url('../image/icon_pdf.svg') top left no-repeat;
background-size: contain;
}

#footer-navi {
width: 100%;
border-bottom: 1px solid #eee;
margin: 0 auto 30px auto;
}

#footer-navi ul {
height: 50px;
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
margin: 10px auto;
}

#footer-navi li {
position: relative;
font-size: 1.3rem;
font-weight: bold;
margin: 0 8px;
padding-left: 15px;
}

#footer-navi li::before {
content: '';
position: absolute;
top: 50%;
left: 0;
width: 5px;
height: 5px;
border-top: solid 1px #999;
border-right: solid 1px #999;
margin-top: -3px;
transform: rotate(45deg);
}

#footer-logo {
width: 350px;
margin: 0 auto 25px auto;
}

#footer-logo img {
width: 100%;
margin: 0 auto;
}

#footer-logo img:hover {
opacity: 0.7
}

#copyright {
width: 100%;
text-align: center;
margin: 0 auto;
padding: 0 0 25px 0;
}

#copyright p {
color: #666;
font-size: 1rem;
font-family: Montserrat,"Helvetica Neue",sans-serif;
letter-spacing: 0.1rem;
margin: 0 auto;
}

.page-top {
display: none;
cursor: pointer;
padding: 0;
position: fixed;
right: 20px;
bottom: 20px;
z-index: 10;
width: 40px;
height: 40px;
border-radius: 50%;
background: #6fb4de;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
}

.page-top.active {
display: flex;
}

.page-top::before {
content: "";
width: 10px;
height: 10px;
margin-bottom: -5px;
border-top: solid 3px #fff;
border-right: solid 3px #fff;
transform: rotate(-45deg);
}

.page-top:hover {
transform: scale(1.2);
}

#inquiry {
display: none;
}

/* ----------------------------------------------------------------
Swiper
----------------------------------------------------------------- */

.swiper-wrapper {
-webkit-backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
perspective: 1000;
}

.swiper-slide {
-webkit-backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
perspective: 1000;
}

.slide-voice {
position: relative;
width: 97%;
max-width: 1200px;
margin: 30px auto 0 auto;
}

.swiper {
width: calc(100% - 40px);
margin: 0 auto 10px auto;
}

.swiper-slide {
position: relative;
}

.swiper-slide img {
width: 100%;
}

.swiper-slide img:hover {
opacity: 0.9;
}

.swiper-slide img::after {
z-index: 2;
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
width: 50px;
height: 50px;
background: url('../image/icon_play.png') top left no-repeat;
background-size: contain;
}


/* ----------------------------------------------------------------
202601
----------------------------------------------------------------- */

.columns {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: flex-start;
justify-content: flex-start;
-webkit-align-items: flex-start;
align-items: flex-start;
}

.columns .time {
width: 25.9%;
margin: 0 auto 90px auto;
}

.columns .column {
width: 74.1%;
margin: 0 auto 90px auto;
}

.columns .column25b {
width: 73.8%;
}

.columns .column25d {
width: 73.5%;
}

.columns li.seminar2026a,
.columns li.seminar2026b {
width: 100%;
}

.columns li.seminar2026a img {
width: 100%;
margin-top: 5px;
margin-bottom: 5px;
}

.columns li.seminar2026b img {
width: 100%;
margin-top: 5px;
margin-bottom: 60px;
}

#content #seminar2026a,
#content #seminar2026b {
margin-top: -80px;
padding-top: 80px;
}

#content #seminar2026a h3,
#content #seminar2026b h3 {
color: #222;
font-size: 2rem;
font-weight: bold;
letter-spacing: 0.05rem;
border-left: solid 4px #2c98db;
margin: 0 0 20px 0;
padding: 8px 0 8px 14px;
}

/* ----------------------------------------------------------------
baloon
----------------------------------------------------------------- */

.tooltip {
position: relative;
cursor: pointer;
}

.columns .tooltip img:hover {
opacity: 0.9;
}

.balloon {
width: 100%;
position: absolute;
left: 32%;
bottom: 50%;
transform: translateX(-50%);
margin-bottom: 5px;
padding: 8px 12px;
box-sizing: border-box;
border-radius: 10px;
background-color: #fff;
border: 2px solid #ccc;
font-size: 1.3rem;
color: #111;
text-align: left;
visibility: hidden;
opacity: 0;
z-index: 1;
transition: 0.5s all;
}

.balloon::before {
content: '';
  position: absolute;
  bottom: 0;
  left: 25.9%;
  width: 10px;
  height: 10px;
  background: #fff;
  border-right: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  transform: translate(-50%,55%) rotate(45deg);
  transform-origin:center center;
  }

.tooltip:hover .balloon {
  bottom: 90%; /* Y軸の位置 */
  visibility: visible;
  opacity: 1;
}

