@charset "utf-8";

/*=================================

guest

=================================*/
.title { background-color:#fff; }
.title:before { content:none; }
.title h2 { padding:45px 0 60px; }
.title h2:after,
.title h2:before { bottom:30px; }

#second_main_visual { position:relative; }
#second_main_visual img { object-position:center 25%; }
#second_main_visual:after { background-image:url(../img/guest/t_guest.png); background-size:210px 92px; background-position:top center;  content:" "; height:92px; position:absolute; top:42%; margin-top:-46px; left:15%; width:210px; z-index:10; }

#guest { display:flex; flex:0 0 100%; flex-wrap:wrap; justify-content:center; padding:0; position:relative; }
#guest #guest_cont { background-color:#fff; flex:0 0 100%; padding:0 50px 50px; }
#guest #guest_cont .lead { margin-bottom:30px; text-align:center; }
#guest #guest_cont .lead span { line-height:1.6; }

#guest #guest_cont ul.main_menu { display:flex; flex-wrap:wrap; justify-content:space-between; }
#guest #guest_cont ul.main_menu li { display:flex; justify-content:center; margin-top:30px; position:relative; width:calc(50% - 15px); }
#guest #guest_cont ul.main_menu li:nth-child(odd) { margin-right:30px; }
#guest #guest_cont ul.main_menu li:nth-child(even) { margin-right:0; }
#guest #guest_cont ul.main_menu li a { border:2px solid #eee; position:relative; width:100%; }
#guest #guest_cont ul.main_menu li a dl { padding:10px; position:relative; }
#guest #guest_cont ul.main_menu li a dl dt {}
#guest #guest_cont ul.main_menu li a dl dt img { height:150px; object-fit:cover; max-width:500px; width:100%; opacity:0; -webkit-transition:opacity 3s; transition: opacity 3s; }
#guest #guest_cont ul.main_menu li a dl dt img.lazyloaded { opacity:1; }
#guest #guest_cont ul.main_menu li a dl dd { align-items:center; display:flex; justify-content:start; padding:30px 10px; }
#guest #guest_cont ul.main_menu li a dl dd i { font-size:131%; }
#guest #guest_cont ul.main_menu li a dl dd span { font-size:139%; padding-left:10px; }

#guest #guest_cont ul.main_menu li a dl:after {
content: " ";
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 15px 15px;
border-color: transparent transparent #6BEFD5 transparent;
bottom: 10px;
right: 10px;
position: absolute;
}

#guest #guest_cont .musasi { margin-top:30px; }
#guest #guest_cont .musasi a { background-color:#fff; border:2px solid #eee; display:flex; justify-content:space-between; padding:10px; position:relative; }
#guest #guest_cont .musasi a .pic { flex:0 0 480px; }
#guest #guest_cont .musasi a .pic img { height:150px; object-fit:cover; max-width:480px; width:100%; opacity:0; -webkit-transition:opacity 3s; transition: opacity 3s; }
#guest #guest_cont .musasi a .pic img.lazyloaded { opacity:1; }
#guest #guest_cont .musasi a dl { align-items:center; align-content:center; display:flex; flex:1 1 50%; padding:10px 10px 10px 25px; flex-wrap:wrap; justify-content:center; position:relative; }
#guest #guest_cont .musasi a dl dt { flex:0 0 100%; }
#guest #guest_cont .musasi a dl dt span { font-size:154%; font-weight:600; }
#guest #guest_cont .musasi a dl dd { flex:0 0 100%; margin-top:20px; }
#guest #guest_cont .musasi a dl dd span { font-size:116%; line-height:1.6; }
#guest #guest_cont .musasi a dl:after { color:#999; content:"\f054"; font-size:85%; z-index: 11; position: absolute; font-family: "Font Awesome 5 Free"; top:50%; right: 15px; margin-top:-6px; }

/*------------------------------------------------------------
information
------------------------------------------------------------*/
#information { display:flex; flex:0 0 100%; justify-content:center; margin-top:60px; padding:0; }
#information #information_cont { display:flex; flex:0 1 1180px; justify-content:center; }

