@charset "UTF-8";
@import url("olympic-pc.css?240730") screen and (min-width:641px);
@import url("olympic-sp.css?240730") screen and (max-width:640px);

/*.olympic2024Top .contents:after	{display: block; content: "写真提供：フォート・キシモト";}*/

.itemSwiper	{text-align: center;}
.localTop	{background-color: #dd5641;}
.secMovie	{position: relative; background-color: #000000;}
.secMovie .movieArea	{margin-bottom: 1.0em;}
.bannerArea .unit2Lg .col a	{display: block; position: relative; color: #ffffff; background: #c8171c url("../../../img/olympic/tokyo2020/bg.png") repeat center top; text-align: center; text-decoration: none; overflow: hidden;}
.bannerArea .unit2Lg .col a:before	{display: block; content: ""; position: absolute; top: 50%; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 510px 510px; border-color: transparent transparent rgba(0,0,0,0.5) transparent; margin-top: -255px; z-index: 0;}
.bannerArea .unit2Lg .col a:after	{display: block; content: ""; position: absolute; top: 50%; left: -100%; width: 0; height: 0; border-style: solid; border-width: 510px 510px 0 0; border-color: rgba(0,0,0,0.5) transparent transparent transparent; margin-top: -255px; z-index: 0; -webkit-transition: all 0.25s; -moz-transition: all 0.25s; -ms-transition: all 0.25s; -o-transition: all 0.25s; transition: all 0.25s;}
.bannerArea .unit2Lg .col a:hover:after	{left: 0;}
.bannerArea .unit2Lg .col a em	{position: relative; z-index: 1;}
body:not(.olympic2024Top) h3.ttlTop{padding: 1.5em 0; background: rgb(180,30,38); background: linear-gradient(135deg, rgba(180,30,38,1) 0%, rgba(221,86,65,1) 50%, rgba(180,30,38,1) 100%);}
body:not(.olympic2024Top) h5.ttlTop{margin: 1.0em 0/* 0.5em*/; color: #333333;}
body:not(.olympic2024Top) h5.ttlTop em{color: #dd5641;}
.secGallery .ttlTop, .secAthletes .ttlTop{color: #ffffff;}
.ttlTop{line-height: 1.0;}
.ttlTop em{color: #ffffff; font-family: "Josefin Sans", sans-serif;}
.olympic2024Top .secNews .ttlTop em{color: #dd5641;}
.olympic2024Top .secTimetable	{background-color: #dd5641;}
.olympic2024Top .secGallery	{background-color: #3f3b3b;}
.olympic2024Top .secAthletes	{background-color: #b41e26;}
.buttonBasic a	{display: flex; align-items: center; justify-content: center; width: max-content; height: 50px; margin: 0 auto;}
.buttonBasic a	{position: relative; text-align: center; text-decoration: none; overflow: hidden;}
.buttonBasic a:before	{display: block; content: "→"; position: absolute; top: 0; right: -25px; width: 50px; height: 50px; line-height: 50px; background-color: rgba(0,0,0,1.0); border-radius: 25px; font-weight: bold; text-align: left;}
.buttonBasic a:hover:before	{color: #dd5641; z-index: 1;}
.buttonBasic a:after	{display: block; content: ""; position: absolute; top: 0; right: -100%; width: 100%; height: 50px;background-color: rgba(0,0,0,1.0); transition: all 0.25s;}
.buttonBasic a:hover:after	{right: 0;}

/*.yyc-hou, .yyc-min, .yyc-sec	{display: none;}*/
.contents .itemTab ul li	{color: #ffffff; background-color: #3f3b3b;}
.olympic2024Top .secAthletes .itemTab ul li, .olympic2024Athletes .itemTab ul li	{background-color: #dd5641;}
.olympic2024Top .secTimetable .itemTab ul li.active, .olympic2024Timetable .itemTab ul li.active	{color: #ffffff; background-color: #b41e26; font-weight: bold;}
.olympic2024Top .secAthletes .itemTab ul li.active, .olympic2024Athletes .itemTab ul li.active	{color: #b41e26; background-color: #ffffff; font-weight: bold;}
.olympic2024Athletes .itemTab ul li.active	{color: #ffffff; background-color: #b41e26;}
.olympic2024Top .itemTab ul li.disable	{color: #333333; background-color: #a7a7a7;}
.itemTab.timetable ul li em	{font-family: "Josefin Sans", sans-serif; font-weight: bold;}

.listAthletes .event, .listTimetable .day	{display: none;}
.listAthletes .event.active, .listTimetable .day.active	{display: block;}
.listAthletes .event > strong	{display: block; margin-top: 20px; color: #ffffff; text-align: center;}
.olympic2024Athletes .listAthletes .event > strong	{color: #333333;}
.listAthletes .event > strong:nth-of-type(n + 2)	{margin-top: 30px; padding-top: 30px; border-top: 1px solid rgba(0,0,0,0.5)}
.listAthletes .event > strong span	{display: inline-block; margin-bottom: 0.5em; border-bottom: 5px solid #dd5641; line-height: 1.2;}

.olympic2024Top .buttonMore, .olympic2024Athletes .buttonMore	{margin-top: 20px;}
.buttonBasic	{text-align: center;}
.buttonBasic.a	{position: relative; transition: all 0.25s; overflow: hidden;}
.buttonBasic.sRed a	{color: #ffffff; background-color: #dd5641;}
.buttonBasic.white a	{color: #dd5641; background-color: #ffffff;}
.buttonBasic a em	{display: block; position: relative; z-index: 1;}
.buttonBasic a strong	{font-family: "Josefin Sans", sans-serif;}
.secUniform > div img	{display: block; width: 100%; vertical-align: top;}
.secUniform .col p strong	{display: inline-block; margin-bottom: 0.5em; padding: 0 2.0em; background-color: #dd5641; clip-path: polygon(calc(100% - 1.5em) 0%, 100% 50%, calc(100% - 1.5em) 100%, 0% 100%, 1.5em 50%, 0% 0%);}
.listTimetable .day > .tableWrap table	{border-top: none;}
.listTimetable .day > .tableWrap table thead th	{color: #ffffff; background-color: #b41e26;}
.listTimetable .day > .tableWrap table thead.morning th:before	{content: "\f185";}
.listTimetable .day > .tableWrap table thead + tbody th	{color: #ffffff; background-color: #3f3b3b;  line-height: 1.2;}
.listTimetable .day > .tableWrap table thead.afternoon th:before	{content: "\f185";}
.listTimetable .day > .tableWrap table thead.evening th:before	{content: "\f186";}
.listTimetable table.close tbody	{display: none;}
.listTimetable table tbody td	{background-color: #ffffff;}
.listTimetable table tbody tr:nth-child(even) td	{background-color: #eeeeee;}
.listTimetable table tbody tr > *:nth-of-type(-n+2)	{text-align: center;}
.listTimetable table tbody td span	{display: inline-block; margin-right: 1.0em;}
.listTimetable table tbody td span:last-child	{margin-right: 0;}
.listTimetable table tbody td span img	{display: inline-block; width: 36px; margin-right: 0.5em; border: 1px solid #c7c7c7; border-radius: 18px; overflow: hidden; text-align: center; vertical-align: middle;}
.listTimetable table tbody td .snsCp	{display: block; width: 30px; height: 30px; line-height: 30px; margin: 0 auto; text-decoration: none; overflow: hidden;}
.listTimetable table tbody td .snsCp:before	{display: block; content: ""; height: 30px; line-height: 30px; background: #dd5641 url("../../../img/icon-ale.png")no-repeat center 4px; background-size: 20px; border-radius: 15px; font-family: fontAwesome; text-align: center; overflow: hidden; transition: all 0.25s;}
.listTimetable table tbody td .snsCp:hover:before	{transform: rotate(360deg)}

.listAthletes ul li a	{display: block; color: #ffffff; text-align: center; text-decoration: none;}
.olympic2024Athletes .listAthletes ul li a	{color: #333333;;}
.listAthletes ul li strong	{display: block;}
.listAthletes ul li em	{display: block; font-family: 'Josefin Sans', sans-serif; font-size: 14px;}
.listAthletes ul li p	{padding-bottom: 10px;}


body.olympic2024Top	{position: relative}
.itemInfo	{position: fixed; bottom: 0; left: 0; width: 100%;  z-index: 99;}
.itemInfo:before	{display: block; position: absolute; content: ""; bottom: 0; left: 0; width: 100%; height:100%; background-color: rgba(0,0,0,0.85); z-index: 99; opacity: 0.75;}
.itemInfo .rowLg	{position: relative;z-index: 100;}
.listSns	{text-align: center;}
.listSns ul li	{display: inline-block; width: 30px; height: 30px; margin-left: 10px;}
.listSns ul li:first-child	{margin-left: 0;;}
.listSns ul li a	{display: block; height: 30px; color: #ffffff; border-radius: 15px; font-size: 14px; text-decoration: none; overflow: hidden;}
.listSns ul li a:before	{display: block; height: 30px; line-height: 30px; font-family: fontAwesome; text-align: center;}
.listSns ul li.iconInstagram a	{background-color: #cf2e92;}
.listSns ul li.iconInstagram a:before	{content: "\f16d";}
.listSns ul li.iconTwitter a	{background-color: #000000;}
.listSns ul li.iconTwitter a:before	{content: ""; background: transparent url("../../../img/icon-x.png") no-repeat center center; background-size: 20px;}
.listSns ul li.iconFacebook a	{background-color: #1877f2;}
.listSns ul li.iconFacebook a:before	{content: "\f230";}
.listSns ul li.iconofficial a	{background-color: #c8171c;}
.listSns ul li.iconofficial a:before	{content: "\f26c";}
.listSns ul li.iconBlog a	{background-color: #333333;}
.listSns ul li.iconBlog a:before	{content: "\f044";}
.bottomItem strong{display: block; margin-bottom: 0.75em;  color: #ffffff; text-align: center;}
.bottomItem strong em	{display: block; font-family: 'Josefin Sans', sans-serif;line-height: 1.2;}
.snsArea	{margin-bottom: 40px; text-align: center;;}
.twitter-timeline{margin-right: auto; margin-left: auto;}
.snsArea.facebook strong	{color: #1877f2;}
/*.delegation	{ background-color: #eeeeee; text-align: center;}
.delegation a	{text-decoration: none;}
.delegation p	{display: inline-block; margin-top: 40px; padding: 10px 20px; color: #ffffff; background-color: #c8171c;}
.delegation a:hover p	{background-color: #961115;}*/
.secAthletes .kanji	{position: relative; margin-top: 1.5em; text-align: center;}
.secAthletes .kanji:before	{content: "オリンピックで掲げるテーマを漢字1文字で！"; color: #ffffff; background-color: #dd5641; font-weight: bold; text-align: center;}
.secAthletes .kanji .field	{text-align: left;}
.secAthletes .kanji .field > .col:first-child	{display: flex; align-items: center; justify-content: center; color: #ffffff; background-color: #dd5641; font-weight: bold;}
.secAthletes .profile table	{width: calc(100% + 5px); margin-top: 20px; border-collapse: separate;  border-top: none; border-spacing: 5px;}
.secAthletes .profile table th, .secAthletes  .profile table td	{ padding: 10px; background-color: rgba(221,86,65,0.25); border: none; font-size: 14px; }
.secAthletes  .profile table td	{ background-color: #eeeeee; }

.secAthletes .profile table + p	{padding: 0;}
.secAthletes .profile table + p a	{color: #333333; font-weight: bold; text-decoration: none;}
.secAthletes .profile table + p a:before	{display: inline-block; content: "\f138"; margin-right: 0.25em; color: #c8171c; font-family: fontAwesome; font-weight: normal;}
.secAthletes .profile table + p a:hover	{color: #c8171c;}
.secAthletes .secMessageg, .secAthletes .snsArea{margin-top: 1.5em;}


.secInterview	{position: relative; background-color: rgba(0,0,0,1);}
.secInterview:before	{display: block; content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent url("../../../img/olympic/tokyo2020/bg.png") repeat center top; z-index: 0;}
.secInterview .localMain	{position: relative; z-index: 1;}
.secInterview .ttlTop span	{color: #ffffff;}
.secInterview .field	{color: #ffffff; background-color: #000000; border: 1px solid rgba(255,255,255,0.5);}
.secInterview p	{padding: 1.0em 1.0em 0.75em;; line-height: 1.4; text-align: center;}
.secInterview p b	{display: block; margin-top: 5px;}
.secInterview a	{display: inline-block; margin-bottom: 2.0em; padding: 10px 20px;; color: #ffffff; background-color: #c8171c; border-radius: 50px; font-size: 14px; font-weight: bold; text-decoration: none; line-height: 1.0;}
.secInterview a:hover, .secInterview a:active	{color: #c8171c; background-color: #ffffff;}
.secInterview a:before	{display: inline-block; content: "\f16a"; margin-right: 5px; font-family: fontAwesome; font-weight: normal;}

.secInterview .medalist .field	{position: relative;}
.secInterview .medalist .field:before	{display: block; content: ""; position: absolute;}


.secWinners	{position: relative; background: rgb(180,30,38);
background: linear-gradient(90deg, rgba(180,30,38,1) 0%, rgba(203,62,53,1) 30%, rgba(221,86,65,1) 70%, rgba(180,30,38,1) 100%);}
.secWinners .slideAthletes .swiper-slide	{padding-bottom: 0.75em; background-color: #ffffff; border-radius: 5px; font-size: 0.85em; font-weight: bold; line-height: 1.4; overflow: hidden;}
.secWinners .slideAthletes .swiper-slide a	{display: block; color: #333333; font-weight: bold; text-decoration: none;}
.secWinners .slideAthletes .swiper-slide img	{display: block; margin-bottom: 0.7em;}
/*.swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled{display: none;}*/
.medal li	{display: inline-block; margin-left: 1.0em; vertical-align: middle;}
.medal li:first-child	{margin-left: 0;}
.medal li:before	{display: inline-block; width: 30px; height: 30px; line-height: 30px; margin-right: 0.15em; border-radius: 15px; text-align: center; vertical-align: 2px;}
.medal .gold:before	{content:"金"; color: #333333; background-color: #dbb400;}
.medal .silver:before	{content:"銀"; color: #333333; background-color: #c0c0c0;}
.medal .bronze:before	{content:"銅"; color: #ffffff; background-color: #c47222;}
.medal .winner:before	{content:"入賞"; width: auto; height: 24px; padding: 0 10px; line-height: 24px; color: #333333; background-color: #ffffff; border-radius: 4px;}
.medal li em	{font-family: "Josefin Sans", sans-serif; font-size: 20px; font-weight: bold;}
.medal li em:before	{display: inline-block; content: "×"; font-family: "メイリオ", Meiryo,"HiraKakuPro-W3","ヒラギノ角ゴ Pro W3","Helvetica Neue", Helvetica, "Arial", "ＭＳ Ｐゴシック",sans-serif; font-weight: normal; font-size: 0.85em;}
.modaalField	{display: none;}
.modaal-container	{max-width: 800px !important; border-radius: 10px !important; overflow: hidden !important;}
.modaal-content-container	{padding: 0 !important;}
.modaal-content-container .field	{padding: 30px;}
.modaal-content-container strong	{display: block; padding: 15px 0; color: #ffffff; background-color: #1abc9c; text-align: center;}
.modaal-content-container b	{display: block; margin-bottom: 10px; padding-bottom: 10px; color: #333333; border-bottom: 1px solid #333333;}
.modaal-content-container em	{font-weight: bold;}
.modaal-content-container em .fa	{margin-right: 0.5em; font-weight: normal;}
.modaal-content-container p	{margin-bottom: 1.0em;}
.modaal-content-container > p:last-child	{margin-bottom: 0;}

.secMessage .entry{margin-bottom: 2.5em; border: 2px solid #000000; text-align: center;}
.secMessage .entry:before{display: flex; content: "応募方法"; align-items: center; justify-content: center;padding: 1.0em; color: #ffffff; background-color: #000000; font-weight: bold;}
.secMessage .entry p{padding-bottom: 0;}
.secMessage .entry .entryForm a{display: inline-block; padding: 1.0em 3.0em; color: #ffffff; background-color: #e50112; border-radius: 5px; font-weight: bold;text-decoration: none; line-height: 1.0;}
.secMessage .entry .entryForm a:after{display: inline-block; content: "\f054"; margin-left: 0.25em; font-family: fontAwesome; font-weight: normal;}
.secMessage .rowLg{margin-bottom: 20px;}
.secMessage .itemSearch{display: table;}
.secMessage .itemSearch p{display: table-cell; padding: 0;}
.secMessage .itemSearch p input{ height: 30px; line-height: 30px; padding: 0;}
.secMessage .itemSearch p button{ height: 30px; line-height: 30px; padding: 0 20px; color: #ffffff; background-color: #000000; border: none; outline: none; appearance: none;}
.secMessage .cp{margin-bottom: 1.5em;}
.secMessage .cp a{color: #ffffff; background-color: #000000; text-decoration: none;}
.secMessage .cp a > b{background-color: #c8171c;}
.secMessage .cp a > p:after{display: inline-block; content: "\f138"; margin-left: 0.25em; font-family: fontAwesome;}
.secMessage .listMessage li{margin-bottom: 2.0em;}
.secMessage .listMessage li .field{border-top: 1px solid #dd5641; border-right: 1px solid #dd5641; border-left: 1px solid #dd5641; border-radius: 5px; overflow: hidden;}
.secMessage .listMessage li .field > strong{display: block; padding: 0.5em; color: #ffffff; background-color: #dd5641;}
.secMessage .listMessage li .field > span{display: block; padding: 0.5em; background-color: #eeeeee;}
.secMessage .listMessage li .field > p{padding: 1.0em; background-color: #ffffff; border-bottom: 1px solid #dd5641; font-weight: bold;}
.secMessage .listMessage li .nickname{position: relative; padding-top: 20px; color: #333333; font-weight: bold;}
.secMessage .listMessage li .nickname:before{display: block; content: ""; position: absolute; top: -1px; left: 20px; width: 0; height: 0; border-style: solid; border-width: 22px 22px 0 0; border-color: #dd5641 transparent transparent transparent;}
.secMessage .listMessage li .nickname:after{display: block; content: ""; position: absolute; top: -1px; left: 21px; width: 0; height: 0; border-style: solid; border-width: 20px 20px 0 0; border-color: #ffffff transparent transparent transparent;}
.secMessage .listMessage li .nickname em:before{display: inline-block; content: ""; width: 30px; height: 30px; margin-right: 0.25em; background: #dd5641 url("../../../img/jch/107/icon-ale.png") no-repeat center center; background-size: 20px; border-radius: 15px; vertical-align: -8px;}
.secMessage .transitionNum li strong{background-color:#dd5641; border-color: #dd5641;}
.secMessage .listMessage li.viewMore{width: 100%; text-align: center; box-sizing: border-box;}
.secMessage .listMessage li.viewMore ~ li{display: none;}
.secMessage .listMessage li.viewMore span{display: inline-block; padding: 0.5em 1.0em; background-color: #eeeeee; border-radius: 5.0em; font-weight: bold; cursor: pointer;}
.secMessage .listMessage li.viewMore span:after{display: inline-block; content: "\f063"; margin-left: 0.5em; color: #dd5641; font-family: fontAwesome; font-weight: normal;}
.secGuide .localMain .col3 li a{display: block; color: #333333; background-color: rgba(221,86,65,0.15); border-radius: 5px; text-decoration: none; overflow: hidden;}
.secGuide .localMain .col3 li a p{padding: 1.0em; line-height: 1.4;}