/*--- news ---*/
#information #information_cont #news { padding:0; margin-right:30px; width:calc(50% - 15px); }
#information #information_cont #news h3 { align-items:center; display:flex; justify-content:space-between; }
#information #information_cont #news h3 span:first-child { color:#1a1a1a; font-size:167%; font-weight:600; padding-left:15px; }
#information #information_cont #news h3 span:nth-child(2) { color:#d5d5d5; font-size:300%; font-family:Roboto; font-weight:600; }

#information #information_cont #news #fixed_news_cont { margin-top:10px; }
#information #information_cont #news #fixed_news_cont ol {}
#information #information_cont #news #fixed_news_cont ol li { align-content:stretch; background-color:#fffdf1; display:flex; border-top:1px solid #e5e5e5; justify-content:space-between; position:relative; }
#information #information_cont #news #fixed_news_cont ol li .category { align-items:start; display:flex; position:absolute; top:25px; left:15px; }
#information #information_cont #news #fixed_news_cont ol li .category span { display:inline-block; font-size:93%; line-height:1; padding:10px 15px; }
#information #information_cont #news #fixed_news_cont ol li a { align-items:center; display:flex; flex:1; padding:25px 20px 25px 110px; }
#information #information_cont #news #fixed_news_cont ol li a dl { display:flex; flex:1; flex-wrap:wrap; width:360px; }
#information #information_cont #news #fixed_news_cont ol li a dl dt { display:flex; flex:0 0 100%; overflow:hidden; }
#information #information_cont #news #fixed_news_cont ol li a dl dt span { font-size:116%; padding-left:15px; }
#information #information_cont #news #fixed_news_cont ol li a dl dt span:first-child { flex:0 0 20%; font-weight:600; padding-left:0; }
#information #information_cont #news #fixed_news_cont ol li a dl dt span:nth-child(2) { text-overflow:ellipsis; overflow:hidden; white-space: nowrap; width:100%; }

#information #information_cont #news #fixed_news_cont ol li a dl dd { flex:0 0 100%; margin-top:10px; width:100%; }
#information #information_cont #news #fixed_news_cont ol li a dl dd span { display:block; font-size:116%; line-height:1.6; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
#information #information_cont #news #fixed_news_cont ol li a:hover { background-color:#f0fdfb; text-decoration:none; }
#information #information_cont #news #fixed_news_cont ol li a:hover dl dt span { color:#333; }
#information #information_cont #news #fixed_news_cont ol li a:hover dl dd span { color:#333; }
#information #information_cont #news #fixed_news_cont ol li a i { color:#999; font-size:85%; }

#information #information_cont #news #fixed_news_cont ol li .category.important span { background-color:#c00; color:#fff; padding:10px 28px; }

#information #information_cont #news #news_cont { border-top:1px solid #e5e5e5; border-bottom:1px solid #e5e5e5; margin:0; overflow-x:hidden; overflow-y:scroll; height:440px; }
#information #information_cont #news #news_cont ol {}
#information #information_cont #news #news_cont ol li { align-content:stretch; background-color:#fff; display:flex; border-bottom:1px solid #e5e5e5; justify-content:space-between; position:relative; }
#information #information_cont #news #news_cont ol li:nth-child(even) { background-color:#fbfbfb; }
#information #information_cont #news #news_cont ol li .category { align-items:start; display:flex; position:absolute; top:25px; left:15px; }
#information #information_cont #news #news_cont ol li .category span { display:inline-block; font-size:93%; line-height:1; padding:10px 15px; }
#information #information_cont #news #news_cont ol li a { align-items:center; display:flex; flex:1; padding:25px 25px 25px 110px; }
#information #information_cont #news #news_cont ol li a dl { display:flex; flex:1; flex-wrap:wrap; width:360px; }
#information #information_cont #news #news_cont ol li a dl dt { display:flex; flex:0 0 100%; overflow:hidden; }
#information #information_cont #news #news_cont ol li a dl dt span { font-size:116%; padding-left:20px; }
#information #information_cont #news #news_cont ol li a dl dt span:first-child { font-weight:600; padding-left:0; }
#information #information_cont #news #news_cont ol li a dl dt span:nth-child(2) { text-overflow:ellipsis; overflow:hidden; white-space: nowrap; width:100%; }

#information #information_cont #news #news_cont ol li a dl dd { flex:0 0 100%; margin-top:10px; width:100%; }
#information #information_cont #news #news_cont ol li a dl dd span { display:block; font-size:116%; line-height:1.6; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }

#information #information_cont #news #news_cont ol li a i { color:#999; font-size:85%; }
#information #information_cont #news #news_cont ol li a:hover { background-color:#f0fdfb; text-decoration:none; }
#information #information_cont #news #news_cont ol li a:hover dl dt span { color:#333; }
#information #information_cont #news #news_cont ol li a:hover dl dd span { color:#333; }

/*--- twitter ---*/
#information #information_cont #twitter { padding:0; width:calc(50% - 15px); }
#information #information_cont #twitter h3 { align-items:center; display:flex; justify-content:space-between; }
#information #information_cont #twitter h3 span:first-child { color:#1a1a1a; font-size:167%; font-weight:600; padding-left:15px; }
#information #information_cont #twitter h3 span:nth-child(2) { color:#d5d5d5; font-size:300%; font-family:Roboto; font-weight:600; }
#information #information_cont #twitter #twitter_cont { background-color:#f0f0f0; margin-top:10px; padding:20px; }

/*------------------------------------------------------------
schedule
------------------------------------------------------------*/
#schedule { display:flex; flex:0 0 100%; flex-wrap:wrap; justify-content:center; margin-top:30px; padding:0; }
#schedule h3 { flex:0 0 100%; }
#schedule #schedule_cont { display:flex; flex:0 1 1180px; flex-wrap:wrap; justify-content:center; }
#schedule #schedule_cont h4 { flex:0 0 100%; }
#schedule #schedule_cont #calendar { min-width:100%; max-width:800px; margin:0 auto; }
#schedule #schedule_cont #calendar #calendar_cont { position:relative; overflow: hidden; height:0; padding-bottom:70%; }
#schedule #schedule_cont #calendar #calendar_cont iframe { border:none !important; margin-top:20px; position:absolute; top:0; left:0; width:100%; height:100%; }

/*-- safariのみ非表示 --*/
_:lang(x)+_:-webkit-full-screen-document, #schedule #schedule_cont #calendar {}

#schedule #schedule_cont #calendar_link { display: none; }
/*-- safariのみ表示 --*/
_:lang(x)+_:-webkit-full-screen-document, #schedule #schedule_cont #calendar_link { display:block; }
#schedule #schedule_cont #calendar_link ul { align-content:stretch; background-color:#fff; display:flex; justify-content:center; position:relative; }
#schedule #schedule_cont #calendar_link ul li { flex: 0 0 300px; margin-left:50px; }
#schedule #schedule_cont #calendar_link ul li:first-child { margin-left:0; }
#schedule #schedule_cont #calendar_link ul li a { align-content:center; background-color:#fff; border:2px solid #ccc; display:flex; justify-content:space-between; padding:25px 20px; position:relative; }
#schedule #schedule_cont #calendar_link ul li a span { font-size:108%; }

/*------------------------------------------------------------
announce
------------------------------------------------------------*/
#announce { display:flex; flex:0 0 100%; flex-wrap:wrap; justify-content:center; margin-top:60px; padding:0; }
#announce h3 { flex:0 0 100%; }
#announce #announce_cont { display:flex; flex:0 1 1180px; flex-wrap:wrap; justify-content:center; }

#announce #announce_cont .lisence { align-items:center; display:flex; flex:0 0 100%; justify-content:start;  margin-bottom:30px; }
#announce #announce_cont .lisence dt { flex:0 0 15%; margin:0;  }
#announce #announce_cont .lisence dt span { font-size:131%; font-weight:600; }
#announce #announce_cont .lisence dd { flex:1; padding-left:10px; }
#announce #announce_cont .lisence dd .select_btn {}

#announce #announce_cont .list_table_a.fd_column { flex-direction:column; }
#announce #announce_cont .list_table_a.fd_column > ul { flex:1; }
#announce #announce_cont .list_table_a.fd_column > ul > li { align-items:stretch; align-content:stretch; }
#announce #announce_cont .list_table_a.fd_column > ul > li > ul li { align-items:center; display:flex; justify-content:center; }

#announce #announce_cont .list_table_a.fd_column > ul > li.head { align-items:center; display:flex; justify-content:center; }

#announce #announce_cont .target_lisence { display: none; }
#announce #announce_cont .target_lisence.selected { display:flex; }
#announce #announce_cont .target_lisence .list_table_a {}
#announce #announce_cont .target_lisence .list_table_a > ul > li.head > span { font-size:125%; }
#announce #announce_cont .target_lisence .list_table_a > ul > li:first-child { border-right:1px solid #ddd; }
#announce #announce_cont .target_lisence .list_table_a > ul > li ul li:nth-child(3) { border-right:none; }

/*------------------------------------------------------------
additional_plan
------------------------------------------------------------*/
#additional_plan { display:flex; flex:0 0 100%; flex-wrap:wrap; justify-content:center; margin-top:60px; padding:0; }
#additional_plan h3 { flex:0 0 100%; }
#additional_plan #additional_plan_cont { display:flex; flex:0 1 1180px; flex-wrap:wrap; justify-content:center; }
#additional_plan #additional_plan_cont h4 { flex:0 0 100%; }
#additional_plan #additional_plan_cont h4 span {}
#additional_plan #additional_plan_cont ul { display:flex; flex:0 0 100%; justify-content:space-between; margin-top:30px; }
#additional_plan #additional_plan_cont ul li { border:1px solid #eee; display:flex; flex-direction:column; padding:15px; width:calc(100% / 3 - 20px); }
#additional_plan #additional_plan_cont ul li:first-child { margin-left:0; }

#additional_plan #additional_plan_cont ul li .cont { display:flex; flex:1; flex-direction:column; }
#additional_plan #additional_plan_cont ul li .cont h5 { align-items:center; display:flex; flex:1; height:100%; justify-content:space-between; padding:0 0 10px 0; }
#additional_plan #additional_plan_cont ul li .cont h5 span:first-child { display:block; font-size:131%; font-weight:600; line-height:1.6; }
#additional_plan #additional_plan_cont ul li .cont h5 span:nth-child(2) { background-color:#333; color:#fff; font-size:85%; padding:5px; }
#additional_plan #additional_plan_cont ul li .cont p { height:100%; line-height:1.6; display:flex; flex:5; }

#additional_plan #additional_plan_cont ul li .cont dl:nth-child(2) { align-items:start; display:flex; flex:20; flex-wrap:wrap; height:100%; justify-content:center; margin:0; min-height:0%; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(2) dt { background-color:rgba(0,71,156,0.05); width:100%; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(2) dt img { height:auto; object-fit:cover; object-position:center top; width:100%; opacity:0; -webkit-transition:opacity 3s; transition: opacity 3s; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(2) dt img.lazyloaded { opacity:1; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(2) dd { height:100%; flex:1; padding:15px 0; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(2) dd span { font-size:108%; line-height:1.8; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(2) dd .alert { margin-top:10px; padding:10px; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(3) { align-items:center; display:flex; flex:2; height:100%; justify-content:center; margin-top:0; min-height:0%; padding:15px 0 0; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(3) dt {}
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(3) dt span { display:block; padding:5px; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(3) dt span.add { background-color:rgba(0,71,156,0.05); }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(3) dt span.discount { background-color:#eee; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(3) dd { align-items:flex-end; display:flex; justify-content:center; padding-left:10px; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(3) dd span { font-size:232%; font-family:Roboto; font-weight:600; }
#additional_plan #additional_plan_cont ul li .cont dl:nth-child(3) dd span:nth-child(2) { font-size:116%; }

#additional_plan #additional_plan_cont ul.half li { padding:15px; width:calc(100% / 2 - 15px); }

#additional_plan #additional_plan_cont ul li .btn { flex:1; margin-top:5px; padding:0; }
#additional_plan #additional_plan_cont ul li .btn a { border:1px solid #eee; border-radius:3px; display:flex; justify-content:space-between; padding:20px; }
#additional_plan #additional_plan_cont ul li .btn a span {}
#additional_plan #additional_plan_cont ul li .btn a i { color:#ccc; font-size:85%; }


.select_btn { border:1px solid #eee; border-radius:3px; }
.select_btn select { background-color:rgba(107,239,213,0.2); font-size:125%; display:block; padding:15px; width:100%; }